diff --git a/hackathon/Fam.ai (Novathon)/README.md b/hackathon/Fam.ai (Novathon)/README.md new file mode 100644 index 00000000..004c2e3c --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/README.md @@ -0,0 +1,136 @@ + +# Fam.ai - Gen AI-Based Medical Information Management System + +### Project by **Team Lethimcode** + +Fam.ai is a next-generation **AI-powered medical information management system**, secured using **blockchain technology**. The project utilizes **LLMware** and **RAG (Retrieval-Augmented Generation)** to enable seamless communication between users and the platform, ensuring efficient data storage, retrieval, and management. + +--- + +
+ Ethereum Logo + Polygon Logo + llmware +
+ +--- + +## 🚀 **Key Features** + +1. **Save Medical Prescription Summaries** + Store and retrieve summaries of medical prescriptions for quick access and better healthcare management. + +2. **Cancer Detection from Brain MRI** + Advanced AI capabilities help detect cancerous patterns in Brain MRI scans. + +3. **Generate Comprehensive Health Reports** + Fam.ai provides an overall health report based on user inputs and medical history. + +--- + +## 🌟 **Use Cases** + +1. **Tool for Doctors** + A powerful assistant for doctors to manage patient records and improve diagnostic accuracy. + +2. **Insurance Company Scoring** + Simplifies risk evaluation for insurance companies with precise medical insights. + +3. **Family Healthcare Management** + Ensures secure storage and easy sharing of medical records for the entire family. + +--- + +## 💻 **Tech Stack** + +- **Backend:** Python +- **Frontend:** React, Framer Motion, GSAP +- **AI Integration:** LLMware, RAG +- **Blockchain:** Solidity + +--- + +## 🛠️ **How to Run the Project** + +### **Frontend** + +1. Navigate to the frontend directory: + ```bash + cd frontend + ``` +2. Install dependencies: + ```bash + npm i + ``` +3. Start the development server: + ```bash + npm run dev + ``` + +--- + +### **Backend** + +1. Navigate to the backend directory: + ```bash + cd backend + ``` +2. Install Python dependencies: + ```bash + pip install -r requirements.txt + ``` +3. Initialize the blockchain environment: + ```bash + mkdir blockchain + cd blockchain + brownie init + ``` +4. Add the following contracts to the `contracts` folder: + - **NFTmint.sol** + - **FundMe.sol** +5. Configure the environment by adding your private key and Web3 Infura Project ID in a `.env` file. + +6. Compile the contracts: + ```bash + brownie compile + ``` +7. Add the custom Polygon network: + ```bash + brownie networks add custom polygon host=https://rpc.cardona.zkevm-rpc.com chainid=2442 + ``` +8. Return to the backend folder and start the backend server: + ```bash + cd .. + python main.py + ``` + +--- + +### **LLMware Integration** + +#### **Run with High Response Time (Cloud)** +Use the following Kaggle notebook for optimal LLMware performance: +[LLMware Notebook on Kaggle](https://www.kaggle.com/code/idhanush/notebook46fcbc644e) + +#### **Run Locally** +1. Download the notebook to your computer. +2. Open and execute the notebook using Jupyter Notebook locally. + +--- + +## ✨ **Contributing** + +We welcome contributions to enhance Fam.ai! +Feel free to fork the repository, open issues, or submit pull requests. + +--- + +## 📄 **License** + +This project is licensed under the [MIT License](LICENSE). + +--- + +## 🧑‍💻 **Team Members** + +We are **Team Lethimcode**, passionate about revolutionizing healthcare with the power of AI and blockchain. 🚀 diff --git a/hackathon/Fam.ai (Novathon)/ai/README.md b/hackathon/Fam.ai (Novathon)/ai/README.md new file mode 100644 index 00000000..265a5b7a --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/ai/README.md @@ -0,0 +1 @@ +# FAM_AI_Novathon2024 - ai \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/ai/brain_cancer_detector.py b/hackathon/Fam.ai (Novathon)/ai/brain_cancer_detector.py new file mode 100644 index 00000000..c385f7db --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/ai/brain_cancer_detector.py @@ -0,0 +1,42 @@ +from tensorflow.keras.models import load_model +import cv2 as cv +import imutils + +model = load_model('brain_tumor_detector.h5') +mriImage = cv.imread('notumor.jpg', 1) + +def predictTumor(image_path): + image = cv.imread(image_path, 1) + gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) + gray = cv.GaussianBlur(gray, (5, 5), 0) + + # Threshold the image, then perform a series of erosions + + # dilations to remove any small regions of noise + thresh = cv.threshold(gray, 45, 255, cv.THRESH_BINARY)[1] + thresh = cv.erode(thresh, None, iterations=2) + thresh = cv.dilate(thresh, None, iterations=2) + + # Find contours in thresholded image, then grab the largest one + cnts = cv.findContours(thresh.copy(), cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE) + cnts = imutils.grab_contours(cnts) + c = max(cnts, key=cv.contourArea) + + # Find the extreme points + extLeft = tuple(c[c[:, :, 0].argmin()][0]) + extRight = tuple(c[c[:, :, 0].argmax()][0]) + extTop = tuple(c[c[:, :, 1].argmin()][0]) + extBot = tuple(c[c[:, :, 1].argmax()][0]) + + # crop new image out of the original image using the four extreme points (left, right, top, bottom) + new_image = image[extTop[1]:extBot[1], extLeft[0]:extRight[0]] + + image = cv.resize(new_image, dsize=(240, 240), interpolation=cv.INTER_CUBIC) + image = image / 255. + + image = image.reshape((1, 240, 240, 3)) + + res = model.predict(image) + + return res + +# print(predictTumor("notumor.jpg")) \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/ai/brain_tumor_detector.h5 b/hackathon/Fam.ai (Novathon)/ai/brain_tumor_detector.h5 new file mode 100644 index 00000000..edce6d33 Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/ai/brain_tumor_detector.h5 differ diff --git a/hackathon/Fam.ai (Novathon)/ai/chatbot.py b/hackathon/Fam.ai (Novathon)/ai/chatbot.py new file mode 100644 index 00000000..d5c287e2 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/ai/chatbot.py @@ -0,0 +1,38 @@ +from typing import Union +from llmware.models import ModelCatalog + +context = '''User: Hi, can you help me keep track of the projects I'm working on? +Assistant: Of course! Let me know about your projects, and I’ll create a record for them. + +User: Great! I’m currently working on a decentralized voting system using blockchain and smart contracts. +Assistant: Got it. Could you provide more details, like the tech stack or any challenges you’re facing? + +User: Sure! The project is called VoteChain. I’m using Ethereum for smart contracts with Solidity, Python for the backend using FastAPI, and a React.js frontend. The challenge is ensuring voter privacy while maintaining transparency. +Assistant: Noted! I’ll add VoteChain to your project list, including the tech stack and the voter privacy challenge. + +User: Also, I’m collaborating with a friend named Divya on this. She’s handling the UI/UX design and is really creative. +Assistant: Nice! I’ll note that Divya is collaborating with you on VoteChain and is responsible for UI/UX design. Anything else? + +User: No, that’s all for now. Thanks! +Assistant: You’re welcome! Let me summarize for you: + +Project Name: VoteChain +Description: A decentralized voting system using blockchain and smart contracts. +Tech Stack: Ethereum (Solidity), Python (FastAPI), React.js. +Key Challenge: Ensuring voter privacy while maintaining transparency. +Collaboration: Divya (UI/UX design). +Does this look good to you? + +User: Perfect!''' + +chat_bot = ModelCatalog().load_model("bartowski/Meta-Llama-3-8B-Instruct-GGUF") +def get_response(prompt:str, context:Union[None, str]=""): + response = chat_bot.inference(prompt, add_context=context) + return response + +print(get_response(prompt="What do you know about the user ?", context=context)) + + + + + diff --git a/hackathon/Fam.ai (Novathon)/ai/demo-rx.png b/hackathon/Fam.ai (Novathon)/ai/demo-rx.png new file mode 100644 index 00000000..1d9115c6 Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/ai/demo-rx.png differ diff --git a/hackathon/Fam.ai (Novathon)/ai/notumor.jpg b/hackathon/Fam.ai (Novathon)/ai/notumor.jpg new file mode 100644 index 00000000..b96ea32e Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/ai/notumor.jpg differ diff --git a/hackathon/Fam.ai (Novathon)/ai/test.py b/hackathon/Fam.ai (Novathon)/ai/test.py new file mode 100644 index 00000000..ce47b771 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/ai/test.py @@ -0,0 +1 @@ +print("hello") \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/ai/tumor.jpg b/hackathon/Fam.ai (Novathon)/ai/tumor.jpg new file mode 100644 index 00000000..47c298ba Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/ai/tumor.jpg differ diff --git a/hackathon/Fam.ai (Novathon)/ai/vision.py b/hackathon/Fam.ai (Novathon)/ai/vision.py new file mode 100644 index 00000000..03c16181 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/ai/vision.py @@ -0,0 +1,19 @@ +import google.generativeai as genai +from PIL import Image +import dotenv +import os +dotenv.load_dotenv() +genai.configure(api_key=os.environ.get('GOOGLE_AI_API')) +model = genai.GenerativeModel(model_name="gemini-1.5-flash") +def ask_ai(img, prompt): + response = model.generate_content([ + prompt, + img]) + return response.text + +pil_image = Image.open('demo-rx.png') +classifier_prompt = "Classify the image. 1 for MRI and 2 for not MRI" +ocr_prompt = "Provide the summary from the medical prescription" +res = ask_ai(pil_image, ocr_prompt) +print(res) + diff --git a/hackathon/Fam.ai (Novathon)/backend/README.md b/hackathon/Fam.ai (Novathon)/backend/README.md new file mode 100644 index 00000000..3d505665 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/README.md @@ -0,0 +1 @@ +# FAM_AI_Novathon2024 - backend \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/ai_functions/__init__.py b/hackathon/Fam.ai (Novathon)/backend/ai_functions/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/hackathon/Fam.ai (Novathon)/backend/ai_functions/__pycache__/__init__.cpython-310.pyc b/hackathon/Fam.ai (Novathon)/backend/ai_functions/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 00000000..b334a428 Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/backend/ai_functions/__pycache__/__init__.cpython-310.pyc differ diff --git a/hackathon/Fam.ai (Novathon)/backend/ai_functions/__pycache__/detector.cpython-310.pyc b/hackathon/Fam.ai (Novathon)/backend/ai_functions/__pycache__/detector.cpython-310.pyc new file mode 100644 index 00000000..bcb1eeb2 Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/backend/ai_functions/__pycache__/detector.cpython-310.pyc differ diff --git a/hackathon/Fam.ai (Novathon)/backend/ai_functions/__pycache__/llmware_utils.cpython-310.pyc b/hackathon/Fam.ai (Novathon)/backend/ai_functions/__pycache__/llmware_utils.cpython-310.pyc new file mode 100644 index 00000000..f6abc591 Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/backend/ai_functions/__pycache__/llmware_utils.cpython-310.pyc differ diff --git a/hackathon/Fam.ai (Novathon)/backend/ai_functions/__pycache__/vision_ai.cpython-310.pyc b/hackathon/Fam.ai (Novathon)/backend/ai_functions/__pycache__/vision_ai.cpython-310.pyc new file mode 100644 index 00000000..6433b3bb Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/backend/ai_functions/__pycache__/vision_ai.cpython-310.pyc differ diff --git a/hackathon/Fam.ai (Novathon)/backend/ai_functions/brain_tumor_detector.h5 b/hackathon/Fam.ai (Novathon)/backend/ai_functions/brain_tumor_detector.h5 new file mode 100644 index 00000000..edce6d33 Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/backend/ai_functions/brain_tumor_detector.h5 differ diff --git a/hackathon/Fam.ai (Novathon)/backend/ai_functions/detector.py b/hackathon/Fam.ai (Novathon)/backend/ai_functions/detector.py new file mode 100644 index 00000000..d9558e68 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/ai_functions/detector.py @@ -0,0 +1,42 @@ +from tensorflow.keras.models import load_model +import cv2 as cv +import imutils +model = load_model('ai_functions/brain_tumor_detector.h5') + + + +def predictTumor(image_path): + image = cv.imread(image_path, 1) + gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) + gray = cv.GaussianBlur(gray, (5, 5), 0) + + # Threshold the image, then perform a series of erosions + + # dilations to remove any small regions of noise + thresh = cv.threshold(gray, 45, 255, cv.THRESH_BINARY)[1] + thresh = cv.erode(thresh, None, iterations=2) + thresh = cv.dilate(thresh, None, iterations=2) + + # Find contours in thresholded image, then grab the largest one + cnts = cv.findContours(thresh.copy(), cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE) + cnts = imutils.grab_contours(cnts) + c = max(cnts, key=cv.contourArea) + + # Find the extreme points + extLeft = tuple(c[c[:, :, 0].argmin()][0]) + extRight = tuple(c[c[:, :, 0].argmax()][0]) + extTop = tuple(c[c[:, :, 1].argmin()][0]) + extBot = tuple(c[c[:, :, 1].argmax()][0]) + + # crop new image out of the original image using the four extreme points (left, right, top, bottom) + new_image = image[extTop[1]:extBot[1], extLeft[0]:extRight[0]] + + image = cv.resize(new_image, dsize=(240, 240), interpolation=cv.INTER_CUBIC) + image = image / 255. + + image = image.reshape((1, 240, 240, 3)) + + res = model.predict(image) + + if res < 0.5: + return False + return True diff --git a/hackathon/Fam.ai (Novathon)/backend/ai_functions/llmware_utils.py b/hackathon/Fam.ai (Novathon)/backend/ai_functions/llmware_utils.py new file mode 100644 index 00000000..7863daa7 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/ai_functions/llmware_utils.py @@ -0,0 +1,18 @@ +import requests + +from global_vars import Var + + +def get_llmware_response(prompt, context): + url = Var.kaggle_url+'chat' + print(context) + print(url) + res = requests.post(url, + json={'prompt': str(prompt), 'context': str(context)}) + print(res) + res = res.json() + if not res: + return False + print(res) + llm_response = res['llm_response'] + return llm_response diff --git a/hackathon/Fam.ai (Novathon)/backend/ai_functions/llmware_utils.py~ b/hackathon/Fam.ai (Novathon)/backend/ai_functions/llmware_utils.py~ new file mode 100644 index 00000000..d336bbe0 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/ai_functions/llmware_utils.py~ @@ -0,0 +1,19 @@ +import requests + +from global_vars import Var + + +def get_llmware_response(prompt, context): + url = Var.kaggle_url+'chat' + print(context) + print(url) + res = requests.post(url, + json={'prompt': str(prompt), 'context': str(context)}) + print(res) + res = res.json() + if not res: + return False + print(res) + res = res.get('response') + llm_response = res['llm_response'] + return llm_response diff --git a/hackathon/Fam.ai (Novathon)/backend/ai_functions/vision_ai.py b/hackathon/Fam.ai (Novathon)/backend/ai_functions/vision_ai.py new file mode 100644 index 00000000..d7a23d9a --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/ai_functions/vision_ai.py @@ -0,0 +1,18 @@ +import PIL +import google.generativeai as genai +from PIL import Image +import dotenv +import os + +dotenv.load_dotenv() +genai.configure(api_key=os.environ.get('GOOGLE_AI_API')) +model = genai.GenerativeModel(model_name="gemini-1.5-flash") +classifier_prompt = "Classify the image. 1 for MRI and 2 for not MRI" +ocr_prompt = "Provide the summary from the medical prescription" + + +def ask_ai(img: PIL.Image, prompt: str): + response = model.generate_content([ + prompt, + img]) + return response.text diff --git a/hackathon/Fam.ai (Novathon)/backend/assets/CmIjqHsQXa.jpg b/hackathon/Fam.ai (Novathon)/backend/assets/CmIjqHsQXa.jpg new file mode 100644 index 00000000..b96ea32e Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/backend/assets/CmIjqHsQXa.jpg differ diff --git a/hackathon/Fam.ai (Novathon)/backend/auth/__init__.py b/hackathon/Fam.ai (Novathon)/backend/auth/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/hackathon/Fam.ai (Novathon)/backend/auth/auth.py b/hackathon/Fam.ai (Novathon)/backend/auth/auth.py new file mode 100644 index 00000000..b27ed25f --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/auth/auth.py @@ -0,0 +1,8 @@ +from fastapi import Header, HTTPException + + +def get_address(address: str = Header(...)): + print(address) + if not address: + raise HTTPException(status_code=400, detail="Address header missing") + return address diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/api.py b/hackathon/Fam.ai (Novathon)/backend/blockchain/api.py new file mode 100644 index 00000000..77904350 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/api.py @@ -0,0 +1,140 @@ +import os +import json +import dotenv +import datetime +from PIL import Image +from web3 import Web3 +from fastapi import APIRouter +from pydantic import BaseModel +from brownie.project import get_loaded_projects +from brownie.network.account import LocalAccount +from brownie import project, network, accounts, Contract +from concurrent.futures import ThreadPoolExecutor, as_completed + +from global_vars import Var + +dotenv.load_dotenv() +bchain_router = APIRouter(tags=['bchain']) + +p = project.load('blockchain') +chain = int(input("Enter chain \n1 Polygon\n2 Etherium\n3 Continue Without Blockchain\n\nEnter your Choice:")) +sepolia_nft = "https://sepolia.etherscan.io/nft/{}/{}" +polygon_nft = "https://cardona-zkevm.polygonscan.com/nft/{}/{}" + +if chain == 1: + network.connect('polygon') + nft_url = polygon_nft + deploy_file = 'polygon_deployed_address.txt' +elif chain == 2: + network.connect('sepolia') + nft_url = sepolia_nft + deploy_file = 'sepolia_deployed_address.txt' +elif chain == 3: + Var.use_blockchain = False +else: + raise Exception("Invalid choice") + +SimpleCollectible = p.SimpleCollectible +get_loaded_projects()[0].load_config() +print(get_loaded_projects()[0]) + + +def get_account() -> LocalAccount: + return accounts.add(os.environ.get('PRIVATE_KEY')) + + +account = get_account() +print(account) + + +def get_or_deploy_contract(): + # simple_collectible = SimpleCollectible.deploy({"from": account, "gas_price": Web3.to_wei("3", "gwei")}) + if os.path.exists(deploy_file): + with open(deploy_file, 'r') as f: + contract_address = f.read().strip() + print(f"Loading existing contract at {contract_address}") + return Contract.from_abi("SimpleCollectible", contract_address, SimpleCollectible.abi) + else: + print("Deploying new contract") + contract = SimpleCollectible.deploy({"from": account, "gas_price": Web3.to_wei("4", "gwei")}) + with open(deploy_file, 'w') as f: + f.write(contract.address) + return contract + + +simple_collectible = get_or_deploy_contract() +account = get_account() + + +class PostData(BaseModel): + user_address: str + img_url: str + desc: str + + +@bchain_router.post('/upload_to_blockchain') +async def mint_certificate(post_data: PostData): + # file_hash = file_to_sha256(f'assets/{post_data.file_uid}') + client_address = post_data.user_address + uri = { + "name": f"Deep Fake Certification", + "description": post_data.desc, + "image": post_data.img_url, + # "file_hash": file_hash, + "attributes": [ + "" + ] + } + json_uri = json.dumps(uri) + tx = simple_collectible.createCollectible(json_uri, client_address, + {"from": account, "gas_price": Web3.to_wei("4", "gwei")}) + + tx.wait(1) + token_id = simple_collectible.tokenCounter() - 1 + uri = simple_collectible.tokenURI(token_id) + + nft_url_formatted = nft_url.format(simple_collectible.address, token_id) + + return { + "polygon_url": nft_url_formatted, + 'certificate_url': post_data.img_url, + 'token_id': token_id, + 'token_uri': uri + } + + +@bchain_router.get('/get_uploaded_docs/{user_address}') +async def get_user_nfts(user_address: str): + try: + user_address = Web3.to_checksum_address(user_address) + total_supply = simple_collectible.tokenCounter() + + def check_and_get_nft(token_id): + if simple_collectible.ownerOf(token_id) == user_address: + uri = simple_collectible.tokenURI(token_id) + polygon_url = nft_url.format(simple_collectible.address, token_id) + return { + "token_id": token_id, + "uri": json.loads(uri), + "polygon_url": polygon_url + } + return None + + with ThreadPoolExecutor(max_workers=10) as executor: + futures = [executor.submit(check_and_get_nft, token_id) for token_id in range(total_supply)] + user_nfts = [nft for nft in (future.result() for future in as_completed(futures)) if nft] + + return {"user_address": user_address, "nfts": user_nfts} + except Exception as e: + return {"error": f"Error getting user NFTs: {str(e)}"} + + +@bchain_router.get('/get_document_meta/{token_id}') +async def get_token_uri(token_id: int): + try: + if not simple_collectible: + return {"error": "Contract not deployed"} + uri = simple_collectible.tokenURI(token_id) + return {"token_id": token_id, "uri": json.loads(uri)} + except Exception as e: + return {"error": f"Error getting tokenURI: {str(e)}"} diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/api.py~ b/hackathon/Fam.ai (Novathon)/backend/blockchain/api.py~ new file mode 100644 index 00000000..636b09b9 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/api.py~ @@ -0,0 +1,140 @@ +import os +import json +import dotenv +import datetime +from PIL import Image +from web3 import Web3 +from fastapi import APIRouter +from pydantic import BaseModel +from brownie.project import get_loaded_projects +from brownie.network.account import LocalAccount +from brownie import project, network, accounts, Contract +from concurrent.futures import ThreadPoolExecutor, as_completed + +from global_vars import Var + +dotenv.load_dotenv() +bchain_router = APIRouter(tags=['bchain']) + +p = project.load('blockchain') +chain = int(input("Enter chain \n1 Polygon\n2 Etherium\n3 Continue Without Blockchain\n\nEnter your Choice:")) +sepolia_nft = "https://sepolia.etherscan.io/nft/{}/{}" +polygon_nft = "https://cardona-zkevm.polygonscan.com/nft/{}/{}" + +if chain == 1: + network.connect('polygon') + nft_url = polygon_nft + deploy_file = 'polygon_deployed_address.txt' +elif chain == 2: + network.connect('sepolia') + nft_url = sepolia_nft + deploy_file = 'sepolia_deployed_address.txt' +elif chain == 3: + Var.use_blockchain = False +else: + raise Exception("Invalid choice") + +SimpleCollectible = p.SimpleCollectible +get_loaded_projects()[0].load_config() +print(get_loaded_projects()[0]) + + +def get_account() -> LocalAccount: + return accounts.add(os.environ.get('PRIVATE_KEY')) + + +account = get_account() +print(account) + + +def get_or_deploy_contract(): + # simple_collectible = SimpleCollectible.deploy({"from": account, "gas_price": Web3.to_wei("3", "gwei")}) + if os.path.exists(deploy_file): + with open(deploy_file, 'r') as f: + contract_address = f.read().strip() + print(f"Loading existing contract at {contract_address}") + return Contract.from_abi("SimpleCollectible", contract_address, SimpleCollectible.abi) + else: + print("Deploying new contract") + contract = SimpleCollectible.deploy({"from": account, "gas_price": Web3.to_wei("4", "gwei")}) + with open(deploy_file, 'w') as f: + f.write(contract.address) + return contract + + +simple_collectible = get_or_deploy_contract() +account = get_account() + + +class PostData(BaseModel): + user_address: str + img_url: str + desc: str + + +@bchain_router.post('/mint_certificate') +async def mint_certificate(post_data: PostData): + # file_hash = file_to_sha256(f'assets/{post_data.file_uid}') + client_address = post_data.user_address + uri = { + "name": f"Deep Fake Certification", + "description": post_data.desc, + "image": post_data.img_url, + # "file_hash": file_hash, + "attributes": [ + "" + ] + } + json_uri = json.dumps(uri) + tx = simple_collectible.createCollectible(json_uri, client_address, + {"from": account, "gas_price": Web3.to_wei("4", "gwei")}) + + tx.wait(1) + token_id = simple_collectible.tokenCounter() - 1 + uri = simple_collectible.tokenURI(token_id) + + nft_url_formatted = nft_url.format(simple_collectible.address, token_id) + + return { + "polygon_url": nft_url_formatted, + 'certificate_url': post_data.img_url, + 'token_id': token_id, + 'token_uri': uri + } + + +@bchain_router.get('/cert/{user_address}') +async def get_user_nfts(user_address: str): + try: + user_address = Web3.to_checksum_address(user_address) + total_supply = simple_collectible.tokenCounter() + + def check_and_get_nft(token_id): + if simple_collectible.ownerOf(token_id) == user_address: + uri = simple_collectible.tokenURI(token_id) + polygon_url = nft_url.format(simple_collectible.address, token_id) + return { + "token_id": token_id, + "uri": json.loads(uri), + "polygon_url": polygon_url + } + return None + + with ThreadPoolExecutor(max_workers=10) as executor: + futures = [executor.submit(check_and_get_nft, token_id) for token_id in range(total_supply)] + user_nfts = [nft for nft in (future.result() for future in as_completed(futures)) if nft] + + return {"user_address": user_address, "nfts": user_nfts} + except Exception as e: + return {"error": f"Error getting user NFTs: {str(e)}"} + + +@bchain_router.get('/get_token_uri/{token_id}') +async def get_token_uri(token_id: int): + try: + if not simple_collectible: + return {"error": "Contract not deployed"} + uri = simple_collectible.tokenURI(token_id) + return {"token_id": token_id, "uri": json.loads(uri)} + except Exception as e: + return {"error": f"Error getting tokenURI: {str(e)}"} diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/brownie-config.yaml b/hackathon/Fam.ai (Novathon)/backend/blockchain/brownie-config.yaml new file mode 100644 index 00000000..e0fe0151 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/brownie-config.yaml @@ -0,0 +1,12 @@ +dotenv: .env +wallets: + from_key: ${PRIVATE_KEY} +dependencies: + # - @ + - smartcontractkit/chainlink-brownie-contracts@1.1.0 + - OpenZeppelin/openzeppelin-contracts@3.4.0 +compiler: + solc: + remappings: + - "@chainlink=smartcontractkit/chainlink-brownie-contracts@1.1.0" + - "@openzeppelin=OpenZeppelin/openzeppelin-contracts@3.4.0" \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/FundMe.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/FundMe.json new file mode 100644 index 00000000..8e3a98f0 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/FundMe.json @@ -0,0 +1,5774 @@ +{ + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "addressToFund", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "fund", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "funders", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "ethAmt", + "type": "uint256" + } + ], + "name": "getPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "withdraw", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "allSourcePaths": { + "0": "C:/Users/dhanu/.brownie/packages/smartcontractkit/chainlink-brownie-contracts@1.1.0/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol", + "1": "C:/Users/dhanu/.brownie/packages/smartcontractkit/chainlink-brownie-contracts@1.1.0/contracts/src/v0.6/vendor/SafeMathChainlink.sol", + "2": "contracts/FundMe.sol" + }, + "ast": { + "absolutePath": "contracts/FundMe.sol", + "exportedSymbols": { + "FundMe": [ + 115 + ] + }, + "id": 116, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.6", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "32:23:2" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/smartcontractkit/chainlink-brownie-contracts@1.1.0/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol", + "file": "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol", + "id": 2, + "nodeType": "ImportDirective", + "scope": 116, + "sourceUnit": 162, + "src": "56:76:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/smartcontractkit/chainlink-brownie-contracts@1.1.0/contracts/src/v0.6/vendor/SafeMathChainlink.sol", + "file": "@chainlink/contracts/src/v0.6/vendor/SafeMathChainlink.sol", + "id": 3, + "nodeType": "ImportDirective", + "scope": 116, + "sourceUnit": 301, + "src": "133:68:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 115, + "linearizedBaseContracts": [ + 115 + ], + "name": "FundMe", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 6, + "libraryName": { + "contractScope": null, + "id": 4, + "name": "SafeMathChainlink", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 300, + "src": "231:17:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMathChainlink_$300", + "typeString": "library SafeMathChainlink" + } + }, + "nodeType": "UsingForDirective", + "src": "225:36:2", + "typeName": { + "id": 5, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "253:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "functionSelector": "3871d25b", + "id": 10, + "mutability": "mutable", + "name": "addressToFund", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 115, + "src": "266:48:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 9, + "keyType": { + "id": 7, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "274:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "266:27:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 8, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "285:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "8da5cb5b", + "id": 12, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 115, + "src": "320:20:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 11, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "320:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "dc0d3dff", + "id": 15, + "mutability": "mutable", + "name": "funders", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 115, + "src": "346:24:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 13, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "346:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 14, + "length": null, + "nodeType": "ArrayTypeName", + "src": "346:9:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 26, + "nodeType": "Block", + "src": "398:44:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 24, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 18, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 12, + "src": "408:5:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 21, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "424:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 22, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "424:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 20, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "416:8:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 19, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "416:8:2", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 23, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "416:19:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "408:27:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 25, + "nodeType": "ExpressionStatement", + "src": "408:27:2" + } + ] + }, + "documentation": null, + "id": 27, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 16, + "nodeType": "ParameterList", + "parameters": [], + "src": "388:2:2" + }, + "returnParameters": { + "id": 17, + "nodeType": "ParameterList", + "parameters": [], + "src": "398:0:2" + }, + "scope": 115, + "src": "377:65:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 62, + "nodeType": "Block", + "src": "479:191:2", + "statements": [ + { + "assignments": [ + 31 + ], + "declarations": [ + { + "constant": false, + "id": 31, + "mutability": "mutable", + "name": "minimumUSD", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 62, + "src": "489:18:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 30, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "489:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 37, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_1000000000000_by_1", + "typeString": "int_const 1000000000000" + }, + "id": 36, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "302e303030303031", + "id": 32, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "510:8:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1000000", + "typeString": "rational_const 1 / 1000000" + }, + "value": "0.000001" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + }, + "id": 35, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 33, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "521:2:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3138", + "id": 34, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "527:2:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "src": "521:8:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + } + }, + "src": "510:19:2", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000_by_1", + "typeString": "int_const 1000000000000" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "489:40:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 44, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 40, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "556:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 41, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "556:9:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 39, + "name": "getPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 99, + "src": "547:8:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) returns (uint256)" + } + }, + "id": 42, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "547:19:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 43, + "name": "minimumUSD", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31, + "src": "570:10:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "547:33:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 38, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "539:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 45, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "539:42:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 46, + "nodeType": "ExpressionStatement", + "src": "539:42:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 53, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 47, + "name": "addressToFund", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "591:13:2", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 50, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 48, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "605:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 49, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "605:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "591:25:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 51, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "620:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 52, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "620:9:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "591:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 54, + "nodeType": "ExpressionStatement", + "src": "591:38:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 58, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "652:3:2", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 59, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "652:10:2", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "id": 55, + "name": "funders", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 15, + "src": "639:7:2", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + } + }, + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "639:12:2", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 60, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "639:24:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 61, + "nodeType": "ExpressionStatement", + "src": "639:24:2" + } + ] + }, + "documentation": null, + "functionSelector": "b60d4288", + "id": 63, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "fund", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 28, + "nodeType": "ParameterList", + "parameters": [], + "src": "461:2:2" + }, + "returnParameters": { + "id": 29, + "nodeType": "ParameterList", + "parameters": [], + "src": "479:0:2" + }, + "scope": 115, + "src": "448:222:2", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 98, + "nodeType": "Block", + "src": "735:311:2", + "statements": [ + { + "assignments": [ + 71 + ], + "declarations": [ + { + "constant": false, + "id": 71, + "mutability": "mutable", + "name": "priceFeed", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 98, + "src": "745:31:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AggregatorV3Interface_$161", + "typeString": "contract AggregatorV3Interface" + }, + "typeName": { + "contractScope": null, + "id": 70, + "name": "AggregatorV3Interface", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 161, + "src": "745:21:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AggregatorV3Interface_$161", + "typeString": "contract AggregatorV3Interface" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 75, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307836393441413137363933353732313544453446414330383162663166333039614443333235333036", + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "814:42:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "value": "0x694AA1769357215DE4FAC081bf1f309aDC325306" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 72, + "name": "AggregatorV3Interface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 161, + "src": "779:21:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_AggregatorV3Interface_$161_$", + "typeString": "type(contract AggregatorV3Interface)" + } + }, + "id": 74, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "779:87:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_AggregatorV3Interface_$161", + "typeString": "contract AggregatorV3Interface" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "745:121:2" + }, + { + "assignments": [ + null, + 77, + null, + null, + null + ], + "declarations": [ + null, + { + "constant": false, + "id": 77, + "mutability": "mutable", + "name": "answer", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 98, + "src": "879:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 76, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "879:6:2", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "value": null, + "visibility": "internal" + }, + null, + null, + null + ], + "id": 81, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 78, + "name": "priceFeed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 71, + "src": "902:9:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AggregatorV3Interface_$161", + "typeString": "contract AggregatorV3Interface" + } + }, + "id": 79, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "latestRoundData", + "nodeType": "MemberAccess", + "referencedDeclaration": 160, + "src": "902:25:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint80_$_t_int256_$_t_uint256_$_t_uint256_$_t_uint80_$", + "typeString": "function () view external returns (uint80,int256,uint256,uint256,uint80)" + } + }, + "id": 80, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "902:27:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint80_$_t_int256_$_t_uint256_$_t_uint256_$_t_uint80_$", + "typeString": "tuple(uint80,int256,uint256,uint256,uint80)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "876:53:2" + }, + { + "assignments": [ + 83 + ], + "declarations": [ + { + "constant": false, + "id": 83, + "mutability": "mutable", + "name": "price", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 98, + "src": "939:13:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 82, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "939:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 90, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "id": 88, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 86, + "name": "answer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 77, + "src": "963:6:2", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3130303030303030303030", + "id": 87, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "972:11:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10000000000_by_1", + "typeString": "int_const 10000000000" + }, + "value": "10000000000" + }, + "src": "963:20:2", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "id": 85, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "955:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 84, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "955:7:2", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 89, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "955:29:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "939:45:2" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 96, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 91, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 83, + "src": "1002:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 92, + "name": "ethAmt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "1010:6:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1002:14:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 94, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1001:16:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31303030303030303030303030303030303030", + "id": 95, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1020:19:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + }, + "value": "1000000000000000000" + }, + "src": "1001:38:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 69, + "id": 97, + "nodeType": "Return", + "src": "994:45:2" + } + ] + }, + "documentation": null, + "functionSelector": "e7572230", + "id": 99, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getPrice", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 66, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 65, + "mutability": "mutable", + "name": "ethAmt", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 99, + "src": "694:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 64, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "694:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "693:16:2" + }, + "returnParameters": { + "id": 69, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 68, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 99, + "src": "726:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 67, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "726:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "725:9:2" + }, + "scope": 115, + "src": "676:370:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 113, + "nodeType": "Block", + "src": "1087:124:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "3330303030303030303030303030", + "id": 110, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1180:14:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_30000000000000_by_1", + "typeString": "int_const 30000000000000" + }, + "value": "30000000000000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_30000000000000_by_1", + "typeString": "int_const 30000000000000" + } + ], + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "307833384345303637394132653039653065393733384337303238363441363931413831663232653343", + "id": 106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1113:42:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "value": "0x38CE0679A2e09e0e9738C702864A691A81f22e3C" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1105:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 104, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1105:7:2", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1105:51:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1097:8:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 102, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1097:8:2", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1097:60:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1097:69:2", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1097:107:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 112, + "nodeType": "ExpressionStatement", + "src": "1097:107:2" + } + ] + }, + "documentation": null, + "functionSelector": "3ccfd60b", + "id": 114, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "withdraw", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 100, + "nodeType": "ParameterList", + "parameters": [], + "src": "1069:2:2" + }, + "returnParameters": { + "id": 101, + "nodeType": "ParameterList", + "parameters": [], + "src": "1087:0:2" + }, + "scope": 115, + "src": "1052:159:2", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 116, + "src": "203:1010:2" + } + ], + "src": "32:1181:2" + }, + "bytecode": "608060405234801561001057600080fd5b50600180546001600160a01b0319163317905561030c806100326000396000f3fe6080604052600436106100555760003560e01c80633871d25b1461005a5780633ccfd60b1461009f5780638da5cb5b146100a9578063b60d4288146100da578063dc0d3dff146100e2578063e75722301461010c575b600080fd5b34801561006657600080fd5b5061008d6004803603602081101561007d57600080fd5b50356001600160a01b0316610136565b60408051918252519081900360200190f35b6100a7610148565b005b3480156100b557600080fd5b506100be61018d565b604080516001600160a01b039092168252519081900360200190f35b6100a761019c565b3480156100ee57600080fd5b506100be6004803603602081101561010557600080fd5b503561020e565b34801561011857600080fd5b5061008d6004803603602081101561012f57600080fd5b5035610235565b60006020819052908152604090205481565b6040517338ce0679a2e09e0e9738c702864a691a81f22e3c90600090651b48eb57e0009082818181858883f1935050505015801561018a573d6000803e3d6000fd5b50565b6001546001600160a01b031681565b64e8d4a51000806101ac34610235565b10156101b757600080fd5b503360008181526020819052604081208054340190556002805460018101825591527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319169091179055565b6002818154811061021b57fe5b6000918252602090912001546001600160a01b0316905081565b60008073694aa1769357215de4fac081bf1f309adc32530690506000816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561028a57600080fd5b505afa15801561029e573d6000803e3d6000fd5b505050506040513d60a08110156102b457600080fd5b5060200151670de0b6b3a764000094026402540be4000293909304939250505056fea2646970667358221220161d25c6beca334e2aa806ca3805f2cb8b792f1724acfcca566ad213410e3a6d64736f6c634300060c0033", + "bytecodeSha1": "b06ad600f59509eb323ca56be9b9c7f44c976e6b", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.12+commit.27d51765" + }, + "contractName": "FundMe", + "coverageMap": { + "branches": { + "0": {}, + "1": {}, + "2": { + "FundMe.fund": { + "5": [ + 547, + 580, + true + ] + } + } + }, + "statements": { + "0": {}, + "1": {}, + "2": { + "FundMe.fund": { + "1": [ + 539, + 581 + ], + "2": [ + 591, + 629 + ], + "3": [ + 639, + 663 + ] + }, + "FundMe.getPrice": { + "4": [ + 994, + 1039 + ] + }, + "FundMe.withdraw": { + "0": [ + 1097, + 1204 + ] + } + } + } + }, + "dependencies": [ + "smartcontractkit/chainlink-brownie-contracts@1.1.0/AggregatorV3Interface", + "smartcontractkit/chainlink-brownie-contracts@1.1.0/SafeMathChainlink" + ], + "deployedBytecode": "6080604052600436106100555760003560e01c80633871d25b1461005a5780633ccfd60b1461009f5780638da5cb5b146100a9578063b60d4288146100da578063dc0d3dff146100e2578063e75722301461010c575b600080fd5b34801561006657600080fd5b5061008d6004803603602081101561007d57600080fd5b50356001600160a01b0316610136565b60408051918252519081900360200190f35b6100a7610148565b005b3480156100b557600080fd5b506100be61018d565b604080516001600160a01b039092168252519081900360200190f35b6100a761019c565b3480156100ee57600080fd5b506100be6004803603602081101561010557600080fd5b503561020e565b34801561011857600080fd5b5061008d6004803603602081101561012f57600080fd5b5035610235565b60006020819052908152604090205481565b6040517338ce0679a2e09e0e9738c702864a691a81f22e3c90600090651b48eb57e0009082818181858883f1935050505015801561018a573d6000803e3d6000fd5b50565b6001546001600160a01b031681565b64e8d4a51000806101ac34610235565b10156101b757600080fd5b503360008181526020819052604081208054340190556002805460018101825591527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319169091179055565b6002818154811061021b57fe5b6000918252602090912001546001600160a01b0316905081565b60008073694aa1769357215de4fac081bf1f309adc32530690506000816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561028a57600080fd5b505afa15801561029e573d6000803e3d6000fd5b505050506040513d60a08110156102b457600080fd5b5060200151670de0b6b3a764000094026402540be4000293909304939250505056fea2646970667358221220161d25c6beca334e2aa806ca3805f2cb8b792f1724acfcca566ad213410e3a6d64736f6c634300060c0033", + "deployedSourceMap": "203:1010:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;266:48;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;266:48:2;-1:-1:-1;;;;;266:48:2;;:::i;:::-;;;;;;;;;;;;;;;;1052:159;;;:::i;:::-;;320:20;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;320:20:2;;;;;;;;;;;;;;448:222;;;:::i;346:24::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;346:24:2;;:::i;676:370::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;676:370:2;;:::i;266:48::-;;;;;;;;;;;;;;:::o;1052:159::-;1097:107;;1113:42;;1097:107;;1180:14;;1097:107;;;;1180:14;1113:42;1097:107;;;;;;;;;;;;;;;;;;;;;1052:159::o;320:20::-;;;-1:-1:-1;;;;;320:20:2;;:::o;448:222::-;510:19;;547;556:9;547:8;:19::i;:::-;:33;;539:42;;;;;;-1:-1:-1;605:10:2;591:13;:25;;;;;;;;;;:38;;620:9;591:38;;;639:7;:24;;-1:-1:-1;639:24:2;;;;;;;;;;-1:-1:-1;;;;;;639:24:2;;;;;;448:222::o;346:24::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;346:24:2;;-1:-1:-1;346:24:2;:::o;676:370::-;726:7;745:31;814:42;745:121;;879:13;902:9;-1:-1:-1;;;;;902:25:2;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;902:27:2;;;1020:19;1002:14;;972:11;1002:14;1001:38;;;;;;-1:-1:-1;;;676:370:2:o", + "language": "Solidity", + "natspec": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "offset": [ + 203, + 1213 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x55 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3871D25B EQ PUSH2 0x5A JUMPI DUP1 PUSH4 0x3CCFD60B EQ PUSH2 0x9F JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xA9 JUMPI DUP1 PUSH4 0xB60D4288 EQ PUSH2 0xDA JUMPI DUP1 PUSH4 0xDC0D3DFF EQ PUSH2 0xE2 JUMPI DUP1 PUSH4 0xE7572230 EQ PUSH2 0x10C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x136 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xA7 PUSH2 0x148 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBE PUSH2 0x18D 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 0xA7 PUSH2 0x19C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xBE PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x105 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x20E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x118 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x8D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x12F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x235 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH20 0x38CE0679A2E09E0E9738C702864A691A81F22E3C SWAP1 PUSH1 0x0 SWAP1 PUSH6 0x1B48EB57E000 SWAP1 DUP3 DUP2 DUP2 DUP2 DUP6 DUP9 DUP4 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x18A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH5 0xE8D4A51000 DUP1 PUSH2 0x1AC CALLVALUE PUSH2 0x235 JUMP JUMPDEST LT ISZERO PUSH2 0x1B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD CALLVALUE ADD SWAP1 SSTORE PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE SWAP2 MSTORE PUSH32 0x405787FA12A823E0F2B7631CC41B3BA8828B3321CA811111FA75CD3AA3BB5ACE ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x21B JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH20 0x694AA1769357215DE4FAC081BF1F309ADC325306 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xFEAF968C PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0xA0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x28A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x29E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x2B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x20 ADD MLOAD PUSH8 0xDE0B6B3A7640000 SWAP5 MUL PUSH5 0x2540BE400 MUL SWAP4 SWAP1 SWAP4 DIV SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 AND SAR 0x25 0xC6 0xBE 0xCA CALLER 0x4E 0x2A 0xA8 MOD 0xCA CODESIZE SDIV CALLCODE 0xCB DUP12 PUSH26 0x2F1724ACFCCA566AD213410E3A6D64736F6C634300060C003300 ", + "pcMap": { + "0": { + "offset": [ + 203, + 1213 + ], + "op": "PUSH1", + "path": "2", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH1", + "path": "2", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "MSTORE", + "path": "2" + }, + "5": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH1", + "path": "2", + "value": "0x4" + }, + "7": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "CALLDATASIZE", + "path": "2" + }, + "8": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "LT", + "path": "2" + }, + "9": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH2", + "path": "2", + "value": "0x55" + }, + "12": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "JUMPI", + "path": "2" + }, + "13": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "15": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "CALLDATALOAD", + "path": "2" + }, + "16": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH1", + "path": "2", + "value": "0xE0" + }, + "18": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "SHR", + "path": "2" + }, + "19": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "DUP1", + "path": "2" + }, + "20": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH4", + "path": "2", + "value": "0x3871D25B" + }, + "25": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "EQ", + "path": "2" + }, + "26": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH2", + "path": "2", + "value": "0x5A" + }, + "29": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "JUMPI", + "path": "2" + }, + "30": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "DUP1", + "path": "2" + }, + "31": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH4", + "path": "2", + "value": "0x3CCFD60B" + }, + "36": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "EQ", + "path": "2" + }, + "37": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH2", + "path": "2", + "value": "0x9F" + }, + "40": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "JUMPI", + "path": "2" + }, + "41": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "DUP1", + "path": "2" + }, + "42": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH4", + "path": "2", + "value": "0x8DA5CB5B" + }, + "47": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "EQ", + "path": "2" + }, + "48": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH2", + "path": "2", + "value": "0xA9" + }, + "51": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "JUMPI", + "path": "2" + }, + "52": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "DUP1", + "path": "2" + }, + "53": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH4", + "path": "2", + "value": "0xB60D4288" + }, + "58": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "EQ", + "path": "2" + }, + "59": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH2", + "path": "2", + "value": "0xDA" + }, + "62": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "JUMPI", + "path": "2" + }, + "63": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "DUP1", + "path": "2" + }, + "64": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH4", + "path": "2", + "value": "0xDC0D3DFF" + }, + "69": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "EQ", + "path": "2" + }, + "70": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH2", + "path": "2", + "value": "0xE2" + }, + "73": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "JUMPI", + "path": "2" + }, + "74": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "DUP1", + "path": "2" + }, + "75": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH4", + "path": "2", + "value": "0xE7572230" + }, + "80": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "EQ", + "path": "2" + }, + "81": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH2", + "path": "2", + "value": "0x10C" + }, + "84": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "JUMPI", + "path": "2" + }, + "85": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "JUMPDEST", + "path": "2" + }, + "86": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "88": { + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "DUP1", + "path": "2" + }, + "89": { + "first_revert": true, + "fn": null, + "offset": [ + 203, + 1213 + ], + "op": "REVERT", + "path": "2" + }, + "90": { + "offset": [ + 266, + 314 + ], + "op": "JUMPDEST", + "path": "2" + }, + "91": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "CALLVALUE", + "path": "2" + }, + "92": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "DUP1", + "path": "2" + }, + "93": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "ISZERO", + "path": "2" + }, + "94": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "PUSH2", + "path": "2", + "value": "0x66" + }, + "97": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "JUMPI", + "path": "2" + }, + "98": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "100": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "DUP1", + "path": "2" + }, + "101": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "REVERT", + "path": "2" + }, + "102": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "JUMPDEST", + "path": "2" + }, + "103": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "POP", + "path": "2" + }, + "104": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "PUSH2", + "path": "2", + "value": "0x8D" + }, + "107": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "PUSH1", + "path": "2", + "value": "0x4" + }, + "109": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "DUP1", + "path": "2" + }, + "110": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "CALLDATASIZE", + "path": "2" + }, + "111": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "SUB", + "path": "2" + }, + "112": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "PUSH1", + "path": "2", + "value": "0x20" + }, + "114": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "DUP2", + "path": "2" + }, + "115": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "LT", + "path": "2" + }, + "116": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "ISZERO", + "path": "2" + }, + "117": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "PUSH2", + "path": "2", + "value": "0x7D" + }, + "120": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "JUMPI", + "path": "2" + }, + "121": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "123": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "DUP1", + "path": "2" + }, + "124": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "REVERT", + "path": "2" + }, + "125": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "JUMPDEST", + "path": "2" + }, + "126": { + "op": "POP" + }, + "127": { + "offset": [ + 266, + 314 + ], + "op": "CALLDATALOAD", + "path": "2" + }, + "128": { + "op": "PUSH1", + "value": "0x1" + }, + "130": { + "op": "PUSH1", + "value": "0x1" + }, + "132": { + "op": "PUSH1", + "value": "0xA0" + }, + "134": { + "op": "SHL" + }, + "135": { + "op": "SUB" + }, + "136": { + "offset": [ + 266, + 314 + ], + "op": "AND", + "path": "2" + }, + "137": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "PUSH2", + "path": "2", + "value": "0x136" + }, + "140": { + "fn": null, + "jump": "i", + "offset": [ + 266, + 314 + ], + "op": "JUMP", + "path": "2" + }, + "141": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "JUMPDEST", + "path": "2" + }, + "142": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "PUSH1", + "path": "2", + "value": "0x40" + }, + "144": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "DUP1", + "path": "2" + }, + "145": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "MLOAD", + "path": "2" + }, + "146": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "SWAP2", + "path": "2" + }, + "147": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "DUP3", + "path": "2" + }, + "148": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "MSTORE", + "path": "2" + }, + "149": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "MLOAD", + "path": "2" + }, + "150": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "SWAP1", + "path": "2" + }, + "151": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "DUP2", + "path": "2" + }, + "152": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "SWAP1", + "path": "2" + }, + "153": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "SUB", + "path": "2" + }, + "154": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "PUSH1", + "path": "2", + "value": "0x20" + }, + "156": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "ADD", + "path": "2" + }, + "157": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "SWAP1", + "path": "2" + }, + "158": { + "fn": null, + "offset": [ + 266, + 314 + ], + "op": "RETURN", + "path": "2" + }, + "159": { + "fn": "FundMe.withdraw", + "offset": [ + 1052, + 1211 + ], + "op": "JUMPDEST", + "path": "2" + }, + "160": { + "fn": "FundMe.withdraw", + "offset": [ + 1052, + 1211 + ], + "op": "PUSH2", + "path": "2", + "value": "0xA7" + }, + "163": { + "fn": "FundMe.withdraw", + "offset": [ + 1052, + 1211 + ], + "op": "PUSH2", + "path": "2", + "value": "0x148" + }, + "166": { + "fn": "FundMe.withdraw", + "jump": "i", + "offset": [ + 1052, + 1211 + ], + "op": "JUMP", + "path": "2" + }, + "167": { + "fn": "FundMe.withdraw", + "offset": [ + 1052, + 1211 + ], + "op": "JUMPDEST", + "path": "2" + }, + "168": { + "fn": "FundMe.withdraw", + "offset": [ + 1052, + 1211 + ], + "op": "STOP", + "path": "2" + }, + "169": { + "offset": [ + 320, + 340 + ], + "op": "JUMPDEST", + "path": "2" + }, + "170": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "CALLVALUE", + "path": "2" + }, + "171": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "DUP1", + "path": "2" + }, + "172": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "ISZERO", + "path": "2" + }, + "173": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "PUSH2", + "path": "2", + "value": "0xB5" + }, + "176": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "JUMPI", + "path": "2" + }, + "177": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "179": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "DUP1", + "path": "2" + }, + "180": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "REVERT", + "path": "2" + }, + "181": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "JUMPDEST", + "path": "2" + }, + "182": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "POP", + "path": "2" + }, + "183": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "PUSH2", + "path": "2", + "value": "0xBE" + }, + "186": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "PUSH2", + "path": "2", + "value": "0x18D" + }, + "189": { + "fn": "FundMe.withdraw", + "jump": "i", + "offset": [ + 320, + 340 + ], + "op": "JUMP", + "path": "2" + }, + "190": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "JUMPDEST", + "path": "2" + }, + "191": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "PUSH1", + "path": "2", + "value": "0x40" + }, + "193": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "DUP1", + "path": "2" + }, + "194": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "MLOAD", + "path": "2" + }, + "195": { + "op": "PUSH1", + "value": "0x1" + }, + "197": { + "op": "PUSH1", + "value": "0x1" + }, + "199": { + "op": "PUSH1", + "value": "0xA0" + }, + "201": { + "op": "SHL" + }, + "202": { + "op": "SUB" + }, + "203": { + "offset": [ + 320, + 340 + ], + "op": "SWAP1", + "path": "2" + }, + "204": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "SWAP3", + "path": "2" + }, + "205": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "AND", + "path": "2" + }, + "206": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "DUP3", + "path": "2" + }, + "207": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "MSTORE", + "path": "2" + }, + "208": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "MLOAD", + "path": "2" + }, + "209": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "SWAP1", + "path": "2" + }, + "210": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "DUP2", + "path": "2" + }, + "211": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "SWAP1", + "path": "2" + }, + "212": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "SUB", + "path": "2" + }, + "213": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "PUSH1", + "path": "2", + "value": "0x20" + }, + "215": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "ADD", + "path": "2" + }, + "216": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "SWAP1", + "path": "2" + }, + "217": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "RETURN", + "path": "2" + }, + "218": { + "fn": "FundMe.fund", + "offset": [ + 448, + 670 + ], + "op": "JUMPDEST", + "path": "2" + }, + "219": { + "fn": "FundMe.fund", + "offset": [ + 448, + 670 + ], + "op": "PUSH2", + "path": "2", + "value": "0xA7" + }, + "222": { + "fn": "FundMe.fund", + "offset": [ + 448, + 670 + ], + "op": "PUSH2", + "path": "2", + "value": "0x19C" + }, + "225": { + "fn": "FundMe.fund", + "jump": "i", + "offset": [ + 448, + 670 + ], + "op": "JUMP", + "path": "2" + }, + "226": { + "offset": [ + 346, + 370 + ], + "op": "JUMPDEST", + "path": "2" + }, + "227": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "CALLVALUE", + "path": "2" + }, + "228": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "DUP1", + "path": "2" + }, + "229": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "ISZERO", + "path": "2" + }, + "230": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "PUSH2", + "path": "2", + "value": "0xEE" + }, + "233": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "JUMPI", + "path": "2" + }, + "234": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "236": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "DUP1", + "path": "2" + }, + "237": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "REVERT", + "path": "2" + }, + "238": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "JUMPDEST", + "path": "2" + }, + "239": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "POP", + "path": "2" + }, + "240": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "PUSH2", + "path": "2", + "value": "0xBE" + }, + "243": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "PUSH1", + "path": "2", + "value": "0x4" + }, + "245": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "DUP1", + "path": "2" + }, + "246": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "CALLDATASIZE", + "path": "2" + }, + "247": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "SUB", + "path": "2" + }, + "248": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "PUSH1", + "path": "2", + "value": "0x20" + }, + "250": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "DUP2", + "path": "2" + }, + "251": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "LT", + "path": "2" + }, + "252": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "ISZERO", + "path": "2" + }, + "253": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "PUSH2", + "path": "2", + "value": "0x105" + }, + "256": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "JUMPI", + "path": "2" + }, + "257": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "259": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "DUP1", + "path": "2" + }, + "260": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "REVERT", + "path": "2" + }, + "261": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "JUMPDEST", + "path": "2" + }, + "262": { + "op": "POP" + }, + "263": { + "offset": [ + 346, + 370 + ], + "op": "CALLDATALOAD", + "path": "2" + }, + "264": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "PUSH2", + "path": "2", + "value": "0x20E" + }, + "267": { + "fn": "FundMe.fund", + "jump": "i", + "offset": [ + 346, + 370 + ], + "op": "JUMP", + "path": "2" + }, + "268": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "JUMPDEST", + "path": "2" + }, + "269": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "CALLVALUE", + "path": "2" + }, + "270": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "DUP1", + "path": "2" + }, + "271": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "ISZERO", + "path": "2" + }, + "272": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "PUSH2", + "path": "2", + "value": "0x118" + }, + "275": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "JUMPI", + "path": "2" + }, + "276": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "278": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "DUP1", + "path": "2" + }, + "279": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "REVERT", + "path": "2" + }, + "280": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "JUMPDEST", + "path": "2" + }, + "281": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "POP", + "path": "2" + }, + "282": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "PUSH2", + "path": "2", + "value": "0x8D" + }, + "285": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "PUSH1", + "path": "2", + "value": "0x4" + }, + "287": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "DUP1", + "path": "2" + }, + "288": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "CALLDATASIZE", + "path": "2" + }, + "289": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "SUB", + "path": "2" + }, + "290": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "PUSH1", + "path": "2", + "value": "0x20" + }, + "292": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "DUP2", + "path": "2" + }, + "293": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "LT", + "path": "2" + }, + "294": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "ISZERO", + "path": "2" + }, + "295": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "PUSH2", + "path": "2", + "value": "0x12F" + }, + "298": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "JUMPI", + "path": "2" + }, + "299": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "301": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "DUP1", + "path": "2" + }, + "302": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "REVERT", + "path": "2" + }, + "303": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "JUMPDEST", + "path": "2" + }, + "304": { + "op": "POP" + }, + "305": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "CALLDATALOAD", + "path": "2" + }, + "306": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "PUSH2", + "path": "2", + "value": "0x235" + }, + "309": { + "fn": "FundMe.getPrice", + "jump": "i", + "offset": [ + 676, + 1046 + ], + "op": "JUMP", + "path": "2" + }, + "310": { + "offset": [ + 266, + 314 + ], + "op": "JUMPDEST", + "path": "2" + }, + "311": { + "fn": "FundMe.getPrice", + "offset": [ + 266, + 314 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "313": { + "fn": "FundMe.getPrice", + "offset": [ + 266, + 314 + ], + "op": "PUSH1", + "path": "2", + "value": "0x20" + }, + "315": { + "fn": "FundMe.getPrice", + "offset": [ + 266, + 314 + ], + "op": "DUP2", + "path": "2" + }, + "316": { + "fn": "FundMe.getPrice", + "offset": [ + 266, + 314 + ], + "op": "SWAP1", + "path": "2" + }, + "317": { + "fn": "FundMe.getPrice", + "offset": [ + 266, + 314 + ], + "op": "MSTORE", + "path": "2" + }, + "318": { + "fn": "FundMe.getPrice", + "offset": [ + 266, + 314 + ], + "op": "SWAP1", + "path": "2" + }, + "319": { + "fn": "FundMe.getPrice", + "offset": [ + 266, + 314 + ], + "op": "DUP2", + "path": "2" + }, + "320": { + "fn": "FundMe.getPrice", + "offset": [ + 266, + 314 + ], + "op": "MSTORE", + "path": "2" + }, + "321": { + "fn": "FundMe.getPrice", + "offset": [ + 266, + 314 + ], + "op": "PUSH1", + "path": "2", + "value": "0x40" + }, + "323": { + "fn": "FundMe.getPrice", + "offset": [ + 266, + 314 + ], + "op": "SWAP1", + "path": "2" + }, + "324": { + "fn": "FundMe.getPrice", + "offset": [ + 266, + 314 + ], + "op": "KECCAK256", + "path": "2" + }, + "325": { + "fn": "FundMe.getPrice", + "offset": [ + 266, + 314 + ], + "op": "SLOAD", + "path": "2" + }, + "326": { + "fn": "FundMe.getPrice", + "offset": [ + 266, + 314 + ], + "op": "DUP2", + "path": "2" + }, + "327": { + "fn": "FundMe.getPrice", + "jump": "o", + "offset": [ + 266, + 314 + ], + "op": "JUMP", + "path": "2" + }, + "328": { + "fn": "FundMe.withdraw", + "offset": [ + 1052, + 1211 + ], + "op": "JUMPDEST", + "path": "2" + }, + "329": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "PUSH1", + "path": "2", + "statement": 0, + "value": "0x40" + }, + "331": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "MLOAD", + "path": "2" + }, + "332": { + "fn": "FundMe.withdraw", + "offset": [ + 1113, + 1155 + ], + "op": "PUSH20", + "path": "2", + "value": "0x38CE0679A2E09E0E9738C702864A691A81F22E3C" + }, + "353": { + "fn": "FundMe.withdraw", + "offset": [ + 1113, + 1155 + ], + "op": "SWAP1", + "path": "2" + }, + "354": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "356": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "SWAP1", + "path": "2" + }, + "357": { + "fn": "FundMe.withdraw", + "offset": [ + 1180, + 1194 + ], + "op": "PUSH6", + "path": "2", + "value": "0x1B48EB57E000" + }, + "364": { + "fn": "FundMe.withdraw", + "offset": [ + 1180, + 1194 + ], + "op": "SWAP1", + "path": "2" + }, + "365": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "DUP3", + "path": "2" + }, + "366": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "DUP2", + "path": "2" + }, + "367": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "DUP2", + "path": "2" + }, + "368": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "DUP2", + "path": "2" + }, + "369": { + "fn": "FundMe.withdraw", + "offset": [ + 1180, + 1194 + ], + "op": "DUP6", + "path": "2" + }, + "370": { + "fn": "FundMe.withdraw", + "offset": [ + 1113, + 1155 + ], + "op": "DUP9", + "path": "2" + }, + "371": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "DUP4", + "path": "2" + }, + "372": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "CALL", + "path": "2" + }, + "373": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "SWAP4", + "path": "2" + }, + "374": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "POP", + "path": "2" + }, + "375": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "POP", + "path": "2" + }, + "376": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "POP", + "path": "2" + }, + "377": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "POP", + "path": "2" + }, + "378": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "ISZERO", + "path": "2" + }, + "379": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "DUP1", + "path": "2" + }, + "380": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "ISZERO", + "path": "2" + }, + "381": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "PUSH2", + "path": "2", + "value": "0x18A" + }, + "384": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "JUMPI", + "path": "2" + }, + "385": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "RETURNDATASIZE", + "path": "2" + }, + "386": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "388": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "DUP1", + "path": "2" + }, + "389": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "RETURNDATACOPY", + "path": "2" + }, + "390": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "RETURNDATASIZE", + "path": "2" + }, + "391": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "393": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "REVERT", + "path": "2" + }, + "394": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "JUMPDEST", + "path": "2" + }, + "395": { + "fn": "FundMe.withdraw", + "offset": [ + 1097, + 1204 + ], + "op": "POP", + "path": "2" + }, + "396": { + "fn": "FundMe.withdraw", + "jump": "o", + "offset": [ + 1052, + 1211 + ], + "op": "JUMP", + "path": "2" + }, + "397": { + "offset": [ + 320, + 340 + ], + "op": "JUMPDEST", + "path": "2" + }, + "398": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "PUSH1", + "path": "2", + "value": "0x1" + }, + "400": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "SLOAD", + "path": "2" + }, + "401": { + "op": "PUSH1", + "value": "0x1" + }, + "403": { + "op": "PUSH1", + "value": "0x1" + }, + "405": { + "op": "PUSH1", + "value": "0xA0" + }, + "407": { + "op": "SHL" + }, + "408": { + "op": "SUB" + }, + "409": { + "offset": [ + 320, + 340 + ], + "op": "AND", + "path": "2" + }, + "410": { + "fn": "FundMe.withdraw", + "offset": [ + 320, + 340 + ], + "op": "DUP2", + "path": "2" + }, + "411": { + "fn": "FundMe.withdraw", + "jump": "o", + "offset": [ + 320, + 340 + ], + "op": "JUMP", + "path": "2" + }, + "412": { + "fn": "FundMe.fund", + "offset": [ + 448, + 670 + ], + "op": "JUMPDEST", + "path": "2" + }, + "413": { + "fn": "FundMe.fund", + "offset": [ + 510, + 529 + ], + "op": "PUSH5", + "path": "2", + "value": "0xE8D4A51000" + }, + "419": { + "fn": "FundMe.fund", + "offset": [ + 510, + 529 + ], + "op": "DUP1", + "path": "2" + }, + "420": { + "fn": "FundMe.fund", + "offset": [ + 547, + 566 + ], + "op": "PUSH2", + "path": "2", + "statement": 1, + "value": "0x1AC" + }, + "423": { + "fn": "FundMe.fund", + "offset": [ + 556, + 565 + ], + "op": "CALLVALUE", + "path": "2" + }, + "424": { + "fn": "FundMe.fund", + "offset": [ + 547, + 555 + ], + "op": "PUSH2", + "path": "2", + "value": "0x235" + }, + "427": { + "fn": "FundMe.fund", + "jump": "i", + "offset": [ + 547, + 566 + ], + "op": "JUMP", + "path": "2" + }, + "428": { + "fn": "FundMe.fund", + "offset": [ + 547, + 566 + ], + "op": "JUMPDEST", + "path": "2" + }, + "429": { + "fn": "FundMe.fund", + "offset": [ + 547, + 580 + ], + "op": "LT", + "path": "2" + }, + "430": { + "branch": 5, + "fn": "FundMe.fund", + "offset": [ + 547, + 580 + ], + "op": "ISZERO", + "path": "2" + }, + "431": { + "fn": "FundMe.fund", + "offset": [ + 539, + 581 + ], + "op": "PUSH2", + "path": "2", + "value": "0x1B7" + }, + "434": { + "branch": 5, + "fn": "FundMe.fund", + "offset": [ + 539, + 581 + ], + "op": "JUMPI", + "path": "2" + }, + "435": { + "fn": "FundMe.fund", + "offset": [ + 539, + 581 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "437": { + "fn": "FundMe.fund", + "offset": [ + 539, + 581 + ], + "op": "DUP1", + "path": "2" + }, + "438": { + "fn": "FundMe.fund", + "offset": [ + 539, + 581 + ], + "op": "REVERT", + "path": "2" + }, + "439": { + "fn": "FundMe.fund", + "offset": [ + 539, + 581 + ], + "op": "JUMPDEST", + "path": "2" + }, + "440": { + "op": "POP" + }, + "441": { + "fn": "FundMe.fund", + "offset": [ + 605, + 615 + ], + "op": "CALLER", + "path": "2", + "statement": 2 + }, + "442": { + "fn": "FundMe.fund", + "offset": [ + 591, + 604 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "444": { + "fn": "FundMe.fund", + "offset": [ + 591, + 616 + ], + "op": "DUP2", + "path": "2" + }, + "445": { + "fn": "FundMe.fund", + "offset": [ + 591, + 616 + ], + "op": "DUP2", + "path": "2" + }, + "446": { + "fn": "FundMe.fund", + "offset": [ + 591, + 616 + ], + "op": "MSTORE", + "path": "2" + }, + "447": { + "fn": "FundMe.fund", + "offset": [ + 591, + 616 + ], + "op": "PUSH1", + "path": "2", + "value": "0x20" + }, + "449": { + "fn": "FundMe.fund", + "offset": [ + 591, + 616 + ], + "op": "DUP2", + "path": "2" + }, + "450": { + "fn": "FundMe.fund", + "offset": [ + 591, + 616 + ], + "op": "SWAP1", + "path": "2" + }, + "451": { + "fn": "FundMe.fund", + "offset": [ + 591, + 616 + ], + "op": "MSTORE", + "path": "2" + }, + "452": { + "fn": "FundMe.fund", + "offset": [ + 591, + 616 + ], + "op": "PUSH1", + "path": "2", + "value": "0x40" + }, + "454": { + "fn": "FundMe.fund", + "offset": [ + 591, + 616 + ], + "op": "DUP2", + "path": "2" + }, + "455": { + "fn": "FundMe.fund", + "offset": [ + 591, + 616 + ], + "op": "KECCAK256", + "path": "2" + }, + "456": { + "fn": "FundMe.fund", + "offset": [ + 591, + 629 + ], + "op": "DUP1", + "path": "2" + }, + "457": { + "fn": "FundMe.fund", + "offset": [ + 591, + 629 + ], + "op": "SLOAD", + "path": "2" + }, + "458": { + "fn": "FundMe.fund", + "offset": [ + 620, + 629 + ], + "op": "CALLVALUE", + "path": "2" + }, + "459": { + "fn": "FundMe.fund", + "offset": [ + 591, + 629 + ], + "op": "ADD", + "path": "2" + }, + "460": { + "fn": "FundMe.fund", + "offset": [ + 591, + 629 + ], + "op": "SWAP1", + "path": "2" + }, + "461": { + "fn": "FundMe.fund", + "offset": [ + 591, + 629 + ], + "op": "SSTORE", + "path": "2" + }, + "462": { + "fn": "FundMe.fund", + "offset": [ + 639, + 646 + ], + "op": "PUSH1", + "path": "2", + "statement": 3, + "value": "0x2" + }, + "464": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "DUP1", + "path": "2" + }, + "465": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "SLOAD", + "path": "2" + }, + "466": { + "op": "PUSH1", + "value": "0x1" + }, + "468": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "DUP2", + "path": "2" + }, + "469": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "ADD", + "path": "2" + }, + "470": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "DUP3", + "path": "2" + }, + "471": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "SSTORE", + "path": "2" + }, + "472": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "SWAP2", + "path": "2" + }, + "473": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "MSTORE", + "path": "2" + }, + "474": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "PUSH32", + "path": "2", + "value": "0x405787FA12A823E0F2B7631CC41B3BA8828B3321CA811111FA75CD3AA3BB5ACE" + }, + "507": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "ADD", + "path": "2" + }, + "508": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "DUP1", + "path": "2" + }, + "509": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "SLOAD", + "path": "2" + }, + "510": { + "op": "PUSH1", + "value": "0x1" + }, + "512": { + "op": "PUSH1", + "value": "0x1" + }, + "514": { + "op": "PUSH1", + "value": "0xA0" + }, + "516": { + "op": "SHL" + }, + "517": { + "op": "SUB" + }, + "518": { + "op": "NOT" + }, + "519": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "AND", + "path": "2" + }, + "520": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "SWAP1", + "path": "2" + }, + "521": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "SWAP2", + "path": "2" + }, + "522": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "OR", + "path": "2" + }, + "523": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "SWAP1", + "path": "2" + }, + "524": { + "fn": "FundMe.fund", + "offset": [ + 639, + 663 + ], + "op": "SSTORE", + "path": "2" + }, + "525": { + "fn": "FundMe.fund", + "jump": "o", + "offset": [ + 448, + 670 + ], + "op": "JUMP", + "path": "2" + }, + "526": { + "offset": [ + 346, + 370 + ], + "op": "JUMPDEST", + "path": "2" + }, + "527": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "PUSH1", + "path": "2", + "value": "0x2" + }, + "529": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "DUP2", + "path": "2" + }, + "530": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "DUP2", + "path": "2" + }, + "531": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "SLOAD", + "path": "2" + }, + "532": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "DUP2", + "path": "2" + }, + "533": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "LT", + "path": "2" + }, + "534": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "PUSH2", + "path": "2", + "value": "0x21B" + }, + "537": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "JUMPI", + "path": "2" + }, + "538": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "INVALID", + "path": "2" + }, + "539": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "JUMPDEST", + "path": "2" + }, + "540": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "542": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "SWAP2", + "path": "2" + }, + "543": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "DUP3", + "path": "2" + }, + "544": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "MSTORE", + "path": "2" + }, + "545": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "PUSH1", + "path": "2", + "value": "0x20" + }, + "547": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "SWAP1", + "path": "2" + }, + "548": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "SWAP2", + "path": "2" + }, + "549": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "KECCAK256", + "path": "2" + }, + "550": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "ADD", + "path": "2" + }, + "551": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "SLOAD", + "path": "2" + }, + "552": { + "op": "PUSH1", + "value": "0x1" + }, + "554": { + "op": "PUSH1", + "value": "0x1" + }, + "556": { + "op": "PUSH1", + "value": "0xA0" + }, + "558": { + "op": "SHL" + }, + "559": { + "op": "SUB" + }, + "560": { + "offset": [ + 346, + 370 + ], + "op": "AND", + "path": "2" + }, + "561": { + "fn": "FundMe.fund", + "offset": [ + 346, + 370 + ], + "op": "SWAP1", + "path": "2" + }, + "562": { + "op": "POP" + }, + "563": { + "offset": [ + 346, + 370 + ], + "op": "DUP2", + "path": "2" + }, + "564": { + "fn": "FundMe.fund", + "jump": "o", + "offset": [ + 346, + 370 + ], + "op": "JUMP", + "path": "2" + }, + "565": { + "fn": "FundMe.getPrice", + "offset": [ + 676, + 1046 + ], + "op": "JUMPDEST", + "path": "2" + }, + "566": { + "fn": "FundMe.getPrice", + "offset": [ + 726, + 733 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "568": { + "fn": "FundMe.getPrice", + "offset": [ + 745, + 776 + ], + "op": "DUP1", + "path": "2" + }, + "569": { + "fn": "FundMe.getPrice", + "offset": [ + 814, + 856 + ], + "op": "PUSH20", + "path": "2", + "value": "0x694AA1769357215DE4FAC081BF1F309ADC325306" + }, + "590": { + "fn": "FundMe.getPrice", + "offset": [ + 745, + 866 + ], + "op": "SWAP1", + "path": "2" + }, + "591": { + "fn": "FundMe.getPrice", + "offset": [ + 745, + 866 + ], + "op": "POP", + "path": "2" + }, + "592": { + "fn": "FundMe.getPrice", + "offset": [ + 879, + 892 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "594": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 911 + ], + "op": "DUP2", + "path": "2" + }, + "595": { + "op": "PUSH1", + "value": "0x1" + }, + "597": { + "op": "PUSH1", + "value": "0x1" + }, + "599": { + "op": "PUSH1", + "value": "0xA0" + }, + "601": { + "op": "SHL" + }, + "602": { + "op": "SUB" + }, + "603": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 927 + ], + "op": "AND", + "path": "2" + }, + "604": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 927 + ], + "op": "PUSH4", + "path": "2", + "value": "0xFEAF968C" + }, + "609": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH1", + "path": "2", + "value": "0x40" + }, + "611": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "MLOAD", + "path": "2" + }, + "612": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "DUP2", + "path": "2" + }, + "613": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH4", + "path": "2", + "value": "0xFFFFFFFF" + }, + "618": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "AND", + "path": "2" + }, + "619": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH1", + "path": "2", + "value": "0xE0" + }, + "621": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "SHL", + "path": "2" + }, + "622": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "DUP2", + "path": "2" + }, + "623": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "MSTORE", + "path": "2" + }, + "624": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH1", + "path": "2", + "value": "0x4" + }, + "626": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "ADD", + "path": "2" + }, + "627": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH1", + "path": "2", + "value": "0xA0" + }, + "629": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH1", + "path": "2", + "value": "0x40" + }, + "631": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "MLOAD", + "path": "2" + }, + "632": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "DUP1", + "path": "2" + }, + "633": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "DUP4", + "path": "2" + }, + "634": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "SUB", + "path": "2" + }, + "635": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "DUP2", + "path": "2" + }, + "636": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "DUP7", + "path": "2" + }, + "637": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "DUP1", + "path": "2" + }, + "638": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "EXTCODESIZE", + "path": "2" + }, + "639": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "ISZERO", + "path": "2" + }, + "640": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "DUP1", + "path": "2" + }, + "641": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "ISZERO", + "path": "2" + }, + "642": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH2", + "path": "2", + "value": "0x28A" + }, + "645": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "JUMPI", + "path": "2" + }, + "646": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "648": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "DUP1", + "path": "2" + }, + "649": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "REVERT", + "path": "2" + }, + "650": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "JUMPDEST", + "path": "2" + }, + "651": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "POP", + "path": "2" + }, + "652": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "GAS", + "path": "2" + }, + "653": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "STATICCALL", + "path": "2" + }, + "654": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "ISZERO", + "path": "2" + }, + "655": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "DUP1", + "path": "2" + }, + "656": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "ISZERO", + "path": "2" + }, + "657": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH2", + "path": "2", + "value": "0x29E" + }, + "660": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "JUMPI", + "path": "2" + }, + "661": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "RETURNDATASIZE", + "path": "2" + }, + "662": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "664": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "DUP1", + "path": "2" + }, + "665": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "RETURNDATACOPY", + "path": "2" + }, + "666": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "RETURNDATASIZE", + "path": "2" + }, + "667": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "669": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "REVERT", + "path": "2" + }, + "670": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "JUMPDEST", + "path": "2" + }, + "671": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "POP", + "path": "2" + }, + "672": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "POP", + "path": "2" + }, + "673": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "POP", + "path": "2" + }, + "674": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "POP", + "path": "2" + }, + "675": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH1", + "path": "2", + "value": "0x40" + }, + "677": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "MLOAD", + "path": "2" + }, + "678": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "RETURNDATASIZE", + "path": "2" + }, + "679": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH1", + "path": "2", + "value": "0xA0" + }, + "681": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "DUP2", + "path": "2" + }, + "682": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "LT", + "path": "2" + }, + "683": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "ISZERO", + "path": "2" + }, + "684": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH2", + "path": "2", + "value": "0x2B4" + }, + "687": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "JUMPI", + "path": "2" + }, + "688": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH1", + "path": "2", + "value": "0x0" + }, + "690": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "DUP1", + "path": "2" + }, + "691": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "REVERT", + "path": "2" + }, + "692": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "JUMPDEST", + "path": "2" + }, + "693": { + "op": "POP" + }, + "694": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "PUSH1", + "path": "2", + "value": "0x20" + }, + "696": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "ADD", + "path": "2" + }, + "697": { + "fn": "FundMe.getPrice", + "offset": [ + 902, + 929 + ], + "op": "MLOAD", + "path": "2" + }, + "698": { + "fn": "FundMe.getPrice", + "offset": [ + 1020, + 1039 + ], + "op": "PUSH8", + "path": "2", + "statement": 4, + "value": "0xDE0B6B3A7640000" + }, + "707": { + "fn": "FundMe.getPrice", + "offset": [ + 1002, + 1016 + ], + "op": "SWAP5", + "path": "2" + }, + "708": { + "fn": "FundMe.getPrice", + "offset": [ + 1002, + 1016 + ], + "op": "MUL", + "path": "2" + }, + "709": { + "fn": "FundMe.getPrice", + "offset": [ + 972, + 983 + ], + "op": "PUSH5", + "path": "2", + "value": "0x2540BE400" + }, + "715": { + "fn": "FundMe.getPrice", + "offset": [ + 1002, + 1016 + ], + "op": "MUL", + "path": "2" + }, + "716": { + "fn": "FundMe.getPrice", + "offset": [ + 1001, + 1039 + ], + "op": "SWAP4", + "path": "2" + }, + "717": { + "fn": "FundMe.getPrice", + "offset": [ + 1001, + 1039 + ], + "op": "SWAP1", + "path": "2" + }, + "718": { + "fn": "FundMe.getPrice", + "offset": [ + 1001, + 1039 + ], + "op": "SWAP4", + "path": "2" + }, + "719": { + "fn": "FundMe.getPrice", + "offset": [ + 1001, + 1039 + ], + "op": "DIV", + "path": "2" + }, + "720": { + "fn": "FundMe.getPrice", + "offset": [ + 1001, + 1039 + ], + "op": "SWAP4", + "path": "2" + }, + "721": { + "fn": "FundMe.getPrice", + "offset": [ + 1001, + 1039 + ], + "op": "SWAP3", + "path": "2" + }, + "722": { + "op": "POP" + }, + "723": { + "op": "POP" + }, + "724": { + "op": "POP" + }, + "725": { + "fn": "FundMe.getPrice", + "jump": "o", + "offset": [ + 676, + 1046 + ], + "op": "JUMP", + "path": "2" + } + }, + "sha1": "615220837f1d5799c6ff487d599efecc7042b84b", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.6.0;\nimport \"@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol\";\nimport \"@chainlink/contracts/src/v0.6/vendor/SafeMathChainlink.sol\";\n\ncontract FundMe {\n using SafeMathChainlink for uint256;\n mapping(address => uint256) public addressToFund;\n address public owner;\n address[] public funders;\n\n constructor() public {\n owner = payable(msg.sender);\n }\n\n function fund() public payable {\n uint256 minimumUSD = 0.000001 * 10 ** 18;\n require(getPrice(msg.value) >= minimumUSD);\n addressToFund[msg.sender] += msg.value;\n funders.push(msg.sender);\n }\n\n function getPrice(uint256 ethAmt) public returns (uint256) {\n AggregatorV3Interface priceFeed = AggregatorV3Interface(\n 0x694AA1769357215DE4FAC081bf1f309aDC325306\n );\n (, int256 answer, , , ) = priceFeed.latestRoundData();\n uint256 price = uint256(answer * 10000000000);\n return (price * ethAmt) / 1000000000000000000;\n }\n\n function withdraw() public payable {\n payable(address(0x38CE0679A2e09e0e9738C702864A691A81f22e3C)).transfer(\n 30000000000000\n );\n }\n}", + "sourceMap": "203:1010:2:-:0;;;377:65;;;;;;;;;-1:-1:-1;408:5:2;:27;;-1:-1:-1;;;;;;408:27:2;424:10;408:27;;;203:1010;;;;;;", + "sourcePath": "contracts/FundMe.sol", + "type": "contract" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/SimpleCollectible.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/SimpleCollectible.json new file mode 100644 index 00000000..7bd26e3a --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/SimpleCollectible.json @@ -0,0 +1,41221 @@ +{ + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "baseURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "tokenURI", + "type": "string" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + } + ], + "name": "createCollectible", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tokenCounter", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "0": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/ERC165.sol", + "1": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/IERC165.sol", + "10": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableMap.sol", + "11": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableSet.sol", + "12": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Strings.sol", + "13": "contracts/NFTmint.sol", + "2": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol", + "3": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/ERC721.sol", + "4": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721.sol", + "5": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Enumerable.sol", + "6": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Metadata.sol", + "7": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Receiver.sol", + "8": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Address.sol", + "9": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Context.sol" + }, + "ast": { + "absolutePath": "contracts/NFTmint.sol", + "exportedSymbols": { + "SimpleCollectible": [ + 54 + ] + }, + "id": 55, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "0.6", + ".6" + ], + "nodeType": "PragmaDirective", + "src": "32:22:13" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/ERC721.sol", + "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", + "id": 2, + "nodeType": "ImportDirective", + "scope": 55, + "sourceUnit": 998, + "src": "56:57:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 3, + "name": "ERC721", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 997, + "src": "145:6:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721_$997", + "typeString": "contract ERC721" + } + }, + "id": 4, + "nodeType": "InheritanceSpecifier", + "src": "145:6:13" + } + ], + "contractDependencies": [ + 997, + 1053, + 1524, + 1555, + 1582, + 1919, + 3070 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 54, + "linearizedBaseContracts": [ + 54, + 997, + 1555, + 1582, + 1524, + 1053, + 3070, + 1919 + ], + "name": "SimpleCollectible", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "functionSelector": "d082e381", + "id": 6, + "mutability": "mutable", + "name": "tokenCounter", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 54, + "src": "158:27:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "158:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "public" + }, + { + "body": { + "id": 17, + "nodeType": "Block", + "src": "260:33:13", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 15, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 13, + "name": "tokenCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "270:12:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 14, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "285:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "270:16:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 16, + "nodeType": "ExpressionStatement", + "src": "270:16:13" + } + ] + }, + "documentation": null, + "id": 18, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "argumentTypes": null, + "hexValue": "4365727469666963617465", + "id": 9, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "220:13:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_476b6a56e8793270a7635a828307eeb92cd7e2153dff9a3bd168aec20746ea55", + "typeString": "literal_string \"Certificate\"" + }, + "value": "Certificate" + }, + { + "argumentTypes": null, + "hexValue": "4465657046616b6543657274696669636174696f6e", + "id": 10, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "235:23:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9bb7d49fef367e635ef78744668658e0d581cf6cf1d9a0764e77c53f16f72bd7", + "typeString": "literal_string \"DeepFakeCertification\"" + }, + "value": "DeepFakeCertification" + } + ], + "id": 11, + "modifierName": { + "argumentTypes": null, + "id": 8, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 997, + "src": "213:6:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$997_$", + "typeString": "type(contract ERC721)" + } + }, + "nodeType": "ModifierInvocation", + "src": "213:46:13" + } + ], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 7, + "nodeType": "ParameterList", + "parameters": [], + "src": "203:2:13" + }, + "returnParameters": { + "id": 12, + "nodeType": "ParameterList", + "parameters": [], + "src": "260:0:13" + }, + "scope": 54, + "src": "192:101:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 52, + "nodeType": "Block", + "src": "416:213:13", + "statements": [ + { + "assignments": [ + 28 + ], + "declarations": [ + { + "constant": false, + "id": 28, + "mutability": "mutable", + "name": "newTokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 52, + "src": "426:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 27, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "426:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 30, + "initialValue": { + "argumentTypes": null, + "id": 29, + "name": "tokenCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "447:12:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "426:33:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 34, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22, + "src": "487:9:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 33, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "479:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 32, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "479:7:13", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 35, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "479:18:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 36, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "499:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 31, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 642, + 671 + ], + "referencedDeclaration": 642, + "src": "469:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 37, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "469:41:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 38, + "nodeType": "ExpressionStatement", + "src": "469:41:13" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 40, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "533:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 41, + "name": "tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 20, + "src": "545:8:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 39, + "name": "_setTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 893, + "src": "520:12:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (uint256,string memory)" + } + }, + "id": 42, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "520:34:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 43, + "nodeType": "ExpressionStatement", + "src": "520:34:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 44, + "name": "tokenCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "564:12:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 45, + "name": "tokenCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6, + "src": "579:12:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "594:1:13", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "579:16:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "564:31:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 49, + "nodeType": "ExpressionStatement", + "src": "564:31:13" + }, + { + "expression": { + "argumentTypes": null, + "id": 50, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28, + "src": "612:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 26, + "id": 51, + "nodeType": "Return", + "src": "605:17:13" + } + ] + }, + "documentation": null, + "functionSelector": "a593bc35", + "id": 53, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "createCollectible", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 23, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 20, + "mutability": "mutable", + "name": "tokenURI", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 53, + "src": "335:22:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 19, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "335:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 22, + "mutability": "mutable", + "name": "recipient", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 53, + "src": "367:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 21, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "367:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "325:65:13" + }, + "returnParameters": { + "id": 26, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 25, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 53, + "src": "407:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 24, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "407:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "406:9:13" + }, + "scope": 54, + "src": "299:330:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 55, + "src": "115:516:13" + } + ], + "src": "32:599:13" + }, + "bytecode": "60806040523480156200001157600080fd5b50604080518082018252600b81526a436572746966696361746560a81b6020808301919091528251808401909352601583527f4465657046616b6543657274696669636174696f6e00000000000000000000009083015290620000846301ffc9a760e01b6001600160e01b036200010e16565b81516200009990600690602085019062000193565b508051620000af90600790602084019062000193565b50620000cb6380ac58cd60e01b6001600160e01b036200010e16565b620000e6635b5e139f60e01b6001600160e01b036200010e16565b6200010163780e9d6360e01b6001600160e01b036200010e16565b50506000600a5562000238565b6001600160e01b031980821614156200016e576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001d657805160ff191683800117855562000206565b8280016001018555821562000206579182015b8281111562000206578251825591602001919060010190620001e9565b506200021492915062000218565b5090565b6200023591905b808211156200021457600081556001016200021f565b90565b611da680620002486000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80636352211e116100ad578063a593bc3511610071578063a593bc3514610395578063b88d4fde14610446578063c87b56dd1461050c578063d082e38114610529578063e985e9c51461053157610121565b80636352211e146103145780636c0360eb1461033157806370a082311461033957806395d89b411461035f578063a22cb4651461036757610121565b806318160ddd116100f457806318160ddd1461024557806323b872dd1461025f5780632f745c591461029557806342842e0e146102c15780634f6ccce7146102f757610121565b806301ffc9a71461012657806306fdde0314610161578063081812fc146101de578063095ea7b314610217575b600080fd5b61014d6004803603602081101561013c57600080fd5b50356001600160e01b03191661055f565b604080519115158252519081900360200190f35b610169610582565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a357818101518382015260200161018b565b50505050905090810190601f1680156101d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360208110156101f457600080fd5b5035610619565b604080516001600160a01b039092168252519081900360200190f35b6102436004803603604081101561022d57600080fd5b506001600160a01b03813516906020013561067b565b005b61024d610756565b60408051918252519081900360200190f35b6102436004803603606081101561027557600080fd5b506001600160a01b03813581169160208101359091169060400135610767565b61024d600480360360408110156102ab57600080fd5b506001600160a01b0381351690602001356107be565b610243600480360360608110156102d757600080fd5b506001600160a01b038135811691602081013590911690604001356107ef565b61024d6004803603602081101561030d57600080fd5b503561080a565b6101fb6004803603602081101561032a57600080fd5b5035610826565b610169610854565b61024d6004803603602081101561034f57600080fd5b50356001600160a01b03166108b5565b61016961091d565b6102436004803603604081101561037d57600080fd5b506001600160a01b038135169060200135151561097e565b61024d600480360360408110156103ab57600080fd5b8101906020810181356401000000008111156103c657600080fd5b8201836020820111156103d857600080fd5b803590602001918460018302840111640100000000831117156103fa57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b03169150610a839050565b6102436004803603608081101561045c57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561049757600080fd5b8201836020820111156104a957600080fd5b803590602001918460018302840111640100000000831117156104cb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610aad945050505050565b6101696004803603602081101561052257600080fd5b5035610b0b565b61024d610d8e565b61014d6004803603604081101561054757600080fd5b506001600160a01b0381358116916020013516610d94565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b820191906000526020600020905b8154815290600101906020018083116105f157829003601f168201915b505050505090505b90565b600061062482610dc2565b61065f5760405162461bcd60e51b815260040180806020018281038252602c815260200180611c6f602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b600061068682610826565b9050806001600160a01b0316836001600160a01b031614156106d95760405162461bcd60e51b8152600401808060200182810382526021815260200180611d1f6021913960400191505060405180910390fd5b806001600160a01b03166106eb610dd5565b6001600160a01b0316148061070c575061070c81610707610dd5565b610d94565b6107475760405162461bcd60e51b8152600401808060200182810382526038815260200180611bc26038913960400191505060405180910390fd5b6107518383610dd9565b505050565b60006107626002610e47565b905090565b610778610772610dd5565b82610e52565b6107b35760405162461bcd60e51b8152600401808060200182810382526031815260200180611d406031913960400191505060405180910390fd5b610751838383610ef6565b6001600160a01b03821660009081526001602052604081206107e6908363ffffffff61105416565b90505b92915050565b61075183838360405180602001604052806000815250610aad565b60008061081e60028463ffffffff61106016565b509392505050565b60006107e982604051806060016040528060298152602001611c24602991396002919063ffffffff61107c16565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b60006001600160a01b0382166108fc5760405162461bcd60e51b815260040180806020018281038252602a815260200180611bfa602a913960400191505060405180910390fd5b6001600160a01b03821660009081526001602052604090206107e990610e47565b60078054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b610986610dd5565b6001600160a01b0316826001600160a01b031614156109ec576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b80600560006109f9610dd5565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff191692151592909217909155610a3d610dd5565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b600a54600090610a938382611093565b610a9d81856110b1565b600a805460010190559392505050565b610abe610ab8610dd5565b83610e52565b610af95760405162461bcd60e51b8152600401808060200182810382526031815260200180611d406031913960400191505060405180910390fd5b610b0584848484611114565b50505050565b6060610b1682610dc2565b610b515760405162461bcd60e51b815260040180806020018281038252602f815260200180611cf0602f913960400191505060405180910390fd5b60008281526008602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610be65780601f10610bbb57610100808354040283529160200191610be6565b820191906000526020600020905b815481529060010190602001808311610bc957829003601f168201915b505050505090506060610bf7610854565b9050805160001415610c0b5750905061057d565b815115610ccc5780826040516020018083805190602001908083835b60208310610c465780518252601f199092019160209182019101610c27565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610c8e5780518252601f199092019160209182019101610c6f565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529250505061057d565b80610cd685611166565b6040516020018083805190602001908083835b60208310610d085780518252601f199092019160209182019101610ce9565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610d505780518252601f199092019160209182019101610d31565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b600a5481565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006107e960028363ffffffff61124116565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610e0e82610826565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006107e98261124d565b6000610e5d82610dc2565b610e985760405162461bcd60e51b815260040180806020018281038252602c815260200180611b96602c913960400191505060405180910390fd5b6000610ea383610826565b9050806001600160a01b0316846001600160a01b03161480610ede5750836001600160a01b0316610ed384610619565b6001600160a01b0316145b80610eee5750610eee8185610d94565b949350505050565b826001600160a01b0316610f0982610826565b6001600160a01b031614610f4e5760405162461bcd60e51b8152600401808060200182810382526029815260200180611cc76029913960400191505060405180910390fd5b6001600160a01b038216610f935760405162461bcd60e51b8152600401808060200182810382526024815260200180611b726024913960400191505060405180910390fd5b610f9e838383610751565b610fa9600082610dd9565b6001600160a01b0383166000908152600160205260409020610fd1908263ffffffff61125116565b506001600160a01b0382166000908152600160205260409020610ffa908263ffffffff61125d16565b5061100d6002828463ffffffff61126916565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006107e6838361127f565b600080808061106f86866112e3565b9097909650945050505050565b600061108984848461135e565b90505b9392505050565b6110ad828260405180602001604052806000815250611428565b5050565b6110ba82610dc2565b6110f55760405162461bcd60e51b815260040180806020018281038252602c815260200180611c9b602c913960400191505060405180910390fd5b6000828152600860209081526040909120825161075192840190611a85565b61111f848484610ef6565b61112b8484848461147a565b610b055760405162461bcd60e51b8152600401808060200182810382526032815260200180611b406032913960400191505060405180910390fd5b60608161118b57506040805180820190915260018152600360fc1b602082015261057d565b8160005b81156111a357600101600a8204915061118f565b60608167ffffffffffffffff811180156111bc57600080fd5b506040519080825280601f01601f1916602001820160405280156111e7576020820181803683370190505b50859350905060001982015b831561123857600a840660300160f81b8282806001900393508151811061121657fe5b60200101906001600160f81b031916908160001a905350600a840493506111f3565b50949350505050565b60006107e683836115fa565b5490565b60006107e68383611612565b60006107e683836116d8565b600061108984846001600160a01b038516611722565b815460009082106112c15760405162461bcd60e51b8152600401808060200182810382526022815260200180611b1e6022913960400191505060405180910390fd5b8260000182815481106112d057fe5b9060005260206000200154905092915050565b8154600090819083106113275760405162461bcd60e51b8152600401808060200182810382526022815260200180611c4d6022913960400191505060405180910390fd5b600084600001848154811061133857fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082815260018401602052604081205482816113f95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113be5781810151838201526020016113a6565b50505050905090810190601f1680156113eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061140c57fe5b9060005260206000209060020201600101549150509392505050565b61143283836117b9565b61143f600084848461147a565b6107515760405162461bcd60e51b8152600401808060200182810382526032815260200180611b406032913960400191505060405180910390fd5b600061148e846001600160a01b03166118f3565b61149a57506001610eee565b60606115c0630a85bd0160e11b6114af610dd5565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611528578181015183820152602001611510565b50505050905090810190601f1680156115555780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001611b40603291396001600160a01b038816919063ffffffff6118f916565b905060008180602001905160208110156115d957600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156116ce578354600019808301919081019060009087908390811061164557fe5b906000526020600020015490508087600001848154811061166257fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061169257fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506107e9565b60009150506107e9565b60006116e483836115fa565b61171a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107e9565b5060006107e9565b60008281526001840160205260408120548061178757505060408051808201825283815260208082018481528654600181810189556000898152848120955160029093029095019182559151908201558654868452818801909252929091205561108c565b8285600001600183038154811061179a57fe5b906000526020600020906002020160010181905550600091505061108c565b6001600160a01b038216611814576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61181d81610dc2565b1561186f576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b61187b60008383610751565b6001600160a01b03821660009081526001602052604090206118a3908263ffffffff61125d16565b506118b66002828463ffffffff61126916565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b3b151590565b606061108984846000858561190d856118f3565b61195e576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061199d5780518252601f19909201916020918201910161197e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146119ff576040519150601f19603f3d011682016040523d82523d6000602084013e611a04565b606091505b5091509150611a14828286611a1f565b979650505050505050565b60608315611a2e57508161108c565b825115611a3e5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156113be5781810151838201526020016113a6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611ac657805160ff1916838001178555611af3565b82800160010185558215611af3579182015b82811115611af3578251825591602001919060010190611ad8565b50611aff929150611b03565b5090565b61061691905b80821115611aff5760008155600101611b0956fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a26469706673582212201180ff22edeb9dc96da9f3ff46ece972c16d926862f9192954f500ef811b70c164736f6c63430006060033", + "bytecodeSha1": "a2b88ae3f0dafecfd8c78803931fdcc70ed1e879", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.6+commit.6c089d02" + }, + "contractName": "SimpleCollectible", + "coverageMap": { + "branches": { + "0": {}, + "1": {}, + "10": { + "EnumerableMap._at": { + "126": [ + 5045, + 5072, + true + ] + }, + "EnumerableMap._get": { + "127": [ + 6570, + 6583, + true + ] + }, + "EnumerableMap._set": { + "128": [ + 2077, + 2090, + false + ] + } + }, + "11": { + "EnumerableSet._add": { + "131": [ + 1724, + 1745, + false + ] + }, + "EnumerableSet._at": { + "129": [ + 4546, + 4572, + true + ] + }, + "EnumerableSet._remove": { + "130": [ + 2449, + 2464, + false + ] + } + }, + "12": { + "Strings.toString": { + "132": [ + 483, + 493, + false + ] + } + }, + "13": {}, + "2": {}, + "3": { + "ERC721._checkOnERC721Received": { + "123": [ + 15669, + 15684, + false + ] + }, + "ERC721._isApprovedOrOwner": { + "117": [ + 10783, + 10799, + true + ] + }, + "ERC721._mint": { + "124": [ + 12325, + 12341, + true + ], + "125": [ + 12396, + 12413, + true + ] + }, + "ERC721._safeMint": { + "122": [ + 11808, + 11862, + true + ] + }, + "ERC721._safeTransfer": { + "121": [ + 9970, + 10018, + true + ] + }, + "ERC721._setTokenURI": { + "120": [ + 14537, + 14553, + true + ] + }, + "ERC721._transfer": { + "118": [ + 13804, + 13835, + true + ], + "119": [ + 13917, + 13933, + true + ] + }, + "ERC721.approve": { + "107": [ + 6903, + 6914, + true + ], + "108": [ + 6971, + 6992, + true + ], + "109": [ + 6996, + 7040, + true + ] + }, + "ERC721.balanceOf": { + "111": [ + 4104, + 4123, + true + ] + }, + "ERC721.getApproved": { + "106": [ + 7325, + 7341, + true + ] + }, + "ERC721.safeTransferFrom": { + "113": [ + 8798, + 8839, + true + ] + }, + "ERC721.setApprovalForAll": { + "112": [ + 7608, + 7632, + true + ] + }, + "ERC721.tokenURI": { + "114": [ + 4953, + 4969, + true + ], + "115": [ + 5190, + 5213, + false + ], + "116": [ + 5358, + 5385, + false + ] + }, + "ERC721.transferFrom": { + "110": [ + 8245, + 8286, + true + ] + } + }, + "4": {}, + "5": {}, + "6": {}, + "7": {}, + "8": { + "Address._verifyCallResult": { + "104": [ + 7234, + 7241, + false + ], + "105": [ + 7375, + 7396, + false + ] + }, + "Address.functionCallWithValue": { + "103": [ + 4858, + 4876, + true + ] + } + }, + "9": {} + }, + "statements": { + "0": { + "ERC165.supportsInterface": { + "0": [ + 1066, + 1106 + ] + } + }, + "1": {}, + "10": { + "EnumerableMap._at": { + "67": [ + 5037, + 5111 + ], + "68": [ + 5176, + 5209 + ] + }, + "EnumerableMap._contains": { + "75": [ + 4365, + 4394 + ] + }, + "EnumerableMap._get": { + "69": [ + 6562, + 6598 + ], + "70": [ + 6644, + 6684 + ] + }, + "EnumerableMap._length": { + "61": [ + 4566, + 4592 + ] + }, + "EnumerableMap._set": { + "86": [ + 2143, + 2200 + ], + "87": [ + 2335, + 2374 + ], + "88": [ + 2388, + 2399 + ], + "89": [ + 2430, + 2471 + ], + "90": [ + 2485, + 2497 + ] + }, + "EnumerableMap.contains": { + "60": [ + 7688, + 7730 + ] + }, + "EnumerableMap.get": { + "47": [ + 9648, + 9726 + ] + }, + "EnumerableMap.length": { + "35": [ + 7908, + 7934 + ] + }, + "EnumerableMap.set": { + "64": [ + 7132, + 7203 + ] + } + }, + "11": { + "EnumerableSet._add": { + "82": [ + 1761, + 1784 + ], + "83": [ + 1919, + 1959 + ], + "84": [ + 1973, + 1984 + ], + "85": [ + 2015, + 2027 + ] + }, + "EnumerableSet._at": { + "65": [ + 4538, + 4611 + ], + "66": [ + 4621, + 4646 + ] + }, + "EnumerableSet._remove": { + "76": [ + 3274, + 3312 + ], + "77": [ + 3378, + 3421 + ], + "78": [ + 3527, + 3544 + ], + "79": [ + 3612, + 3638 + ], + "80": [ + 3653, + 3664 + ], + "81": [ + 3695, + 3707 + ] + }, + "EnumerableSet.add": { + "63": [ + 8151, + 8190 + ] + }, + "EnumerableSet.at": { + "46": [ + 9340, + 9378 + ] + }, + "EnumerableSet.remove": { + "62": [ + 8451, + 8493 + ] + } + }, + "12": { + "Strings.toString": { + "53": [ + 509, + 519 + ], + "54": [ + 625, + 633 + ], + "55": [ + 647, + 657 + ], + "56": [ + 762, + 774 + ], + "57": [ + 816, + 863 + ], + "58": [ + 877, + 887 + ], + "59": [ + 907, + 928 + ] + } + }, + "13": { + "SimpleCollectible.createCollectible": { + "20": [ + 469, + 510 + ], + "21": [ + 520, + 554 + ], + "22": [ + 564, + 595 + ], + "23": [ + 605, + 622 + ] + } + }, + "2": {}, + "3": { + "ERC721._approve": { + "33": [ + 16184, + 16213 + ], + "34": [ + 16223, + 16274 + ] + }, + "ERC721._checkOnERC721Received": { + "73": [ + 15700, + 15711 + ], + "74": [ + 16071, + 16106 + ] + }, + "ERC721._exists": { + "31": [ + 10464, + 10501 + ] + }, + "ERC721._isApprovedOrOwner": { + "36": [ + 10775, + 10848 + ], + "37": [ + 10907, + 11010 + ] + }, + "ERC721._mint": { + "91": [ + 12317, + 12378 + ], + "92": [ + 12388, + 12446 + ], + "93": [ + 12457, + 12502 + ], + "94": [ + 12513, + 12543 + ], + "95": [ + 12554, + 12583 + ], + "96": [ + 12594, + 12632 + ] + }, + "ERC721._safeMint": { + "48": [ + 11423, + 11449 + ], + "71": [ + 11772, + 11790 + ], + "72": [ + 11800, + 11917 + ] + }, + "ERC721._safeTransfer": { + "51": [ + 9924, + 9952 + ], + "52": [ + 9962, + 10073 + ] + }, + "ERC721._setTokenURI": { + "49": [ + 14529, + 14602 + ], + "50": [ + 14612, + 14643 + ] + }, + "ERC721._transfer": { + "38": [ + 13796, + 13881 + ], + "39": [ + 13909, + 13974 + ], + "40": [ + 13985, + 14024 + ], + "41": [ + 14086, + 14115 + ], + "42": [ + 14126, + 14161 + ], + "43": [ + 14171, + 14201 + ], + "44": [ + 14212, + 14241 + ], + "45": [ + 14252, + 14284 + ] + }, + "ERC721.approve": { + "4": [ + 6895, + 6952 + ], + "5": [ + 6963, + 7122 + ], + "6": [ + 7133, + 7154 + ] + }, + "ERC721.balanceOf": { + "14": [ + 4096, + 4170 + ], + "15": [ + 4180, + 4216 + ] + }, + "ERC721.baseURI": { + "13": [ + 5928, + 5943 + ] + }, + "ERC721.getApproved": { + "2": [ + 7317, + 7390 + ], + "3": [ + 7401, + 7432 + ] + }, + "ERC721.isApprovedForAll": { + "30": [ + 7975, + 8017 + ] + }, + "ERC721.name": { + "1": [ + 4596, + 4608 + ] + }, + "ERC721.ownerOf": { + "12": [ + 4371, + 4448 + ] + }, + "ERC721.safeTransferFrom": { + "11": [ + 8555, + 8594 + ], + "24": [ + 8790, + 8893 + ], + "25": [ + 8903, + 8942 + ] + }, + "ERC721.setApprovalForAll": { + "17": [ + 7600, + 7662 + ], + "18": [ + 7673, + 7726 + ], + "19": [ + 7736, + 7789 + ] + }, + "ERC721.symbol": { + "16": [ + 4760, + 4774 + ] + }, + "ERC721.tokenOfOwnerByIndex": { + "10": [ + 6145, + 6182 + ] + }, + "ERC721.tokenURI": { + "26": [ + 4945, + 5021 + ], + "27": [ + 5229, + 5245 + ], + "28": [ + 5401, + 5449 + ], + "29": [ + 5559, + 5616 + ] + }, + "ERC721.totalSupply": { + "7": [ + 6433, + 6461 + ] + }, + "ERC721.transferFrom": { + "8": [ + 8237, + 8340 + ], + "9": [ + 8351, + 8379 + ] + } + }, + "4": {}, + "5": {}, + "6": {}, + "7": {}, + "8": { + "Address._verifyCallResult": { + "101": [ + 7257, + 7274 + ], + "102": [ + 7765, + 7785 + ] + }, + "Address.functionCall": { + "98": [ + 3708, + 3767 + ] + }, + "Address.functionCallWithValue": { + "99": [ + 4850, + 4910 + ], + "100": [ + 5065, + 5124 + ] + }, + "Address.isContract": { + "97": [ + 1117, + 1132 + ] + } + }, + "9": { + "Context._msgSender": { + "32": [ + 678, + 695 + ] + } + } + } + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@3.4.0/Address", + "OpenZeppelin/openzeppelin-contracts@3.4.0/Context", + "OpenZeppelin/openzeppelin-contracts@3.4.0/ERC165", + "OpenZeppelin/openzeppelin-contracts@3.4.0/ERC721", + "OpenZeppelin/openzeppelin-contracts@3.4.0/EnumerableMap", + "OpenZeppelin/openzeppelin-contracts@3.4.0/EnumerableSet", + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721", + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Enumerable", + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Metadata", + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Receiver", + "OpenZeppelin/openzeppelin-contracts@3.4.0/SafeMath", + "OpenZeppelin/openzeppelin-contracts@3.4.0/Strings" + ], + "deployedBytecode": "608060405234801561001057600080fd5b50600436106101215760003560e01c80636352211e116100ad578063a593bc3511610071578063a593bc3514610395578063b88d4fde14610446578063c87b56dd1461050c578063d082e38114610529578063e985e9c51461053157610121565b80636352211e146103145780636c0360eb1461033157806370a082311461033957806395d89b411461035f578063a22cb4651461036757610121565b806318160ddd116100f457806318160ddd1461024557806323b872dd1461025f5780632f745c591461029557806342842e0e146102c15780634f6ccce7146102f757610121565b806301ffc9a71461012657806306fdde0314610161578063081812fc146101de578063095ea7b314610217575b600080fd5b61014d6004803603602081101561013c57600080fd5b50356001600160e01b03191661055f565b604080519115158252519081900360200190f35b610169610582565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a357818101518382015260200161018b565b50505050905090810190601f1680156101d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360208110156101f457600080fd5b5035610619565b604080516001600160a01b039092168252519081900360200190f35b6102436004803603604081101561022d57600080fd5b506001600160a01b03813516906020013561067b565b005b61024d610756565b60408051918252519081900360200190f35b6102436004803603606081101561027557600080fd5b506001600160a01b03813581169160208101359091169060400135610767565b61024d600480360360408110156102ab57600080fd5b506001600160a01b0381351690602001356107be565b610243600480360360608110156102d757600080fd5b506001600160a01b038135811691602081013590911690604001356107ef565b61024d6004803603602081101561030d57600080fd5b503561080a565b6101fb6004803603602081101561032a57600080fd5b5035610826565b610169610854565b61024d6004803603602081101561034f57600080fd5b50356001600160a01b03166108b5565b61016961091d565b6102436004803603604081101561037d57600080fd5b506001600160a01b038135169060200135151561097e565b61024d600480360360408110156103ab57600080fd5b8101906020810181356401000000008111156103c657600080fd5b8201836020820111156103d857600080fd5b803590602001918460018302840111640100000000831117156103fa57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b03169150610a839050565b6102436004803603608081101561045c57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561049757600080fd5b8201836020820111156104a957600080fd5b803590602001918460018302840111640100000000831117156104cb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610aad945050505050565b6101696004803603602081101561052257600080fd5b5035610b0b565b61024d610d8e565b61014d6004803603604081101561054757600080fd5b506001600160a01b0381358116916020013516610d94565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b820191906000526020600020905b8154815290600101906020018083116105f157829003601f168201915b505050505090505b90565b600061062482610dc2565b61065f5760405162461bcd60e51b815260040180806020018281038252602c815260200180611c6f602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b600061068682610826565b9050806001600160a01b0316836001600160a01b031614156106d95760405162461bcd60e51b8152600401808060200182810382526021815260200180611d1f6021913960400191505060405180910390fd5b806001600160a01b03166106eb610dd5565b6001600160a01b0316148061070c575061070c81610707610dd5565b610d94565b6107475760405162461bcd60e51b8152600401808060200182810382526038815260200180611bc26038913960400191505060405180910390fd5b6107518383610dd9565b505050565b60006107626002610e47565b905090565b610778610772610dd5565b82610e52565b6107b35760405162461bcd60e51b8152600401808060200182810382526031815260200180611d406031913960400191505060405180910390fd5b610751838383610ef6565b6001600160a01b03821660009081526001602052604081206107e6908363ffffffff61105416565b90505b92915050565b61075183838360405180602001604052806000815250610aad565b60008061081e60028463ffffffff61106016565b509392505050565b60006107e982604051806060016040528060298152602001611c24602991396002919063ffffffff61107c16565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b60006001600160a01b0382166108fc5760405162461bcd60e51b815260040180806020018281038252602a815260200180611bfa602a913960400191505060405180910390fd5b6001600160a01b03821660009081526001602052604090206107e990610e47565b60078054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b610986610dd5565b6001600160a01b0316826001600160a01b031614156109ec576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b80600560006109f9610dd5565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff191692151592909217909155610a3d610dd5565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b600a54600090610a938382611093565b610a9d81856110b1565b600a805460010190559392505050565b610abe610ab8610dd5565b83610e52565b610af95760405162461bcd60e51b8152600401808060200182810382526031815260200180611d406031913960400191505060405180910390fd5b610b0584848484611114565b50505050565b6060610b1682610dc2565b610b515760405162461bcd60e51b815260040180806020018281038252602f815260200180611cf0602f913960400191505060405180910390fd5b60008281526008602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610be65780601f10610bbb57610100808354040283529160200191610be6565b820191906000526020600020905b815481529060010190602001808311610bc957829003601f168201915b505050505090506060610bf7610854565b9050805160001415610c0b5750905061057d565b815115610ccc5780826040516020018083805190602001908083835b60208310610c465780518252601f199092019160209182019101610c27565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610c8e5780518252601f199092019160209182019101610c6f565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529250505061057d565b80610cd685611166565b6040516020018083805190602001908083835b60208310610d085780518252601f199092019160209182019101610ce9565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610d505780518252601f199092019160209182019101610d31565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b600a5481565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006107e960028363ffffffff61124116565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610e0e82610826565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006107e98261124d565b6000610e5d82610dc2565b610e985760405162461bcd60e51b815260040180806020018281038252602c815260200180611b96602c913960400191505060405180910390fd5b6000610ea383610826565b9050806001600160a01b0316846001600160a01b03161480610ede5750836001600160a01b0316610ed384610619565b6001600160a01b0316145b80610eee5750610eee8185610d94565b949350505050565b826001600160a01b0316610f0982610826565b6001600160a01b031614610f4e5760405162461bcd60e51b8152600401808060200182810382526029815260200180611cc76029913960400191505060405180910390fd5b6001600160a01b038216610f935760405162461bcd60e51b8152600401808060200182810382526024815260200180611b726024913960400191505060405180910390fd5b610f9e838383610751565b610fa9600082610dd9565b6001600160a01b0383166000908152600160205260409020610fd1908263ffffffff61125116565b506001600160a01b0382166000908152600160205260409020610ffa908263ffffffff61125d16565b5061100d6002828463ffffffff61126916565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006107e6838361127f565b600080808061106f86866112e3565b9097909650945050505050565b600061108984848461135e565b90505b9392505050565b6110ad828260405180602001604052806000815250611428565b5050565b6110ba82610dc2565b6110f55760405162461bcd60e51b815260040180806020018281038252602c815260200180611c9b602c913960400191505060405180910390fd5b6000828152600860209081526040909120825161075192840190611a85565b61111f848484610ef6565b61112b8484848461147a565b610b055760405162461bcd60e51b8152600401808060200182810382526032815260200180611b406032913960400191505060405180910390fd5b60608161118b57506040805180820190915260018152600360fc1b602082015261057d565b8160005b81156111a357600101600a8204915061118f565b60608167ffffffffffffffff811180156111bc57600080fd5b506040519080825280601f01601f1916602001820160405280156111e7576020820181803683370190505b50859350905060001982015b831561123857600a840660300160f81b8282806001900393508151811061121657fe5b60200101906001600160f81b031916908160001a905350600a840493506111f3565b50949350505050565b60006107e683836115fa565b5490565b60006107e68383611612565b60006107e683836116d8565b600061108984846001600160a01b038516611722565b815460009082106112c15760405162461bcd60e51b8152600401808060200182810382526022815260200180611b1e6022913960400191505060405180910390fd5b8260000182815481106112d057fe5b9060005260206000200154905092915050565b8154600090819083106113275760405162461bcd60e51b8152600401808060200182810382526022815260200180611c4d6022913960400191505060405180910390fd5b600084600001848154811061133857fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082815260018401602052604081205482816113f95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113be5781810151838201526020016113a6565b50505050905090810190601f1680156113eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061140c57fe5b9060005260206000209060020201600101549150509392505050565b61143283836117b9565b61143f600084848461147a565b6107515760405162461bcd60e51b8152600401808060200182810382526032815260200180611b406032913960400191505060405180910390fd5b600061148e846001600160a01b03166118f3565b61149a57506001610eee565b60606115c0630a85bd0160e11b6114af610dd5565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611528578181015183820152602001611510565b50505050905090810190601f1680156115555780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001611b40603291396001600160a01b038816919063ffffffff6118f916565b905060008180602001905160208110156115d957600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156116ce578354600019808301919081019060009087908390811061164557fe5b906000526020600020015490508087600001848154811061166257fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061169257fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506107e9565b60009150506107e9565b60006116e483836115fa565b61171a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107e9565b5060006107e9565b60008281526001840160205260408120548061178757505060408051808201825283815260208082018481528654600181810189556000898152848120955160029093029095019182559151908201558654868452818801909252929091205561108c565b8285600001600183038154811061179a57fe5b906000526020600020906002020160010181905550600091505061108c565b6001600160a01b038216611814576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61181d81610dc2565b1561186f576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b61187b60008383610751565b6001600160a01b03821660009081526001602052604090206118a3908263ffffffff61125d16565b506118b66002828463ffffffff61126916565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b3b151590565b606061108984846000858561190d856118f3565b61195e576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061199d5780518252601f19909201916020918201910161197e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146119ff576040519150601f19603f3d011682016040523d82523d6000602084013e611a04565b606091505b5091509150611a14828286611a1f565b979650505050505050565b60608315611a2e57508161108c565b825115611a3e5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156113be5781810151838201526020016113a6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611ac657805160ff1916838001178555611af3565b82800160010185558215611af3579182015b82811115611af3578251825591602001919060010190611ad8565b50611aff929150611b03565b5090565b61061691905b80821115611aff5760008155600101611b0956fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a26469706673582212201180ff22edeb9dc96da9f3ff46ece972c16d926862f9192954f500ef811b70c164736f6c63430006060033", + "deployedSourceMap": "115:516:13:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;115:516:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;965:148:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;965:148:0;-1:-1:-1;;;;;;965:148:0;;:::i;:::-;;;;;;;;;;;;;;;;;;4517:98:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4517:98:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7222:217;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7222:217:3;;:::i;:::-;;;;-1:-1:-1;;;;;7222:217:3;;;;;;;;;;;;;;6766:395;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6766:395:3;;;;;;;;:::i;:::-;;6260:208;;;:::i;:::-;;;;;;;;;;;;;;;;8086:300;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8086:300:3;;;;;;;;;;;;;;;;;:::i;6029:160::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6029:160:3;;;;;;;;:::i;8452:149::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8452:149:3;;;;;;;;;;;;;;;;;:::i;6540:169::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6540:169:3;;:::i;4280:175::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4280:175:3;;:::i;5855:95::-;;;:::i;4005:218::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4005:218:3;-1:-1:-1;;;;;4005:218:3;;:::i;4679:102::-;;;:::i;7506:290::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;7506:290:3;;;;;;;;;;:::i;299:330:13:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;299:330:13;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;299:330:13;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;299:330:13;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;299:330:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;299:330:13;;-1:-1:-1;;;299:330:13;;-1:-1:-1;;;;;299:330:13;;-1:-1:-1;299:330:13;;-1:-1:-1;299:330:13:i;8667:282:3:-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;;;;;8667:282:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;8667:282:3;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;8667:282:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8667:282:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8667:282:3;;-1:-1:-1;8667:282:3;;-1:-1:-1;;;;;8667:282:3:i;4847:776::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4847:776:3;;:::i;158:27:13:-;;;:::i;7862:162:3:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;7862:162:3;;;;;;;;;;:::i;965:148:0:-;-1:-1:-1;;;;;;1073:33:0;;1050:4;1073:33;;;;;;;;;;;;;965:148;;;;:::o;4517:98:3:-;4603:5;4596:12;;;;;;;;-1:-1:-1;;4596:12:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4571:13;;4596:12;;4603:5;;4596:12;;4603:5;4596:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4517:98;;:::o;7222:217::-;7298:7;7325:16;7333:7;7325;:16::i;:::-;7317:73;;;;-1:-1:-1;;;7317:73:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7408:24:3;;;;:15;:24;;;;;;-1:-1:-1;;;;;7408:24:3;;7222:217::o;6766:395::-;6846:13;6862:23;6877:7;6862:14;:23::i;:::-;6846:39;;6909:5;-1:-1:-1;;;;;6903:11:3;:2;-1:-1:-1;;;;;6903:11:3;;;6895:57;;;;-1:-1:-1;;;6895:57:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6987:5;-1:-1:-1;;;;;6971:21:3;:12;:10;:12::i;:::-;-1:-1:-1;;;;;6971:21:3;;:69;;;;6996:44;7020:5;7027:12;:10;:12::i;:::-;6996:23;:44::i;:::-;6963:159;;;;-1:-1:-1;;;6963:159:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7133:21;7142:2;7146:7;7133:8;:21::i;:::-;6766:395;;;:::o;6260:208::-;6321:7;6440:21;:12;:19;:21::i;:::-;6433:28;;6260:208;:::o;8086:300::-;8245:41;8264:12;:10;:12::i;:::-;8278:7;8245:18;:41::i;:::-;8237:103;;;;-1:-1:-1;;;8237:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8351:28;8361:4;8367:2;8371:7;8351:9;:28::i;6029:160::-;-1:-1:-1;;;;;6152:20:3;;6126:7;6152:20;;;:13;:20;;;;;:30;;6176:5;6152:30;:23;:30;:::i;:::-;6145:37;;6029:160;;;;;:::o;8452:149::-;8555:39;8572:4;8578:2;8582:7;8555:39;;;;;;;;;;;;:16;:39::i;6540:169::-;6615:7;;6656:22;:12;6672:5;6656:22;:15;:22;:::i;:::-;-1:-1:-1;6634:44:3;6540:169;-1:-1:-1;;;6540:169:3:o;4280:175::-;4352:7;4378:70;4395:7;4378:70;;;;;;;;;;;;;;;;;:12;;:70;;:16;:70;:::i;5855:95::-;5935:8;5928:15;;;;;;;;-1:-1:-1;;5928:15:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5903:13;;5928:15;;5935:8;;5928:15;;5935:8;5928:15;;;;;;;;;;;;;;;;;;;;;;;;4005:218;4077:7;-1:-1:-1;;;;;4104:19:3;;4096:74;;;;-1:-1:-1;;;4096:74:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4187:20:3;;;;;;:13;:20;;;;;:29;;:27;:29::i;4679:102::-;4767:7;4760:14;;;;;;;;-1:-1:-1;;4760:14:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4735:13;;4760:14;;4767:7;;4760:14;;4767:7;4760:14;;;;;;;;;;;;;;;;;;;;;;;;7506:290;7620:12;:10;:12::i;:::-;-1:-1:-1;;;;;7608:24:3;:8;-1:-1:-1;;;;;7608:24:3;;;7600:62;;;;;-1:-1:-1;;;7600:62:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;7718:8;7673:18;:32;7692:12;:10;:12::i;:::-;-1:-1:-1;;;;;7673:32:3;;;;;;;;;;;;;;;;;-1:-1:-1;7673:32:3;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;7673:53:3;;;;;;;;;;;7756:12;:10;:12::i;:::-;7741:48;;;;;;;;;;-1:-1:-1;;;;;7741:48:3;;;;;;;;;;;;;;7506:290;;:::o;299:330:13:-;447:12;;407:7;;469:41;487:9;447:12;469:9;:41::i;:::-;520:34;533:10;545:8;520:12;:34::i;:::-;579:12;;;594:1;579:16;564:31;;612:10;299:330;-1:-1:-1;;;299:330:13:o;8667:282:3:-;8798:41;8817:12;:10;:12::i;:::-;8831:7;8798:18;:41::i;:::-;8790:103;;;;-1:-1:-1;;;8790:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8903:39;8917:4;8923:2;8927:7;8936:5;8903:13;:39::i;:::-;8667:282;;;;:::o;4847:776::-;4920:13;4953:16;4961:7;4953;:16::i;:::-;4945:76;;;;-1:-1:-1;;;4945:76:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:19;;;;:10;:19;;;;;;;;;5032:45;;;;;;-1:-1:-1;;5032:45:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;:45;;;5058:19;5032:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5087:18;5108:9;:7;:9::i;:::-;5087:30;;5196:4;5190:18;5212:1;5190:23;5186:70;;;-1:-1:-1;5236:9:3;-1:-1:-1;5229:16:3;;5186:70;5358:23;;:27;5354:106;;5432:4;5438:9;5415:33;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5415::3;;;;;;;;;;-1:-1:-1;5415:33:3;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5415:33:3;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5415:33:3;;;5401:48;;;;;;5354:106;5590:4;5596:18;:7;:16;:18::i;:::-;5573:42;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5573:42:3;;;;;;;;;;-1:-1:-1;5573:42:3;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5573:42:3;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5573:42:3;;;5559:57;;;;4847:776;;;:::o;158:27:13:-;;;;:::o;7862:162:3:-;-1:-1:-1;;;;;7982:25:3;;;7959:4;7982:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;7862:162::o;10383:125::-;10448:4;10471:30;:12;10493:7;10471:30;:21;:30;:::i;598:104:9:-;685:10;598:104;:::o;16119:180:3:-;16184:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;16184:29:3;-1:-1:-1;;;;;16184:29:3;;;;;;;;:24;;16237:23;16184:24;16237:14;:23::i;:::-;-1:-1:-1;;;;;16228:46:3;;;;;;;;;;;16119:180;;:::o;7820:121:10:-;7889:7;7915:19;7923:3;7915:7;:19::i;10666:351:3:-;10759:4;10783:16;10791:7;10783;:16::i;:::-;10775:73;;;;-1:-1:-1;;;10775:73:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10858:13;10874:23;10889:7;10874:14;:23::i;:::-;10858:39;;10926:5;-1:-1:-1;;;;;10915:16:3;:7;-1:-1:-1;;;;;10915:16:3;;:51;;;;10959:7;-1:-1:-1;;;;;10935:31:3;:20;10947:7;10935:11;:20::i;:::-;-1:-1:-1;;;;;10935:31:3;;10915:51;:94;;;;10970:39;10994:5;11001:7;10970:23;:39::i;:::-;10907:103;10666:351;-1:-1:-1;;;;10666:351:3:o;13707:584::-;13831:4;-1:-1:-1;;;;;13804:31:3;:23;13819:7;13804:14;:23::i;:::-;-1:-1:-1;;;;;13804:31:3;;13796:85;;;;-1:-1:-1;;;13796:85:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13917:16:3;;13909:65;;;;-1:-1:-1;;;13909:65:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13985:39;14006:4;14012:2;14016:7;13985:20;:39::i;:::-;14086:29;14103:1;14107:7;14086:8;:29::i;:::-;-1:-1:-1;;;;;14126:19:3;;;;;;:13;:19;;;;;:35;;14153:7;14126:35;:26;:35;:::i;:::-;-1:-1:-1;;;;;;14171:17:3;;;;;;:13;:17;;;;;:30;;14193:7;14171:30;:21;:30;:::i;:::-;-1:-1:-1;14212:29:3;:12;14229:7;14238:2;14212:29;:16;:29;:::i;:::-;;14276:7;14272:2;-1:-1:-1;;;;;14257:27:3;14266:4;-1:-1:-1;;;;;14257:27:3;;;;;;;;;;;13707:584;;;:::o;9250:135:11:-;9321:7;9355:22;9359:3;9371:5;9355:3;:22::i;8269:233:10:-;8349:7;;;;8408:22;8412:3;8424:5;8408:3;:22::i;:::-;8377:53;;;;-1:-1:-1;8269:233:10;-1:-1:-1;;;;;8269:233:10:o;9522:211::-;9629:7;9679:44;9684:3;9704;9710:12;9679:4;:44::i;:::-;9671:53;-1:-1:-1;9522:211:10;;;;;;:::o;11348:108:3:-;11423:26;11433:2;11437:7;11423:26;;;;;;;;;;;;:9;:26::i;:::-;11348:108;;:::o;14438:212::-;14537:16;14545:7;14537;:16::i;:::-;14529:73;;;;-1:-1:-1;;;14529:73:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14612:19;;;;:10;:19;;;;;;;;:31;;;;;;;;:::i;9811:269::-;9924:28;9934:4;9940:2;9944:7;9924:9;:28::i;:::-;9970:48;9993:4;9999:2;10003:7;10012:5;9970:22;:48::i;:::-;9962:111;;;;-1:-1:-1;;;9962:111:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:725:12;266:13;483:10;479:51;;-1:-1:-1;509:10:12;;;;;;;;;;;;-1:-1:-1;;;509:10:12;;;;;;479:51;554:5;539:12;593:75;600:9;;593:75;;625:8;;655:2;647:10;;;;593:75;;;677:19;709:6;699:17;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;699:17:12;;;;;;;;;;;;;;;;;;;;;;;;;;21:6:-1;;108:14;699:17:12;87:42:-1;143:17;;-1:-1;699:17:12;-1:-1:-1;769:5:12;;-1:-1:-1;677:39:12;-1:-1:-1;;;742:10:12;;784:114;791:9;;784:114;;859:2;852:4;:9;847:2;:14;834:29;;816:6;823:7;;;;;;;816:15;;;;;;;;;;;:47;-1:-1:-1;;;;;816:47:12;;;;;;;;-1:-1:-1;885:2:12;877:10;;;;784:114;;;-1:-1:-1;921:6:12;210:725;-1:-1:-1;;;;210:725:12:o;7588:149:10:-;7672:4;7695:35;7705:3;7725;7695:9;:35::i;4491:108::-;4573:19;;4491:108::o;8365:135:11:-;8435:4;8458:35;8466:3;8486:5;8458:7;:35::i;8068:129::-;8135:4;8158:32;8163:3;8183:5;8158:4;:32::i;7027:183:10:-;7116:4;7139:64;7144:3;7164;-1:-1:-1;;;;;7178:23:10;;7139:4;:64::i;4452:201:11:-;4546:18;;4519:7;;4546:26;-1:-1:-1;4538:73:11;;;;-1:-1:-1;;;4538:73:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4628:3;:11;;4640:5;4628:18;;;;;;;;;;;;;;;;4621:25;;4452:201;;;;:::o;4942:274:10:-;5045:19;;5009:7;;;;5045:27;-1:-1:-1;5037:74:10;;;;-1:-1:-1;;;5037:74:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5122:22;5147:3;:12;;5160:5;5147:19;;;;;;;;;;;;;;;;;;5122:44;;5184:5;:10;;;5196:5;:12;;;5176:33;;;;;4942:274;;;;;:::o;6403:315::-;6497:7;6535:17;;;:12;;;:17;;;;;;6585:12;6570:13;6562:36;;;;-1:-1:-1;;;6562:36:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6562:36:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:3;:12;;6675:1;6664:8;:12;6651:26;;;;;;;;;;;;;;;;;;:33;;;6644:40;;;6403:315;;;;;:::o;11677:247:3:-;11772:18;11778:2;11782:7;11772:5;:18::i;:::-;11808:54;11839:1;11843:2;11847:7;11856:5;11808:22;:54::i;:::-;11800:117;;;;-1:-1:-1;;;11800:117:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15524:589;15644:4;15669:15;:2;-1:-1:-1;;;;;15669:13:3;;:15::i;:::-;15664:58;;-1:-1:-1;15707:4:3;15700:11;;15664:58;15731:23;15757:246;-1:-1:-1;;;15868:12:3;:10;:12::i;:::-;15894:4;15912:7;15933:5;15773:175;;;;;;-1:-1:-1;;;;;15773:175:3;-1:-1:-1;;;;;15773:175:3;;;;;;-1:-1:-1;;;;;15773:175:3;-1:-1:-1;;;;;15773:175:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15773:175:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;15773:175:3;;;;-1:-1:-1;;;;;15773:175:3;;38:4:-1;29:7;25:18;67:10;61:17;-1:-1;;;;;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;15773:175:3;15757:246;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15757:15:3;;;:246;;:15;:246;:::i;:::-;15731:272;;16013:13;16040:10;16029:32;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16029:32:3;-1:-1:-1;;;;;;16079:26:3;-1:-1:-1;;;16079:26:3;;-1:-1:-1;;;15524:589:3;;;;;;:::o;4278:123:10:-;4349:4;4372:17;;;:12;;;;;:17;;;;;;:22;;;4278:123::o;2212:1512:11:-;2278:4;2415:19;;;:12;;;:19;;;;;;2449:15;;2445:1273;;2878:18;;-1:-1:-1;;2830:14:11;;;;2878:22;;;;2806:21;;2878:3;;:22;;3160;;;;;;;;;;;;;;3140:42;;3303:9;3274:3;:11;;3286:13;3274:26;;;;;;;;;;;;;;;;;;;:38;;;;3378:23;;;3420:1;3378:12;;;:23;;;;;;3404:17;;;3378:43;;3527:17;;3378:3;;3527:17;;;;;;;;;;;;;;;;;;;;;;3619:3;:12;;:19;3632:5;3619:19;;;;;;;;;;;3612:26;;;3660:4;3653:11;;;;;;;;2445:1273;3702:5;3695:12;;;;;1640:404;1703:4;1724:21;1734:3;1739:5;1724:9;:21::i;:::-;1719:319;;-1:-1:-1;27:10;;39:1;23:18;;;45:23;;1761:11:11;:23;;;;;;;;;;;;;1941:18;;1919:19;;;:12;;;:19;;;;;;:40;;;;1973:11;;1719:319;-1:-1:-1;2022:5:11;2015:12;;1836:678:10;1912:4;2045:17;;;:12;;;:17;;;;;;2077:13;2073:435;;-1:-1:-1;;2161:38:10;;;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;2143:12:10;:57;;;;;;;;;;;;;;;;;;;;;;;;2355:19;;2335:17;;;:12;;;:17;;;;;;;:39;2388:11;;2073:435;2466:5;2430:3;:12;;2454:1;2443:8;:12;2430:26;;;;;;;;;;;;;;;;;;:33;;:41;;;;2492:5;2485:12;;;;;12246:393:3;-1:-1:-1;;;;;12325:16:3;;12317:61;;;;;-1:-1:-1;;;12317:61:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12397:16;12405:7;12397;:16::i;:::-;12396:17;12388:58;;;;;-1:-1:-1;;;12388:58:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;12457:45;12486:1;12490:2;12494:7;12457:20;:45::i;:::-;-1:-1:-1;;;;;12513:17:3;;;;;;:13;:17;;;;;:30;;12535:7;12513:30;:21;:30;:::i;:::-;-1:-1:-1;12554:29:3;:12;12571:7;12580:2;12554:29;:16;:29;:::i;:::-;-1:-1:-1;12599:33:3;;12624:7;;-1:-1:-1;;;;;12599:33:3;;;12616:1;;12599:33;;12616:1;;12599:33;12246:393;;:::o;726:413:8:-;1086:20;1124:8;;;726:413::o;3581:193::-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:8;5042:5;5050:4;5022:33;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5022:33:8;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;4980:75:8;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:8:o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:8;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:8;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;115:516:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;115:516:13;;;-1:-1:-1;115:516:13;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;", + "language": "Solidity", + "natspec": { + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "baseURI()": { + "details": "Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenByIndex(uint256)": { + "details": "See {IERC721Enumerable-tokenByIndex}." + }, + "tokenOfOwnerByIndex(address,uint256)": { + "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." + }, + "tokenURI(uint256)": { + "details": "See {IERC721Metadata-tokenURI}." + }, + "totalSupply()": { + "details": "See {IERC721Enumerable-totalSupply}." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + } + } + }, + "offset": [ + 115, + 631 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x121 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0xAD JUMPI DUP1 PUSH4 0xA593BC35 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xA593BC35 EQ PUSH2 0x395 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x446 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x50C JUMPI DUP1 PUSH4 0xD082E381 EQ PUSH2 0x529 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x531 JUMPI PUSH2 0x121 JUMP JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x314 JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x331 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x339 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x35F JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x367 JUMPI PUSH2 0x121 JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x25F JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x2C1 JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x2F7 JUMPI PUSH2 0x121 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x126 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x161 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x1DE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x217 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x13C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH2 0x55F JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x169 PUSH2 0x582 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP4 MLOAD DUP2 DUP4 ADD MSTORE DUP4 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP4 ADD SWAP2 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1A3 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x18B JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1D0 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x619 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 0x243 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x22D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x67B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x24D PUSH2 0x756 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x243 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x275 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x767 JUMP JUMPDEST PUSH2 0x24D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x2AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x7BE JUMP JUMPDEST PUSH2 0x243 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x2D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x7EF JUMP JUMPDEST PUSH2 0x24D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x30D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x80A JUMP JUMPDEST PUSH2 0x1FB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x32A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x826 JUMP JUMPDEST PUSH2 0x169 PUSH2 0x854 JUMP JUMPDEST PUSH2 0x24D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x34F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x8B5 JUMP JUMPDEST PUSH2 0x169 PUSH2 0x91D JUMP JUMPDEST PUSH2 0x243 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x37D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD ISZERO ISZERO PUSH2 0x97E JUMP JUMPDEST PUSH2 0x24D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x3AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 PUSH1 0x20 DUP2 ADD DUP2 CALLDATALOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x3FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP SWAP3 SWAP6 POP POP POP SWAP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 POP PUSH2 0xA83 SWAP1 POP JUMP JUMPDEST PUSH2 0x243 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x80 DUP2 LT ISZERO PUSH2 0x45C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 CALLDATALOAD DUP2 AND SWAP3 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP2 PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x80 DUP2 ADD PUSH1 0x60 DUP3 ADD CALLDATALOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x497 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x4A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x4CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP SWAP3 SWAP6 POP PUSH2 0xAAD SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x169 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x522 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0xB0B JUMP JUMPDEST PUSH2 0x24D PUSH2 0xD8E JUMP JUMPDEST PUSH2 0x14D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x547 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 ADD CALLDATALOAD AND PUSH2 0xD94 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x60E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5E3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x60E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5F1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x624 DUP3 PUSH2 0xDC2 JUMP JUMPDEST PUSH2 0x65F 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 0x2C DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1C6F PUSH1 0x2C SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x686 DUP3 PUSH2 0x826 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x6D9 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 0x1D1F PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x6EB PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x70C JUMPI POP PUSH2 0x70C DUP2 PUSH2 0x707 PUSH2 0xDD5 JUMP JUMPDEST PUSH2 0xD94 JUMP JUMPDEST PUSH2 0x747 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 0x38 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1BC2 PUSH1 0x38 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x751 DUP4 DUP4 PUSH2 0xDD9 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x762 PUSH1 0x2 PUSH2 0xE47 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x778 PUSH2 0x772 PUSH2 0xDD5 JUMP JUMPDEST DUP3 PUSH2 0xE52 JUMP JUMPDEST PUSH2 0x7B3 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 0x31 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1D40 PUSH1 0x31 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x751 DUP4 DUP4 DUP4 PUSH2 0xEF6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x7E6 SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1054 AND JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x751 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xAAD JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x81E PUSH1 0x2 DUP5 PUSH4 0xFFFFFFFF PUSH2 0x1060 AND JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E9 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x29 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1C24 PUSH1 0x29 SWAP2 CODECOPY PUSH1 0x2 SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0x107C AND JUMP JUMPDEST PUSH1 0x9 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x60E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5E3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x60E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x8FC 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 0x2A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1BFA PUSH1 0x2A SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x7E9 SWAP1 PUSH2 0xE47 JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x60E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5E3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x60E JUMP JUMPDEST PUSH2 0x986 PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x9EC JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 PUSH1 0x0 PUSH2 0x9F9 PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP8 AND DUP1 DUP3 MSTORE SWAP2 SWAP1 SWAP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE PUSH2 0xA3D PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP5 ISZERO ISZERO DUP2 MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x0 SWAP1 PUSH2 0xA93 DUP4 DUP3 PUSH2 0x1093 JUMP JUMPDEST PUSH2 0xA9D DUP2 DUP6 PUSH2 0x10B1 JUMP JUMPDEST PUSH1 0xA DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xABE PUSH2 0xAB8 PUSH2 0xDD5 JUMP JUMPDEST DUP4 PUSH2 0xE52 JUMP JUMPDEST PUSH2 0xAF9 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 0x31 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1D40 PUSH1 0x31 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB05 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1114 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xB16 DUP3 PUSH2 0xDC2 JUMP JUMPDEST PUSH2 0xB51 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 0x2F DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1CF0 PUSH1 0x2F SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP7 AND ISZERO MUL ADD SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 DIV SWAP2 DUP3 ADD DUP5 SWAP1 DIV DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xBE6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xBBB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xBE6 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xBC9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x60 PUSH2 0xBF7 PUSH2 0x854 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 EQ ISZERO PUSH2 0xC0B JUMPI POP SWAP1 POP PUSH2 0x57D JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0xCCC JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD DUP1 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xC46 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xC27 JUMP JUMPDEST MLOAD DUP2 MLOAD PUSH1 0x20 SWAP4 DUP5 SUB PUSH2 0x100 EXP PUSH1 0x0 NOT ADD DUP1 NOT SWAP1 SWAP3 AND SWAP2 AND OR SWAP1 MSTORE DUP6 MLOAD SWAP2 SWAP1 SWAP4 ADD SWAP3 DUP6 ADD SWAP2 POP DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xC8E JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xC6F JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP PUSH2 0x57D JUMP JUMPDEST DUP1 PUSH2 0xCD6 DUP6 PUSH2 0x1166 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD DUP1 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xD08 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xCE9 JUMP JUMPDEST MLOAD DUP2 MLOAD PUSH1 0x20 SWAP4 DUP5 SUB PUSH2 0x100 EXP PUSH1 0x0 NOT ADD DUP1 NOT SWAP1 SWAP3 AND SWAP2 AND OR SWAP1 MSTORE DUP6 MLOAD SWAP2 SWAP1 SWAP4 ADD SWAP3 DUP6 ADD SWAP2 POP DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xD50 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xD31 JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xA SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E9 PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1241 AND JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0xE0E DUP3 PUSH2 0x826 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E9 DUP3 PUSH2 0x124D JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE5D DUP3 PUSH2 0xDC2 JUMP JUMPDEST PUSH2 0xE98 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 0x2C DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1B96 PUSH1 0x2C SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xEA3 DUP4 PUSH2 0x826 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0xEDE JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xED3 DUP5 PUSH2 0x619 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST DUP1 PUSH2 0xEEE JUMPI POP PUSH2 0xEEE DUP2 DUP6 PUSH2 0xD94 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF09 DUP3 PUSH2 0x826 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF4E 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 0x29 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1CC7 PUSH1 0x29 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xF93 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 0x24 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1B72 PUSH1 0x24 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xF9E DUP4 DUP4 DUP4 PUSH2 0x751 JUMP JUMPDEST PUSH2 0xFA9 PUSH1 0x0 DUP3 PUSH2 0xDD9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xFD1 SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x1251 AND JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xFFA SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x125D AND JUMP JUMPDEST POP PUSH2 0x100D PUSH1 0x2 DUP3 DUP5 PUSH4 0xFFFFFFFF PUSH2 0x1269 AND JUMP JUMPDEST POP DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E6 DUP4 DUP4 PUSH2 0x127F JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 DUP1 PUSH2 0x106F DUP7 DUP7 PUSH2 0x12E3 JUMP JUMPDEST SWAP1 SWAP8 SWAP1 SWAP7 POP SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1089 DUP5 DUP5 DUP5 PUSH2 0x135E JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x10AD DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1428 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x10BA DUP3 PUSH2 0xDC2 JUMP JUMPDEST PUSH2 0x10F5 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 0x2C DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1C9B PUSH1 0x2C SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP3 MLOAD PUSH2 0x751 SWAP3 DUP5 ADD SWAP1 PUSH2 0x1A85 JUMP JUMPDEST PUSH2 0x111F DUP5 DUP5 DUP5 PUSH2 0xEF6 JUMP JUMPDEST PUSH2 0x112B DUP5 DUP5 DUP5 DUP5 PUSH2 0x147A JUMP JUMPDEST PUSH2 0xB05 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 0x32 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1B40 PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 PUSH2 0x118B JUMPI POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x57D JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0x11A3 JUMPI PUSH1 0x1 ADD PUSH1 0xA DUP3 DIV SWAP2 POP PUSH2 0x118F JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP1 ISZERO PUSH2 0x11BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x11E7 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP DUP6 SWAP4 POP SWAP1 POP PUSH1 0x0 NOT DUP3 ADD JUMPDEST DUP4 ISZERO PUSH2 0x1238 JUMPI PUSH1 0xA DUP5 MOD PUSH1 0x30 ADD PUSH1 0xF8 SHL DUP3 DUP3 DUP1 PUSH1 0x1 SWAP1 SUB SWAP4 POP DUP2 MLOAD DUP2 LT PUSH2 0x1216 JUMPI INVALID JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0xA DUP5 DIV SWAP4 POP PUSH2 0x11F3 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E6 DUP4 DUP4 PUSH2 0x15FA JUMP JUMPDEST SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E6 DUP4 DUP4 PUSH2 0x1612 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E6 DUP4 DUP4 PUSH2 0x16D8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1089 DUP5 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x1722 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP3 LT PUSH2 0x12C1 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 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1B1E PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x12D0 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP4 LT PUSH2 0x1327 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 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1C4D PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1338 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD DUP2 PUSH1 0x1 ADD SLOAD SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP3 DUP2 PUSH2 0x13F9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x13BE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x13A6 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x13EB JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP5 PUSH1 0x0 ADD PUSH1 0x1 DUP3 SUB DUP2 SLOAD DUP2 LT PUSH2 0x140C JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1432 DUP4 DUP4 PUSH2 0x17B9 JUMP JUMPDEST PUSH2 0x143F PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x147A JUMP JUMPDEST PUSH2 0x751 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 0x32 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1B40 PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x148E DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x18F3 JUMP JUMPDEST PUSH2 0x149A JUMPI POP PUSH1 0x1 PUSH2 0xEEE JUMP JUMPDEST PUSH1 0x60 PUSH2 0x15C0 PUSH4 0xA85BD01 PUSH1 0xE1 SHL PUSH2 0x14AF PUSH2 0xDD5 JUMP JUMPDEST DUP9 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x24 ADD DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1528 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1510 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1555 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP6 POP POP POP POP POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x32 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B40 PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0x18F9 AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x15D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x16CE JUMPI DUP4 SLOAD PUSH1 0x0 NOT DUP1 DUP4 ADD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x0 SWAP1 DUP8 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x1645 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1662 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x1 DUP10 DUP2 ADD SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP5 ADD SWAP1 SSTORE DUP7 SLOAD DUP8 SWAP1 DUP1 PUSH2 0x1692 JUMPI INVALID JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP7 PUSH1 0x1 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP5 POP POP POP POP POP PUSH2 0x7E9 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x7E9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16E4 DUP4 DUP4 PUSH2 0x15FA JUMP JUMPDEST PUSH2 0x171A JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x7E9 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x7E9 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 PUSH2 0x1787 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP5 DUP2 MSTORE DUP7 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP10 SSTORE PUSH1 0x0 DUP10 DUP2 MSTORE DUP5 DUP2 KECCAK256 SWAP6 MLOAD PUSH1 0x2 SWAP1 SWAP4 MUL SWAP1 SWAP6 ADD SWAP2 DUP3 SSTORE SWAP2 MLOAD SWAP1 DUP3 ADD SSTORE DUP7 SLOAD DUP7 DUP5 MSTORE DUP2 DUP9 ADD SWAP1 SWAP3 MSTORE SWAP3 SWAP1 SWAP2 KECCAK256 SSTORE PUSH2 0x108C JUMP JUMPDEST DUP3 DUP6 PUSH1 0x0 ADD PUSH1 0x1 DUP4 SUB DUP2 SLOAD DUP2 LT PUSH2 0x179A JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 SWAP2 POP POP PUSH2 0x108C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1814 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x181D DUP2 PUSH2 0xDC2 JUMP JUMPDEST ISZERO PUSH2 0x186F JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x187B PUSH1 0x0 DUP4 DUP4 PUSH2 0x751 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x18A3 SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x125D AND JUMP JUMPDEST POP PUSH2 0x18B6 PUSH1 0x2 DUP3 DUP5 PUSH4 0xFFFFFFFF PUSH2 0x1269 AND JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 POP POP JUMP JUMPDEST EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1089 DUP5 DUP5 PUSH1 0x0 DUP6 DUP6 PUSH2 0x190D DUP6 PUSH2 0x18F3 JUMP JUMPDEST PUSH2 0x195E JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP8 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x199D JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x197E JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x19FF JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1A04 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1A14 DUP3 DUP3 DUP7 PUSH2 0x1A1F JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x1A2E JUMPI POP DUP2 PUSH2 0x108C JUMP JUMPDEST DUP3 MLOAD ISZERO PUSH2 0x1A3E JUMPI DUP3 MLOAD DUP1 DUP5 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 DUP2 MSTORE DUP5 MLOAD PUSH1 0x24 DUP5 ADD MSTORE DUP5 MLOAD DUP6 SWAP4 SWAP2 SWAP3 DUP4 SWAP3 PUSH1 0x44 ADD SWAP2 SWAP1 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 DUP4 ISZERO PUSH2 0x13BE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x13A6 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x1AC6 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x1AF3 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x1AF3 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1AF3 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1AD8 JUMP JUMPDEST POP PUSH2 0x1AFF SWAP3 SWAP2 POP PUSH2 0x1B03 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x616 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1AFF JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1B09 JUMP INVALID GASLIMIT PUSH15 0x756D657261626C655365743A20696E PUSH5 0x6578206F75 PUSH21 0x206F6620626F756E64734552433732313A20747261 PUSH15 0x7366657220746F206E6F6E20455243 CALLDATACOPY ORIGIN BALANCE MSTORE PUSH6 0x636569766572 KECCAK256 PUSH10 0x6D706C656D656E746572 GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH21 0x72616E7366657220746F20746865207A65726F2061 PUSH5 0x6472657373 GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH16 0x70657261746F7220717565727920666F PUSH19 0x206E6F6E6578697374656E7420746F6B656E45 MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH2 0x7070 PUSH19 0x6F76652063616C6C6572206973206E6F74206F PUSH24 0x6E6572206E6F7220617070726F76656420666F7220616C6C GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH3 0x616C61 PUSH15 0x636520717565727920666F72207468 PUSH6 0x207A65726F20 PUSH2 0x6464 PUSH19 0x6573734552433732313A206F776E6572207175 PUSH6 0x727920666F72 KECCAK256 PUSH15 0x6F6E6578697374656E7420746F6B65 PUSH15 0x456E756D657261626C654D61703A20 PUSH10 0x6E646578206F7574206F PUSH7 0x20626F756E6473 GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH2 0x7070 PUSH19 0x6F76656420717565727920666F72206E6F6E65 PUSH25 0x697374656E7420746F6B656E4552433732314D657461646174 PUSH2 0x3A20 SSTORE MSTORE 0x49 KECCAK256 PUSH20 0x6574206F66206E6F6E6578697374656E7420746F PUSH12 0x656E4552433732313A207472 PUSH2 0x6E73 PUSH7 0x6572206F662074 PUSH16 0x6B656E2074686174206973206E6F7420 PUSH16 0x776E4552433732314D65746164617461 GASPRICE KECCAK256 SSTORE MSTORE 0x49 KECCAK256 PUSH18 0x7565727920666F72206E6F6E657869737465 PUSH15 0x7420746F6B656E4552433732313A20 PUSH2 0x7070 PUSH19 0x6F76616C20746F2063757272656E74206F776E PUSH6 0x724552433732 BALANCE GASPRICE KECCAK256 PUSH21 0x72616E736665722063616C6C6572206973206E6F74 KECCAK256 PUSH16 0x776E6572206E6F7220617070726F7665 PUSH5 0xA264697066 PUSH20 0x582212201180FF22EDEB9DC96DA9F3FF46ECE972 0xC1 PUSH14 0x926862F9192954F500EF811B70C1 PUSH5 0x736F6C6343 STOP MOD MOD STOP CALLER ", + "pcMap": { + "0": { + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "MSTORE", + "path": "13" + }, + "5": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "CALLVALUE", + "path": "13" + }, + "6": { + "op": "DUP1" + }, + "7": { + "op": "ISZERO" + }, + "8": { + "op": "PUSH2", + "value": "0x10" + }, + "11": { + "op": "JUMPI" + }, + "12": { + "op": "PUSH1", + "value": "0x0" + }, + "14": { + "op": "DUP1" + }, + "15": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "REVERT", + "path": "13" + }, + "16": { + "op": "JUMPDEST" + }, + "17": { + "offset": [ + 115, + 631 + ], + "op": "POP", + "path": "13" + }, + "18": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "20": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "CALLDATASIZE", + "path": "13" + }, + "21": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "LT", + "path": "13" + }, + "22": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x121" + }, + "25": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "26": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x0" + }, + "28": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "CALLDATALOAD", + "path": "13" + }, + "29": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0xE0" + }, + "31": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "SHR", + "path": "13" + }, + "32": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "33": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0x6352211E" + }, + "38": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "GT", + "path": "13" + }, + "39": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0xAD" + }, + "42": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "43": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "44": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0xA593BC35" + }, + "49": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "GT", + "path": "13" + }, + "50": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x71" + }, + "53": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "54": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "55": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0xA593BC35" + }, + "60": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "61": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x395" + }, + "64": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "65": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "66": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0xB88D4FDE" + }, + "71": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "72": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x446" + }, + "75": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "76": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "77": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0xC87B56DD" + }, + "82": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "83": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x50C" + }, + "86": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "87": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "88": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0xD082E381" + }, + "93": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "94": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x529" + }, + "97": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "98": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "99": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0xE985E9C5" + }, + "104": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "105": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x531" + }, + "108": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "109": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x121" + }, + "112": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMP", + "path": "13" + }, + "113": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPDEST", + "path": "13" + }, + "114": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "115": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0x6352211E" + }, + "120": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "121": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x314" + }, + "124": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "125": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "126": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0x6C0360EB" + }, + "131": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "132": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x331" + }, + "135": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "136": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "137": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0x70A08231" + }, + "142": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "143": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x339" + }, + "146": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "147": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "148": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0x95D89B41" + }, + "153": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "154": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x35F" + }, + "157": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "158": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "159": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0xA22CB465" + }, + "164": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "165": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x367" + }, + "168": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "169": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x121" + }, + "172": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMP", + "path": "13" + }, + "173": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPDEST", + "path": "13" + }, + "174": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "175": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0x18160DDD" + }, + "180": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "GT", + "path": "13" + }, + "181": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0xF4" + }, + "184": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "185": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "186": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0x18160DDD" + }, + "191": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "192": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x245" + }, + "195": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "196": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "197": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0x23B872DD" + }, + "202": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "203": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x25F" + }, + "206": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "207": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "208": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0x2F745C59" + }, + "213": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "214": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x295" + }, + "217": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "218": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "219": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0x42842E0E" + }, + "224": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "225": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x2C1" + }, + "228": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "229": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "230": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0x4F6CCCE7" + }, + "235": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "236": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x2F7" + }, + "239": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "240": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x121" + }, + "243": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMP", + "path": "13" + }, + "244": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPDEST", + "path": "13" + }, + "245": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "246": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0x1FFC9A7" + }, + "251": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "252": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x126" + }, + "255": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "256": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "257": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0x6FDDE03" + }, + "262": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "263": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x161" + }, + "266": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "267": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "268": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0x81812FC" + }, + "273": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "274": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x1DE" + }, + "277": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "278": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "279": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH4", + "path": "13", + "value": "0x95EA7B3" + }, + "284": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "EQ", + "path": "13" + }, + "285": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x217" + }, + "288": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "289": { + "fn": null, + "offset": [ + 115, + 631 + ], + "op": "JUMPDEST", + "path": "13" + }, + "290": { + "op": "PUSH1", + "value": "0x0" + }, + "292": { + "op": "DUP1" + }, + "293": { + "first_revert": true, + "op": "REVERT" + }, + "294": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "JUMPDEST", + "path": "0" + }, + "295": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "PUSH2", + "path": "0", + "value": "0x14D" + }, + "298": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "300": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "DUP1", + "path": "0" + }, + "301": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "302": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SUB", + "path": "0" + }, + "303": { + "op": "PUSH1", + "value": "0x20" + }, + "305": { + "op": "DUP2" + }, + "306": { + "op": "LT" + }, + "307": { + "op": "ISZERO" + }, + "308": { + "op": "PUSH2", + "value": "0x13C" + }, + "311": { + "op": "JUMPI" + }, + "312": { + "op": "PUSH1", + "value": "0x0" + }, + "314": { + "op": "DUP1" + }, + "315": { + "op": "REVERT" + }, + "316": { + "op": "JUMPDEST" + }, + "317": { + "op": "POP" + }, + "318": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "CALLDATALOAD", + "path": "0" + }, + "319": { + "op": "PUSH1", + "value": "0x1" + }, + "321": { + "op": "PUSH1", + "value": "0x1" + }, + "323": { + "op": "PUSH1", + "value": "0xE0" + }, + "325": { + "op": "SHL" + }, + "326": { + "op": "SUB" + }, + "327": { + "op": "NOT" + }, + "328": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "AND", + "path": "0" + }, + "329": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "PUSH2", + "path": "0", + "value": "0x55F" + }, + "332": { + "fn": "ERC165.supportsInterface", + "jump": "i", + "offset": [ + 965, + 1113 + ], + "op": "JUMP", + "path": "0" + }, + "333": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "JUMPDEST", + "path": "0" + }, + "334": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "336": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "DUP1", + "path": "0" + }, + "337": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "MLOAD", + "path": "0" + }, + "338": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SWAP2", + "path": "0" + }, + "339": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "ISZERO", + "path": "0" + }, + "340": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "ISZERO", + "path": "0" + }, + "341": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "DUP3", + "path": "0" + }, + "342": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "MSTORE", + "path": "0" + }, + "343": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "MLOAD", + "path": "0" + }, + "344": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SWAP1", + "path": "0" + }, + "345": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "DUP2", + "path": "0" + }, + "346": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SWAP1", + "path": "0" + }, + "347": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SUB", + "path": "0" + }, + "348": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "350": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "ADD", + "path": "0" + }, + "351": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SWAP1", + "path": "0" + }, + "352": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "RETURN", + "path": "0" + }, + "353": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "JUMPDEST", + "path": "3" + }, + "354": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH2", + "path": "3", + "value": "0x169" + }, + "357": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH2", + "path": "3", + "value": "0x582" + }, + "360": { + "fn": "ERC721.name", + "jump": "i", + "offset": [ + 4517, + 4615 + ], + "op": "JUMP", + "path": "3" + }, + "361": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "JUMPDEST", + "path": "3" + }, + "362": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "364": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP1", + "path": "3" + }, + "365": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MLOAD", + "path": "3" + }, + "366": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "368": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP1", + "path": "3" + }, + "369": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP3", + "path": "3" + }, + "370": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MSTORE", + "path": "3" + }, + "371": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "372": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MLOAD", + "path": "3" + }, + "373": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP2", + "path": "3" + }, + "374": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "375": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "ADD", + "path": "3" + }, + "376": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MSTORE", + "path": "3" + }, + "377": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "378": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MLOAD", + "path": "3" + }, + "379": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP2", + "path": "3" + }, + "380": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP3", + "path": "3" + }, + "381": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "382": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP3", + "path": "3" + }, + "383": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP1", + "path": "3" + }, + "384": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "385": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "ADD", + "path": "3" + }, + "386": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP2", + "path": "3" + }, + "387": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP6", + "path": "3" + }, + "388": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "ADD", + "path": "3" + }, + "389": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP1", + "path": "3" + }, + "390": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP1", + "path": "3" + }, + "391": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "392": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "393": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "395": { + "op": "JUMPDEST" + }, + "396": { + "op": "DUP4" + }, + "397": { + "op": "DUP2" + }, + "398": { + "op": "LT" + }, + "399": { + "op": "ISZERO" + }, + "400": { + "op": "PUSH2", + "value": "0x1A3" + }, + "403": { + "op": "JUMPI" + }, + "404": { + "op": "DUP2" + }, + "405": { + "op": "DUP2" + }, + "406": { + "op": "ADD" + }, + "407": { + "op": "MLOAD" + }, + "408": { + "op": "DUP4" + }, + "409": { + "op": "DUP3" + }, + "410": { + "op": "ADD" + }, + "411": { + "op": "MSTORE" + }, + "412": { + "op": "PUSH1", + "value": "0x20" + }, + "414": { + "op": "ADD" + }, + "415": { + "op": "PUSH2", + "value": "0x18B" + }, + "418": { + "op": "JUMP" + }, + "419": { + "op": "JUMPDEST" + }, + "420": { + "op": "POP" + }, + "421": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "422": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "423": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "424": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP1", + "path": "3" + }, + "425": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "426": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP1", + "path": "3" + }, + "427": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP2", + "path": "3" + }, + "428": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "ADD", + "path": "3" + }, + "429": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP1", + "path": "3" + }, + "430": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "432": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "AND", + "path": "3" + }, + "433": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP1", + "path": "3" + }, + "434": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "ISZERO", + "path": "3" + }, + "435": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1D0" + }, + "438": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "JUMPI", + "path": "3" + }, + "439": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP1", + "path": "3" + }, + "440": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP3", + "path": "3" + }, + "441": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SUB", + "path": "3" + }, + "442": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP1", + "path": "3" + }, + "443": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MLOAD", + "path": "3" + }, + "444": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "446": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "447": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "449": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SUB", + "path": "3" + }, + "450": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "453": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "EXP", + "path": "3" + }, + "454": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SUB", + "path": "3" + }, + "455": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "NOT", + "path": "3" + }, + "456": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "AND", + "path": "3" + }, + "457": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP2", + "path": "3" + }, + "458": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MSTORE", + "path": "3" + }, + "459": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "461": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "ADD", + "path": "3" + }, + "462": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP2", + "path": "3" + }, + "463": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "464": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "JUMPDEST", + "path": "3" + }, + "465": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "466": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP3", + "path": "3" + }, + "467": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "468": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "469": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "470": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "472": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MLOAD", + "path": "3" + }, + "473": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP1", + "path": "3" + }, + "474": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP2", + "path": "3" + }, + "475": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SUB", + "path": "3" + }, + "476": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP1", + "path": "3" + }, + "477": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "RETURN", + "path": "3" + }, + "478": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "JUMPDEST", + "path": "3" + }, + "479": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1FB" + }, + "482": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "484": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "DUP1", + "path": "3" + }, + "485": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "486": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "SUB", + "path": "3" + }, + "487": { + "op": "PUSH1", + "value": "0x20" + }, + "489": { + "op": "DUP2" + }, + "490": { + "op": "LT" + }, + "491": { + "op": "ISZERO" + }, + "492": { + "op": "PUSH2", + "value": "0x1F4" + }, + "495": { + "op": "JUMPI" + }, + "496": { + "op": "PUSH1", + "value": "0x0" + }, + "498": { + "op": "DUP1" + }, + "499": { + "op": "REVERT" + }, + "500": { + "op": "JUMPDEST" + }, + "501": { + "op": "POP" + }, + "502": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "503": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "PUSH2", + "path": "3", + "value": "0x619" + }, + "506": { + "fn": "ERC721.getApproved", + "jump": "i", + "offset": [ + 7222, + 7439 + ], + "op": "JUMP", + "path": "3" + }, + "507": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "JUMPDEST", + "path": "3" + }, + "508": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "510": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "DUP1", + "path": "3" + }, + "511": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "MLOAD", + "path": "3" + }, + "512": { + "op": "PUSH1", + "value": "0x1" + }, + "514": { + "op": "PUSH1", + "value": "0x1" + }, + "516": { + "op": "PUSH1", + "value": "0xA0" + }, + "518": { + "op": "SHL" + }, + "519": { + "op": "SUB" + }, + "520": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "SWAP1", + "path": "3" + }, + "521": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "SWAP3", + "path": "3" + }, + "522": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "AND", + "path": "3" + }, + "523": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "DUP3", + "path": "3" + }, + "524": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "MSTORE", + "path": "3" + }, + "525": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "MLOAD", + "path": "3" + }, + "526": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "SWAP1", + "path": "3" + }, + "527": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "DUP2", + "path": "3" + }, + "528": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "SWAP1", + "path": "3" + }, + "529": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "SUB", + "path": "3" + }, + "530": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "532": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "ADD", + "path": "3" + }, + "533": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "SWAP1", + "path": "3" + }, + "534": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "RETURN", + "path": "3" + }, + "535": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "JUMPDEST", + "path": "3" + }, + "536": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "PUSH2", + "path": "3", + "value": "0x243" + }, + "539": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "541": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "DUP1", + "path": "3" + }, + "542": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "543": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "SUB", + "path": "3" + }, + "544": { + "op": "PUSH1", + "value": "0x40" + }, + "546": { + "op": "DUP2" + }, + "547": { + "op": "LT" + }, + "548": { + "op": "ISZERO" + }, + "549": { + "op": "PUSH2", + "value": "0x22D" + }, + "552": { + "op": "JUMPI" + }, + "553": { + "op": "PUSH1", + "value": "0x0" + }, + "555": { + "op": "DUP1" + }, + "556": { + "op": "REVERT" + }, + "557": { + "op": "JUMPDEST" + }, + "558": { + "op": "POP" + }, + "559": { + "op": "PUSH1", + "value": "0x1" + }, + "561": { + "op": "PUSH1", + "value": "0x1" + }, + "563": { + "op": "PUSH1", + "value": "0xA0" + }, + "565": { + "op": "SHL" + }, + "566": { + "op": "SUB" + }, + "567": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "DUP2", + "path": "3" + }, + "568": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "569": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "AND", + "path": "3" + }, + "570": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "SWAP1", + "path": "3" + }, + "571": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "573": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "ADD", + "path": "3" + }, + "574": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "575": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "PUSH2", + "path": "3", + "value": "0x67B" + }, + "578": { + "fn": "ERC721.approve", + "jump": "i", + "offset": [ + 6766, + 7161 + ], + "op": "JUMP", + "path": "3" + }, + "579": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "JUMPDEST", + "path": "3" + }, + "580": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "STOP", + "path": "3" + }, + "581": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "JUMPDEST", + "path": "3" + }, + "582": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "PUSH2", + "path": "3", + "value": "0x24D" + }, + "585": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "PUSH2", + "path": "3", + "value": "0x756" + }, + "588": { + "fn": "ERC721.totalSupply", + "jump": "i", + "offset": [ + 6260, + 6468 + ], + "op": "JUMP", + "path": "3" + }, + "589": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "JUMPDEST", + "path": "3" + }, + "590": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "592": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "DUP1", + "path": "3" + }, + "593": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "MLOAD", + "path": "3" + }, + "594": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "SWAP2", + "path": "3" + }, + "595": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "DUP3", + "path": "3" + }, + "596": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "MSTORE", + "path": "3" + }, + "597": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "MLOAD", + "path": "3" + }, + "598": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "SWAP1", + "path": "3" + }, + "599": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "DUP2", + "path": "3" + }, + "600": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "SWAP1", + "path": "3" + }, + "601": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "SUB", + "path": "3" + }, + "602": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "604": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "ADD", + "path": "3" + }, + "605": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "SWAP1", + "path": "3" + }, + "606": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "RETURN", + "path": "3" + }, + "607": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "JUMPDEST", + "path": "3" + }, + "608": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "PUSH2", + "path": "3", + "value": "0x243" + }, + "611": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "613": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "DUP1", + "path": "3" + }, + "614": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "615": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "SUB", + "path": "3" + }, + "616": { + "op": "PUSH1", + "value": "0x60" + }, + "618": { + "op": "DUP2" + }, + "619": { + "op": "LT" + }, + "620": { + "op": "ISZERO" + }, + "621": { + "op": "PUSH2", + "value": "0x275" + }, + "624": { + "op": "JUMPI" + }, + "625": { + "op": "PUSH1", + "value": "0x0" + }, + "627": { + "op": "DUP1" + }, + "628": { + "op": "REVERT" + }, + "629": { + "op": "JUMPDEST" + }, + "630": { + "op": "POP" + }, + "631": { + "op": "PUSH1", + "value": "0x1" + }, + "633": { + "op": "PUSH1", + "value": "0x1" + }, + "635": { + "op": "PUSH1", + "value": "0xA0" + }, + "637": { + "op": "SHL" + }, + "638": { + "op": "SUB" + }, + "639": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "DUP2", + "path": "3" + }, + "640": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "641": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "DUP2", + "path": "3" + }, + "642": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "AND", + "path": "3" + }, + "643": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "SWAP2", + "path": "3" + }, + "644": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "646": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "DUP2", + "path": "3" + }, + "647": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "ADD", + "path": "3" + }, + "648": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "649": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "SWAP1", + "path": "3" + }, + "650": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "SWAP2", + "path": "3" + }, + "651": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "AND", + "path": "3" + }, + "652": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "SWAP1", + "path": "3" + }, + "653": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "655": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "ADD", + "path": "3" + }, + "656": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "657": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "PUSH2", + "path": "3", + "value": "0x767" + }, + "660": { + "fn": "ERC721.transferFrom", + "jump": "i", + "offset": [ + 8086, + 8386 + ], + "op": "JUMP", + "path": "3" + }, + "661": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "JUMPDEST", + "path": "3" + }, + "662": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "PUSH2", + "path": "3", + "value": "0x24D" + }, + "665": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "667": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "DUP1", + "path": "3" + }, + "668": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "669": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "SUB", + "path": "3" + }, + "670": { + "op": "PUSH1", + "value": "0x40" + }, + "672": { + "op": "DUP2" + }, + "673": { + "op": "LT" + }, + "674": { + "op": "ISZERO" + }, + "675": { + "op": "PUSH2", + "value": "0x2AB" + }, + "678": { + "op": "JUMPI" + }, + "679": { + "op": "PUSH1", + "value": "0x0" + }, + "681": { + "op": "DUP1" + }, + "682": { + "op": "REVERT" + }, + "683": { + "op": "JUMPDEST" + }, + "684": { + "op": "POP" + }, + "685": { + "op": "PUSH1", + "value": "0x1" + }, + "687": { + "op": "PUSH1", + "value": "0x1" + }, + "689": { + "op": "PUSH1", + "value": "0xA0" + }, + "691": { + "op": "SHL" + }, + "692": { + "op": "SUB" + }, + "693": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "DUP2", + "path": "3" + }, + "694": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "695": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "AND", + "path": "3" + }, + "696": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "SWAP1", + "path": "3" + }, + "697": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "699": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "ADD", + "path": "3" + }, + "700": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "701": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "PUSH2", + "path": "3", + "value": "0x7BE" + }, + "704": { + "fn": "ERC721.tokenOfOwnerByIndex", + "jump": "i", + "offset": [ + 6029, + 6189 + ], + "op": "JUMP", + "path": "3" + }, + "705": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "JUMPDEST", + "path": "3" + }, + "706": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "PUSH2", + "path": "3", + "value": "0x243" + }, + "709": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "711": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "DUP1", + "path": "3" + }, + "712": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "713": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "SUB", + "path": "3" + }, + "714": { + "op": "PUSH1", + "value": "0x60" + }, + "716": { + "op": "DUP2" + }, + "717": { + "op": "LT" + }, + "718": { + "op": "ISZERO" + }, + "719": { + "op": "PUSH2", + "value": "0x2D7" + }, + "722": { + "op": "JUMPI" + }, + "723": { + "op": "PUSH1", + "value": "0x0" + }, + "725": { + "op": "DUP1" + }, + "726": { + "op": "REVERT" + }, + "727": { + "op": "JUMPDEST" + }, + "728": { + "op": "POP" + }, + "729": { + "op": "PUSH1", + "value": "0x1" + }, + "731": { + "op": "PUSH1", + "value": "0x1" + }, + "733": { + "op": "PUSH1", + "value": "0xA0" + }, + "735": { + "op": "SHL" + }, + "736": { + "op": "SUB" + }, + "737": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "DUP2", + "path": "3" + }, + "738": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "739": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "DUP2", + "path": "3" + }, + "740": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "AND", + "path": "3" + }, + "741": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "SWAP2", + "path": "3" + }, + "742": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "744": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "DUP2", + "path": "3" + }, + "745": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "ADD", + "path": "3" + }, + "746": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "747": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "SWAP1", + "path": "3" + }, + "748": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "SWAP2", + "path": "3" + }, + "749": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "AND", + "path": "3" + }, + "750": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "SWAP1", + "path": "3" + }, + "751": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "753": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "ADD", + "path": "3" + }, + "754": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "755": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "PUSH2", + "path": "3", + "value": "0x7EF" + }, + "758": { + "fn": "ERC721.safeTransferFrom", + "jump": "i", + "offset": [ + 8452, + 8601 + ], + "op": "JUMP", + "path": "3" + }, + "759": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "JUMPDEST", + "path": "3" + }, + "760": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "PUSH2", + "path": "3", + "value": "0x24D" + }, + "763": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "765": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "DUP1", + "path": "3" + }, + "766": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "767": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "SUB", + "path": "3" + }, + "768": { + "op": "PUSH1", + "value": "0x20" + }, + "770": { + "op": "DUP2" + }, + "771": { + "op": "LT" + }, + "772": { + "op": "ISZERO" + }, + "773": { + "op": "PUSH2", + "value": "0x30D" + }, + "776": { + "op": "JUMPI" + }, + "777": { + "op": "PUSH1", + "value": "0x0" + }, + "779": { + "op": "DUP1" + }, + "780": { + "op": "REVERT" + }, + "781": { + "op": "JUMPDEST" + }, + "782": { + "op": "POP" + }, + "783": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "784": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "PUSH2", + "path": "3", + "value": "0x80A" + }, + "787": { + "fn": "ERC721.tokenByIndex", + "jump": "i", + "offset": [ + 6540, + 6709 + ], + "op": "JUMP", + "path": "3" + }, + "788": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "JUMPDEST", + "path": "3" + }, + "789": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1FB" + }, + "792": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "794": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "DUP1", + "path": "3" + }, + "795": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "796": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "SUB", + "path": "3" + }, + "797": { + "op": "PUSH1", + "value": "0x20" + }, + "799": { + "op": "DUP2" + }, + "800": { + "op": "LT" + }, + "801": { + "op": "ISZERO" + }, + "802": { + "op": "PUSH2", + "value": "0x32A" + }, + "805": { + "op": "JUMPI" + }, + "806": { + "op": "PUSH1", + "value": "0x0" + }, + "808": { + "op": "DUP1" + }, + "809": { + "op": "REVERT" + }, + "810": { + "op": "JUMPDEST" + }, + "811": { + "op": "POP" + }, + "812": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "813": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "PUSH2", + "path": "3", + "value": "0x826" + }, + "816": { + "fn": "ERC721.ownerOf", + "jump": "i", + "offset": [ + 4280, + 4455 + ], + "op": "JUMP", + "path": "3" + }, + "817": { + "fn": "ERC721.baseURI", + "offset": [ + 5855, + 5950 + ], + "op": "JUMPDEST", + "path": "3" + }, + "818": { + "fn": "ERC721.baseURI", + "offset": [ + 5855, + 5950 + ], + "op": "PUSH2", + "path": "3", + "value": "0x169" + }, + "821": { + "fn": "ERC721.baseURI", + "offset": [ + 5855, + 5950 + ], + "op": "PUSH2", + "path": "3", + "value": "0x854" + }, + "824": { + "fn": "ERC721.baseURI", + "jump": "i", + "offset": [ + 5855, + 5950 + ], + "op": "JUMP", + "path": "3" + }, + "825": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "JUMPDEST", + "path": "3" + }, + "826": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "PUSH2", + "path": "3", + "value": "0x24D" + }, + "829": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "831": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "DUP1", + "path": "3" + }, + "832": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "833": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "SUB", + "path": "3" + }, + "834": { + "op": "PUSH1", + "value": "0x20" + }, + "836": { + "op": "DUP2" + }, + "837": { + "op": "LT" + }, + "838": { + "op": "ISZERO" + }, + "839": { + "op": "PUSH2", + "value": "0x34F" + }, + "842": { + "op": "JUMPI" + }, + "843": { + "op": "PUSH1", + "value": "0x0" + }, + "845": { + "op": "DUP1" + }, + "846": { + "op": "REVERT" + }, + "847": { + "op": "JUMPDEST" + }, + "848": { + "op": "POP" + }, + "849": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "850": { + "op": "PUSH1", + "value": "0x1" + }, + "852": { + "op": "PUSH1", + "value": "0x1" + }, + "854": { + "op": "PUSH1", + "value": "0xA0" + }, + "856": { + "op": "SHL" + }, + "857": { + "op": "SUB" + }, + "858": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "AND", + "path": "3" + }, + "859": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "PUSH2", + "path": "3", + "value": "0x8B5" + }, + "862": { + "fn": "ERC721.balanceOf", + "jump": "i", + "offset": [ + 4005, + 4223 + ], + "op": "JUMP", + "path": "3" + }, + "863": { + "fn": "ERC721.symbol", + "offset": [ + 4679, + 4781 + ], + "op": "JUMPDEST", + "path": "3" + }, + "864": { + "fn": "ERC721.symbol", + "offset": [ + 4679, + 4781 + ], + "op": "PUSH2", + "path": "3", + "value": "0x169" + }, + "867": { + "fn": "ERC721.symbol", + "offset": [ + 4679, + 4781 + ], + "op": "PUSH2", + "path": "3", + "value": "0x91D" + }, + "870": { + "fn": "ERC721.symbol", + "jump": "i", + "offset": [ + 4679, + 4781 + ], + "op": "JUMP", + "path": "3" + }, + "871": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "JUMPDEST", + "path": "3" + }, + "872": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "PUSH2", + "path": "3", + "value": "0x243" + }, + "875": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "877": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "DUP1", + "path": "3" + }, + "878": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "879": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "SUB", + "path": "3" + }, + "880": { + "op": "PUSH1", + "value": "0x40" + }, + "882": { + "op": "DUP2" + }, + "883": { + "op": "LT" + }, + "884": { + "op": "ISZERO" + }, + "885": { + "op": "PUSH2", + "value": "0x37D" + }, + "888": { + "op": "JUMPI" + }, + "889": { + "op": "PUSH1", + "value": "0x0" + }, + "891": { + "op": "DUP1" + }, + "892": { + "op": "REVERT" + }, + "893": { + "op": "JUMPDEST" + }, + "894": { + "op": "POP" + }, + "895": { + "op": "PUSH1", + "value": "0x1" + }, + "897": { + "op": "PUSH1", + "value": "0x1" + }, + "899": { + "op": "PUSH1", + "value": "0xA0" + }, + "901": { + "op": "SHL" + }, + "902": { + "op": "SUB" + }, + "903": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "DUP2", + "path": "3" + }, + "904": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "905": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "AND", + "path": "3" + }, + "906": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "SWAP1", + "path": "3" + }, + "907": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "909": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "ADD", + "path": "3" + }, + "910": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "911": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "ISZERO", + "path": "3" + }, + "912": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "ISZERO", + "path": "3" + }, + "913": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "PUSH2", + "path": "3", + "value": "0x97E" + }, + "916": { + "fn": "ERC721.setApprovalForAll", + "jump": "i", + "offset": [ + 7506, + 7796 + ], + "op": "JUMP", + "path": "3" + }, + "917": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "JUMPDEST", + "path": "13" + }, + "918": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "PUSH2", + "path": "13", + "value": "0x24D" + }, + "921": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "923": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DUP1", + "path": "13" + }, + "924": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "CALLDATASIZE", + "path": "13" + }, + "925": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SUB", + "path": "13" + }, + "926": { + "op": "PUSH1", + "value": "0x40" + }, + "928": { + "op": "DUP2" + }, + "929": { + "op": "LT" + }, + "930": { + "op": "ISZERO" + }, + "931": { + "op": "PUSH2", + "value": "0x3AB" + }, + "934": { + "op": "JUMPI" + }, + "935": { + "op": "PUSH1", + "value": "0x0" + }, + "937": { + "op": "DUP1" + }, + "938": { + "op": "REVERT" + }, + "939": { + "op": "JUMPDEST" + }, + "940": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DUP2", + "path": "13" + }, + "941": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "ADD", + "path": "13" + }, + "942": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP1", + "path": "13" + }, + "943": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "PUSH1", + "path": "13", + "value": "0x20" + }, + "945": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DUP2", + "path": "13" + }, + "946": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "ADD", + "path": "13" + }, + "947": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DUP2", + "path": "13" + }, + "948": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "CALLDATALOAD", + "path": "13" + }, + "949": { + "op": "PUSH5", + "value": "0x100000000" + }, + "955": { + "op": "DUP2" + }, + "956": { + "op": "GT" + }, + "957": { + "op": "ISZERO" + }, + "958": { + "op": "PUSH2", + "value": "0x3C6" + }, + "961": { + "op": "JUMPI" + }, + "962": { + "op": "PUSH1", + "value": "0x0" + }, + "964": { + "op": "DUP1" + }, + "965": { + "op": "REVERT" + }, + "966": { + "op": "JUMPDEST" + }, + "967": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DUP3", + "path": "13" + }, + "968": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "ADD", + "path": "13" + }, + "969": { + "op": "DUP4" + }, + "970": { + "op": "PUSH1", + "value": "0x20" + }, + "972": { + "op": "DUP3" + }, + "973": { + "op": "ADD" + }, + "974": { + "op": "GT" + }, + "975": { + "op": "ISZERO" + }, + "976": { + "op": "PUSH2", + "value": "0x3D8" + }, + "979": { + "op": "JUMPI" + }, + "980": { + "op": "PUSH1", + "value": "0x0" + }, + "982": { + "op": "DUP1" + }, + "983": { + "op": "REVERT" + }, + "984": { + "op": "JUMPDEST" + }, + "985": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DUP1", + "path": "13" + }, + "986": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "CALLDATALOAD", + "path": "13" + }, + "987": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP1", + "path": "13" + }, + "988": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "PUSH1", + "path": "13", + "value": "0x20" + }, + "990": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "ADD", + "path": "13" + }, + "991": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP2", + "path": "13" + }, + "992": { + "op": "DUP5" + }, + "993": { + "op": "PUSH1", + "value": "0x1" + }, + "995": { + "op": "DUP4" + }, + "996": { + "op": "MUL" + }, + "997": { + "op": "DUP5" + }, + "998": { + "op": "ADD" + }, + "999": { + "op": "GT" + }, + "1000": { + "op": "PUSH5", + "value": "0x100000000" + }, + "1006": { + "op": "DUP4" + }, + "1007": { + "op": "GT" + }, + "1008": { + "op": "OR" + }, + "1009": { + "op": "ISZERO" + }, + "1010": { + "op": "PUSH2", + "value": "0x3FA" + }, + "1013": { + "op": "JUMPI" + }, + "1014": { + "op": "PUSH1", + "value": "0x0" + }, + "1016": { + "op": "DUP1" + }, + "1017": { + "op": "REVERT" + }, + "1018": { + "op": "JUMPDEST" + }, + "1019": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP2", + "path": "13" + }, + "1020": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP1", + "path": "13" + }, + "1021": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DUP1", + "path": "13" + }, + "1022": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DUP1", + "path": "13" + }, + "1023": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "PUSH1", + "path": "13", + "value": "0x1F" + }, + "1025": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "ADD", + "path": "13" + }, + "1026": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "PUSH1", + "path": "13", + "value": "0x20" + }, + "1028": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DUP1", + "path": "13" + }, + "1029": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP2", + "path": "13" + }, + "1030": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DIV", + "path": "13" + }, + "1031": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "MUL", + "path": "13" + }, + "1032": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "PUSH1", + "path": "13", + "value": "0x20" + }, + "1034": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "ADD", + "path": "13" + }, + "1035": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "1037": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "MLOAD", + "path": "13" + }, + "1038": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP1", + "path": "13" + }, + "1039": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DUP2", + "path": "13" + }, + "1040": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "ADD", + "path": "13" + }, + "1041": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "1043": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "MSTORE", + "path": "13" + }, + "1044": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DUP1", + "path": "13" + }, + "1045": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP4", + "path": "13" + }, + "1046": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP3", + "path": "13" + }, + "1047": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP2", + "path": "13" + }, + "1048": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP1", + "path": "13" + }, + "1049": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DUP2", + "path": "13" + }, + "1050": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DUP2", + "path": "13" + }, + "1051": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "MSTORE", + "path": "13" + }, + "1052": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "PUSH1", + "path": "13", + "value": "0x20" + }, + "1054": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "ADD", + "path": "13" + }, + "1055": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DUP4", + "path": "13" + }, + "1056": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "DUP4", + "path": "13" + }, + "1057": { + "op": "DUP1" + }, + "1058": { + "op": "DUP3" + }, + "1059": { + "op": "DUP5" + }, + "1060": { + "op": "CALLDATACOPY" + }, + "1061": { + "op": "PUSH1", + "value": "0x0" + }, + "1063": { + "op": "SWAP3" + }, + "1064": { + "op": "ADD" + }, + "1065": { + "op": "SWAP2" + }, + "1066": { + "op": "SWAP1" + }, + "1067": { + "op": "SWAP2" + }, + "1068": { + "op": "MSTORE" + }, + "1069": { + "op": "POP" + }, + "1070": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP3", + "path": "13" + }, + "1071": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP6", + "path": "13" + }, + "1072": { + "op": "POP" + }, + "1073": { + "op": "POP" + }, + "1074": { + "op": "POP" + }, + "1075": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP1", + "path": "13" + }, + "1076": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "CALLDATALOAD", + "path": "13" + }, + "1077": { + "op": "PUSH1", + "value": "0x1" + }, + "1079": { + "op": "PUSH1", + "value": "0x1" + }, + "1081": { + "op": "PUSH1", + "value": "0xA0" + }, + "1083": { + "op": "SHL" + }, + "1084": { + "op": "SUB" + }, + "1085": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "AND", + "path": "13" + }, + "1086": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP2", + "path": "13" + }, + "1087": { + "op": "POP" + }, + "1088": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "PUSH2", + "path": "13", + "value": "0xA83" + }, + "1091": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP1", + "path": "13" + }, + "1092": { + "op": "POP" + }, + "1093": { + "fn": "SimpleCollectible.createCollectible", + "jump": "i", + "offset": [ + 299, + 629 + ], + "op": "JUMP", + "path": "13" + }, + "1094": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1095": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH2", + "path": "3", + "value": "0x243" + }, + "1098": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "1100": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP1", + "path": "3" + }, + "1101": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "1102": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SUB", + "path": "3" + }, + "1103": { + "op": "PUSH1", + "value": "0x80" + }, + "1105": { + "op": "DUP2" + }, + "1106": { + "op": "LT" + }, + "1107": { + "op": "ISZERO" + }, + "1108": { + "op": "PUSH2", + "value": "0x45C" + }, + "1111": { + "op": "JUMPI" + }, + "1112": { + "op": "PUSH1", + "value": "0x0" + }, + "1114": { + "op": "DUP1" + }, + "1115": { + "op": "REVERT" + }, + "1116": { + "op": "JUMPDEST" + }, + "1117": { + "op": "PUSH1", + "value": "0x1" + }, + "1119": { + "op": "PUSH1", + "value": "0x1" + }, + "1121": { + "op": "PUSH1", + "value": "0xA0" + }, + "1123": { + "op": "SHL" + }, + "1124": { + "op": "SUB" + }, + "1125": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP3", + "path": "3" + }, + "1126": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "1127": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP2", + "path": "3" + }, + "1128": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "AND", + "path": "3" + }, + "1129": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP3", + "path": "3" + }, + "1130": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1132": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP2", + "path": "3" + }, + "1133": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1134": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "1135": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP1", + "path": "3" + }, + "1136": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP2", + "path": "3" + }, + "1137": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "AND", + "path": "3" + }, + "1138": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP2", + "path": "3" + }, + "1139": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1141": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP3", + "path": "3" + }, + "1142": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1143": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "1144": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP2", + "path": "3" + }, + "1145": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP1", + "path": "3" + }, + "1146": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP2", + "path": "3" + }, + "1147": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1148": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP1", + "path": "3" + }, + "1149": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x80" + }, + "1151": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP2", + "path": "3" + }, + "1152": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1153": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "1155": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP3", + "path": "3" + }, + "1156": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1157": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "1158": { + "op": "PUSH5", + "value": "0x100000000" + }, + "1164": { + "op": "DUP2" + }, + "1165": { + "op": "GT" + }, + "1166": { + "op": "ISZERO" + }, + "1167": { + "op": "PUSH2", + "value": "0x497" + }, + "1170": { + "op": "JUMPI" + }, + "1171": { + "op": "PUSH1", + "value": "0x0" + }, + "1173": { + "op": "DUP1" + }, + "1174": { + "op": "REVERT" + }, + "1175": { + "op": "JUMPDEST" + }, + "1176": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP3", + "path": "3" + }, + "1177": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1178": { + "op": "DUP4" + }, + "1179": { + "op": "PUSH1", + "value": "0x20" + }, + "1181": { + "op": "DUP3" + }, + "1182": { + "op": "ADD" + }, + "1183": { + "op": "GT" + }, + "1184": { + "op": "ISZERO" + }, + "1185": { + "op": "PUSH2", + "value": "0x4A9" + }, + "1188": { + "op": "JUMPI" + }, + "1189": { + "op": "PUSH1", + "value": "0x0" + }, + "1191": { + "op": "DUP1" + }, + "1192": { + "op": "REVERT" + }, + "1193": { + "op": "JUMPDEST" + }, + "1194": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP1", + "path": "3" + }, + "1195": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "1196": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP1", + "path": "3" + }, + "1197": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1199": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1200": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP2", + "path": "3" + }, + "1201": { + "op": "DUP5" + }, + "1202": { + "op": "PUSH1", + "value": "0x1" + }, + "1204": { + "op": "DUP4" + }, + "1205": { + "op": "MUL" + }, + "1206": { + "op": "DUP5" + }, + "1207": { + "op": "ADD" + }, + "1208": { + "op": "GT" + }, + "1209": { + "op": "PUSH5", + "value": "0x100000000" + }, + "1215": { + "op": "DUP4" + }, + "1216": { + "op": "GT" + }, + "1217": { + "op": "OR" + }, + "1218": { + "op": "ISZERO" + }, + "1219": { + "op": "PUSH2", + "value": "0x4CB" + }, + "1222": { + "op": "JUMPI" + }, + "1223": { + "op": "PUSH1", + "value": "0x0" + }, + "1225": { + "op": "DUP1" + }, + "1226": { + "op": "REVERT" + }, + "1227": { + "op": "JUMPDEST" + }, + "1228": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP2", + "path": "3" + }, + "1229": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP1", + "path": "3" + }, + "1230": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP1", + "path": "3" + }, + "1231": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP1", + "path": "3" + }, + "1232": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "1234": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1235": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1237": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP1", + "path": "3" + }, + "1238": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP2", + "path": "3" + }, + "1239": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DIV", + "path": "3" + }, + "1240": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "MUL", + "path": "3" + }, + "1241": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1243": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1244": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1246": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "MLOAD", + "path": "3" + }, + "1247": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP1", + "path": "3" + }, + "1248": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP2", + "path": "3" + }, + "1249": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1250": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1252": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "MSTORE", + "path": "3" + }, + "1253": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP1", + "path": "3" + }, + "1254": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP4", + "path": "3" + }, + "1255": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP3", + "path": "3" + }, + "1256": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP2", + "path": "3" + }, + "1257": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP1", + "path": "3" + }, + "1258": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP2", + "path": "3" + }, + "1259": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP2", + "path": "3" + }, + "1260": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "MSTORE", + "path": "3" + }, + "1261": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1263": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1264": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP4", + "path": "3" + }, + "1265": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP4", + "path": "3" + }, + "1266": { + "op": "DUP1" + }, + "1267": { + "op": "DUP3" + }, + "1268": { + "op": "DUP5" + }, + "1269": { + "op": "CALLDATACOPY" + }, + "1270": { + "op": "PUSH1", + "value": "0x0" + }, + "1272": { + "op": "SWAP3" + }, + "1273": { + "op": "ADD" + }, + "1274": { + "op": "SWAP2" + }, + "1275": { + "op": "SWAP1" + }, + "1276": { + "op": "SWAP2" + }, + "1277": { + "op": "MSTORE" + }, + "1278": { + "op": "POP" + }, + "1279": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP3", + "path": "3" + }, + "1280": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP6", + "path": "3" + }, + "1281": { + "op": "POP" + }, + "1282": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH2", + "path": "3", + "value": "0xAAD" + }, + "1285": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP5", + "path": "3" + }, + "1286": { + "op": "POP" + }, + "1287": { + "op": "POP" + }, + "1288": { + "op": "POP" + }, + "1289": { + "op": "POP" + }, + "1290": { + "op": "POP" + }, + "1291": { + "fn": "ERC721.safeTransferFrom", + "jump": "i", + "offset": [ + 8667, + 8949 + ], + "op": "JUMP", + "path": "3" + }, + "1292": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1293": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "PUSH2", + "path": "3", + "value": "0x169" + }, + "1296": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "1298": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "DUP1", + "path": "3" + }, + "1299": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "1300": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "SUB", + "path": "3" + }, + "1301": { + "op": "PUSH1", + "value": "0x20" + }, + "1303": { + "op": "DUP2" + }, + "1304": { + "op": "LT" + }, + "1305": { + "op": "ISZERO" + }, + "1306": { + "op": "PUSH2", + "value": "0x522" + }, + "1309": { + "op": "JUMPI" + }, + "1310": { + "op": "PUSH1", + "value": "0x0" + }, + "1312": { + "op": "DUP1" + }, + "1313": { + "op": "REVERT" + }, + "1314": { + "op": "JUMPDEST" + }, + "1315": { + "op": "POP" + }, + "1316": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "1317": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "PUSH2", + "path": "3", + "value": "0xB0B" + }, + "1320": { + "fn": "ERC721.tokenURI", + "jump": "i", + "offset": [ + 4847, + 5623 + ], + "op": "JUMP", + "path": "3" + }, + "1321": { + "offset": [ + 158, + 185 + ], + "op": "JUMPDEST", + "path": "13" + }, + "1322": { + "fn": "ERC721.tokenURI", + "offset": [ + 158, + 185 + ], + "op": "PUSH2", + "path": "13", + "value": "0x24D" + }, + "1325": { + "fn": "ERC721.tokenURI", + "offset": [ + 158, + 185 + ], + "op": "PUSH2", + "path": "13", + "value": "0xD8E" + }, + "1328": { + "fn": "ERC721.tokenURI", + "jump": "i", + "offset": [ + 158, + 185 + ], + "op": "JUMP", + "path": "13" + }, + "1329": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1330": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "PUSH2", + "path": "3", + "value": "0x14D" + }, + "1333": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "1335": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "DUP1", + "path": "3" + }, + "1336": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "1337": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "SUB", + "path": "3" + }, + "1338": { + "op": "PUSH1", + "value": "0x40" + }, + "1340": { + "op": "DUP2" + }, + "1341": { + "op": "LT" + }, + "1342": { + "op": "ISZERO" + }, + "1343": { + "op": "PUSH2", + "value": "0x547" + }, + "1346": { + "op": "JUMPI" + }, + "1347": { + "op": "PUSH1", + "value": "0x0" + }, + "1349": { + "op": "DUP1" + }, + "1350": { + "op": "REVERT" + }, + "1351": { + "op": "JUMPDEST" + }, + "1352": { + "op": "POP" + }, + "1353": { + "op": "PUSH1", + "value": "0x1" + }, + "1355": { + "op": "PUSH1", + "value": "0x1" + }, + "1357": { + "op": "PUSH1", + "value": "0xA0" + }, + "1359": { + "op": "SHL" + }, + "1360": { + "op": "SUB" + }, + "1361": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "DUP2", + "path": "3" + }, + "1362": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "1363": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "DUP2", + "path": "3" + }, + "1364": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "AND", + "path": "3" + }, + "1365": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "SWAP2", + "path": "3" + }, + "1366": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1368": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "ADD", + "path": "3" + }, + "1369": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "1370": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "AND", + "path": "3" + }, + "1371": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "PUSH2", + "path": "3", + "value": "0xD94" + }, + "1374": { + "fn": "ERC721.isApprovedForAll", + "jump": "i", + "offset": [ + 7862, + 8024 + ], + "op": "JUMP", + "path": "3" + }, + "1375": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1376": { + "op": "PUSH1", + "value": "0x1" + }, + "1378": { + "op": "PUSH1", + "value": "0x1" + }, + "1380": { + "op": "PUSH1", + "value": "0xE0" + }, + "1382": { + "op": "SHL" + }, + "1383": { + "op": "SUB" + }, + "1384": { + "op": "NOT" + }, + "1385": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "DUP2", + "path": "0", + "statement": 0 + }, + "1386": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "AND", + "path": "0" + }, + "1387": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1050, + 1054 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1389": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "SWAP1", + "path": "0" + }, + "1390": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "DUP2", + "path": "0" + }, + "1391": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "MSTORE", + "path": "0" + }, + "1392": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "1394": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "DUP2", + "path": "0" + }, + "1395": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "SWAP1", + "path": "0" + }, + "1396": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "MSTORE", + "path": "0" + }, + "1397": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1399": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "SWAP1", + "path": "0" + }, + "1400": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "KECCAK256", + "path": "0" + }, + "1401": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "SLOAD", + "path": "0" + }, + "1402": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "PUSH1", + "path": "0", + "value": "0xFF" + }, + "1404": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "AND", + "path": "0" + }, + "1405": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1406": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SWAP2", + "path": "0" + }, + "1407": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SWAP1", + "path": "0" + }, + "1408": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "POP", + "path": "0" + }, + "1409": { + "fn": "ERC165.supportsInterface", + "jump": "o", + "offset": [ + 965, + 1113 + ], + "op": "JUMP", + "path": "0" + }, + "1410": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1411": { + "fn": "ERC721.name", + "offset": [ + 4603, + 4608 + ], + "op": "PUSH1", + "path": "3", + "statement": 1, + "value": "0x6" + }, + "1413": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP1", + "path": "3" + }, + "1414": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SLOAD", + "path": "3" + }, + "1415": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1417": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP1", + "path": "3" + }, + "1418": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MLOAD", + "path": "3" + }, + "1419": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1421": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "1423": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "1425": { + "op": "PUSH1", + "value": "0x0" + }, + "1427": { + "op": "NOT" + }, + "1428": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "1431": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "1433": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP9", + "path": "3" + }, + "1434": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "AND", + "path": "3" + }, + "1435": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ISZERO", + "path": "3" + }, + "1436": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MUL", + "path": "3" + }, + "1437": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1438": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1439": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP6", + "path": "3" + }, + "1440": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "AND", + "path": "3" + }, + "1441": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP5", + "path": "3" + }, + "1442": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1443": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP5", + "path": "3" + }, + "1444": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DIV", + "path": "3" + }, + "1445": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP4", + "path": "3" + }, + "1446": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP5", + "path": "3" + }, + "1447": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1448": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP2", + "path": "3" + }, + "1449": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1450": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DIV", + "path": "3" + }, + "1451": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP2", + "path": "3" + }, + "1452": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MUL", + "path": "3" + }, + "1453": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP3", + "path": "3" + }, + "1454": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1455": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP2", + "path": "3" + }, + "1456": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1457": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1458": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP3", + "path": "3" + }, + "1459": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MSTORE", + "path": "3" + }, + "1460": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP3", + "path": "3" + }, + "1461": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP2", + "path": "3" + }, + "1462": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MSTORE", + "path": "3" + }, + "1463": { + "fn": "ERC721.name", + "offset": [ + 4571, + 4584 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "1465": { + "fn": "ERC721.name", + "offset": [ + 4571, + 4584 + ], + "op": "SWAP4", + "path": "3" + }, + "1466": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1467": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP3", + "path": "3" + }, + "1468": { + "fn": "ERC721.name", + "offset": [ + 4603, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1469": { + "fn": "ERC721.name", + "offset": [ + 4603, + 4608 + ], + "op": "SWAP2", + "path": "3" + }, + "1470": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP4", + "path": "3" + }, + "1471": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1472": { + "fn": "ERC721.name", + "offset": [ + 4603, + 4608 + ], + "op": "DUP3", + "path": "3" + }, + "1473": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP3", + "path": "3" + }, + "1474": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP1", + "path": "3" + }, + "1475": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ISZERO", + "path": "3" + }, + "1476": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH2", + "path": "3", + "value": "0x60E" + }, + "1479": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "JUMPI", + "path": "3" + }, + "1480": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP1", + "path": "3" + }, + "1481": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "1483": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "LT", + "path": "3" + }, + "1484": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH2", + "path": "3", + "value": "0x5E3" + }, + "1487": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "JUMPI", + "path": "3" + }, + "1488": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "1491": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP1", + "path": "3" + }, + "1492": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP4", + "path": "3" + }, + "1493": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SLOAD", + "path": "3" + }, + "1494": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DIV", + "path": "3" + }, + "1495": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MUL", + "path": "3" + }, + "1496": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP4", + "path": "3" + }, + "1497": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MSTORE", + "path": "3" + }, + "1498": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP2", + "path": "3" + }, + "1499": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1501": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1502": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP2", + "path": "3" + }, + "1503": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH2", + "path": "3", + "value": "0x60E" + }, + "1506": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "JUMP", + "path": "3" + }, + "1507": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1508": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP3", + "path": "3" + }, + "1509": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1510": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP2", + "path": "3" + }, + "1511": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1512": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "1514": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MSTORE", + "path": "3" + }, + "1515": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1517": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "1519": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "KECCAK256", + "path": "3" + }, + "1520": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1521": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1522": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP2", + "path": "3" + }, + "1523": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SLOAD", + "path": "3" + }, + "1524": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP2", + "path": "3" + }, + "1525": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MSTORE", + "path": "3" + }, + "1526": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1527": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "1529": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1530": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1531": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1533": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1534": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP1", + "path": "3" + }, + "1535": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP4", + "path": "3" + }, + "1536": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "GT", + "path": "3" + }, + "1537": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH2", + "path": "3", + "value": "0x5F1" + }, + "1540": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "JUMPI", + "path": "3" + }, + "1541": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP3", + "path": "3" + }, + "1542": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1543": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SUB", + "path": "3" + }, + "1544": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "1546": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "AND", + "path": "3" + }, + "1547": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP3", + "path": "3" + }, + "1548": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1549": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP2", + "path": "3" + }, + "1550": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1551": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "POP", + "path": "3" + }, + "1552": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "POP", + "path": "3" + }, + "1553": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "POP", + "path": "3" + }, + "1554": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "POP", + "path": "3" + }, + "1555": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "POP", + "path": "3" + }, + "1556": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1557": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "POP", + "path": "3" + }, + "1558": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1559": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP1", + "path": "3" + }, + "1560": { + "fn": "ERC721.name", + "jump": "o", + "offset": [ + 4517, + 4615 + ], + "op": "JUMP", + "path": "3" + }, + "1561": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1562": { + "fn": "ERC721.getApproved", + "offset": [ + 7298, + 7305 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "1564": { + "fn": "ERC721.getApproved", + "offset": [ + 7325, + 7341 + ], + "op": "PUSH2", + "path": "3", + "statement": 2, + "value": "0x624" + }, + "1567": { + "fn": "ERC721.getApproved", + "offset": [ + 7333, + 7340 + ], + "op": "DUP3", + "path": "3" + }, + "1568": { + "fn": "ERC721.getApproved", + "offset": [ + 7325, + 7332 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDC2" + }, + "1571": { + "fn": "ERC721.getApproved", + "jump": "i", + "offset": [ + 7325, + 7341 + ], + "op": "JUMP", + "path": "3" + }, + "1572": { + "branch": 106, + "fn": "ERC721.getApproved", + "offset": [ + 7325, + 7341 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1573": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH2", + "path": "3", + "value": "0x65F" + }, + "1576": { + "branch": 106, + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "JUMPI", + "path": "3" + }, + "1577": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1579": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "MLOAD", + "path": "3" + }, + "1580": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1584": { + "op": "PUSH1", + "value": "0xE5" + }, + "1586": { + "op": "SHL" + }, + "1587": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP2", + "path": "3" + }, + "1588": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "MSTORE", + "path": "3" + }, + "1589": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "1591": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "ADD", + "path": "3" + }, + "1592": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP1", + "path": "3" + }, + "1593": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP1", + "path": "3" + }, + "1594": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1596": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "ADD", + "path": "3" + }, + "1597": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP3", + "path": "3" + }, + "1598": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP2", + "path": "3" + }, + "1599": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "SUB", + "path": "3" + }, + "1600": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP3", + "path": "3" + }, + "1601": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "MSTORE", + "path": "3" + }, + "1602": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2C" + }, + "1604": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP2", + "path": "3" + }, + "1605": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "MSTORE", + "path": "3" + }, + "1606": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1608": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "ADD", + "path": "3" + }, + "1609": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP1", + "path": "3" + }, + "1610": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1C6F" + }, + "1613": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2C" + }, + "1615": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "SWAP2", + "path": "3" + }, + "1616": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "CODECOPY", + "path": "3" + }, + "1617": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1619": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "ADD", + "path": "3" + }, + "1620": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "SWAP2", + "path": "3" + }, + "1621": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "POP", + "path": "3" + }, + "1622": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "POP", + "path": "3" + }, + "1623": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1625": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "MLOAD", + "path": "3" + }, + "1626": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP1", + "path": "3" + }, + "1627": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "SWAP2", + "path": "3" + }, + "1628": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "SUB", + "path": "3" + }, + "1629": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "SWAP1", + "path": "3" + }, + "1630": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "REVERT", + "path": "3" + }, + "1631": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1632": { + "op": "POP" + }, + "1633": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "PUSH1", + "path": "3", + "statement": 3, + "value": "0x0" + }, + "1635": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "SWAP1", + "path": "3" + }, + "1636": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "DUP2", + "path": "3" + }, + "1637": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "MSTORE", + "path": "3" + }, + "1638": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7423 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "1640": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1642": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "MSTORE", + "path": "3" + }, + "1643": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1645": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "SWAP1", + "path": "3" + }, + "1646": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "KECCAK256", + "path": "3" + }, + "1647": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "SLOAD", + "path": "3" + }, + "1648": { + "op": "PUSH1", + "value": "0x1" + }, + "1650": { + "op": "PUSH1", + "value": "0x1" + }, + "1652": { + "op": "PUSH1", + "value": "0xA0" + }, + "1654": { + "op": "SHL" + }, + "1655": { + "op": "SUB" + }, + "1656": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "AND", + "path": "3" + }, + "1657": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "SWAP1", + "path": "3" + }, + "1658": { + "fn": "ERC721.getApproved", + "jump": "o", + "offset": [ + 7222, + 7439 + ], + "op": "JUMP", + "path": "3" + }, + "1659": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1660": { + "fn": "ERC721.approve", + "offset": [ + 6846, + 6859 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "1662": { + "fn": "ERC721.approve", + "offset": [ + 6862, + 6885 + ], + "op": "PUSH2", + "path": "3", + "value": "0x686" + }, + "1665": { + "fn": "ERC721.approve", + "offset": [ + 6877, + 6884 + ], + "op": "DUP3", + "path": "3" + }, + "1666": { + "fn": "ERC721.approve", + "offset": [ + 6862, + 6876 + ], + "op": "PUSH2", + "path": "3", + "value": "0x826" + }, + "1669": { + "fn": "ERC721.approve", + "jump": "i", + "offset": [ + 6862, + 6885 + ], + "op": "JUMP", + "path": "3" + }, + "1670": { + "fn": "ERC721.approve", + "offset": [ + 6862, + 6885 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1671": { + "fn": "ERC721.approve", + "offset": [ + 6846, + 6885 + ], + "op": "SWAP1", + "path": "3" + }, + "1672": { + "fn": "ERC721.approve", + "offset": [ + 6846, + 6885 + ], + "op": "POP", + "path": "3" + }, + "1673": { + "fn": "ERC721.approve", + "offset": [ + 6909, + 6914 + ], + "op": "DUP1", + "path": "3", + "statement": 4 + }, + "1674": { + "op": "PUSH1", + "value": "0x1" + }, + "1676": { + "op": "PUSH1", + "value": "0x1" + }, + "1678": { + "op": "PUSH1", + "value": "0xA0" + }, + "1680": { + "op": "SHL" + }, + "1681": { + "op": "SUB" + }, + "1682": { + "fn": "ERC721.approve", + "offset": [ + 6903, + 6914 + ], + "op": "AND", + "path": "3" + }, + "1683": { + "fn": "ERC721.approve", + "offset": [ + 6903, + 6905 + ], + "op": "DUP4", + "path": "3" + }, + "1684": { + "op": "PUSH1", + "value": "0x1" + }, + "1686": { + "op": "PUSH1", + "value": "0x1" + }, + "1688": { + "op": "PUSH1", + "value": "0xA0" + }, + "1690": { + "op": "SHL" + }, + "1691": { + "op": "SUB" + }, + "1692": { + "fn": "ERC721.approve", + "offset": [ + 6903, + 6914 + ], + "op": "AND", + "path": "3" + }, + "1693": { + "fn": "ERC721.approve", + "offset": [ + 6903, + 6914 + ], + "op": "EQ", + "path": "3" + }, + "1694": { + "branch": 107, + "fn": "ERC721.approve", + "offset": [ + 6903, + 6914 + ], + "op": "ISZERO", + "path": "3" + }, + "1695": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH2", + "path": "3", + "value": "0x6D9" + }, + "1698": { + "branch": 107, + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "JUMPI", + "path": "3" + }, + "1699": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1701": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "MLOAD", + "path": "3" + }, + "1702": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1706": { + "op": "PUSH1", + "value": "0xE5" + }, + "1708": { + "op": "SHL" + }, + "1709": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP2", + "path": "3" + }, + "1710": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "MSTORE", + "path": "3" + }, + "1711": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "1713": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "ADD", + "path": "3" + }, + "1714": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP1", + "path": "3" + }, + "1715": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP1", + "path": "3" + }, + "1716": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1718": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "ADD", + "path": "3" + }, + "1719": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP3", + "path": "3" + }, + "1720": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP2", + "path": "3" + }, + "1721": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "SUB", + "path": "3" + }, + "1722": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP3", + "path": "3" + }, + "1723": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "MSTORE", + "path": "3" + }, + "1724": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x21" + }, + "1726": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP2", + "path": "3" + }, + "1727": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "MSTORE", + "path": "3" + }, + "1728": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1730": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "ADD", + "path": "3" + }, + "1731": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP1", + "path": "3" + }, + "1732": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1D1F" + }, + "1735": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x21" + }, + "1737": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "SWAP2", + "path": "3" + }, + "1738": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "CODECOPY", + "path": "3" + }, + "1739": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1741": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "ADD", + "path": "3" + }, + "1742": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "SWAP2", + "path": "3" + }, + "1743": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "POP", + "path": "3" + }, + "1744": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "POP", + "path": "3" + }, + "1745": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1747": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "MLOAD", + "path": "3" + }, + "1748": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP1", + "path": "3" + }, + "1749": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "SWAP2", + "path": "3" + }, + "1750": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "SUB", + "path": "3" + }, + "1751": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "SWAP1", + "path": "3" + }, + "1752": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "REVERT", + "path": "3" + }, + "1753": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1754": { + "fn": "ERC721.approve", + "offset": [ + 6987, + 6992 + ], + "op": "DUP1", + "path": "3", + "statement": 5 + }, + "1755": { + "op": "PUSH1", + "value": "0x1" + }, + "1757": { + "op": "PUSH1", + "value": "0x1" + }, + "1759": { + "op": "PUSH1", + "value": "0xA0" + }, + "1761": { + "op": "SHL" + }, + "1762": { + "op": "SUB" + }, + "1763": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 6992 + ], + "op": "AND", + "path": "3" + }, + "1764": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 6983 + ], + "op": "PUSH2", + "path": "3", + "value": "0x6EB" + }, + "1767": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 6981 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDD5" + }, + "1770": { + "fn": "ERC721.approve", + "jump": "i", + "offset": [ + 6971, + 6983 + ], + "op": "JUMP", + "path": "3" + }, + "1771": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 6983 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1772": { + "op": "PUSH1", + "value": "0x1" + }, + "1774": { + "op": "PUSH1", + "value": "0x1" + }, + "1776": { + "op": "PUSH1", + "value": "0xA0" + }, + "1778": { + "op": "SHL" + }, + "1779": { + "op": "SUB" + }, + "1780": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 6992 + ], + "op": "AND", + "path": "3" + }, + "1781": { + "branch": 108, + "fn": "ERC721.approve", + "offset": [ + 6971, + 6992 + ], + "op": "EQ", + "path": "3" + }, + "1782": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 7040 + ], + "op": "DUP1", + "path": "3" + }, + "1783": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 7040 + ], + "op": "PUSH2", + "path": "3", + "value": "0x70C" + }, + "1786": { + "branch": 108, + "fn": "ERC721.approve", + "offset": [ + 6971, + 7040 + ], + "op": "JUMPI", + "path": "3" + }, + "1787": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 7040 + ], + "op": "POP", + "path": "3" + }, + "1788": { + "fn": "ERC721.approve", + "offset": [ + 6996, + 7040 + ], + "op": "PUSH2", + "path": "3", + "value": "0x70C" + }, + "1791": { + "fn": "ERC721.approve", + "offset": [ + 7020, + 7025 + ], + "op": "DUP2", + "path": "3" + }, + "1792": { + "fn": "ERC721.approve", + "offset": [ + 7027, + 7039 + ], + "op": "PUSH2", + "path": "3", + "value": "0x707" + }, + "1795": { + "fn": "ERC721.approve", + "offset": [ + 7027, + 7037 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDD5" + }, + "1798": { + "fn": "ERC721.approve", + "jump": "i", + "offset": [ + 7027, + 7039 + ], + "op": "JUMP", + "path": "3" + }, + "1799": { + "fn": "ERC721.approve", + "offset": [ + 7027, + 7039 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1800": { + "fn": "ERC721.approve", + "offset": [ + 6996, + 7019 + ], + "op": "PUSH2", + "path": "3", + "value": "0xD94" + }, + "1803": { + "fn": "ERC721.approve", + "jump": "i", + "offset": [ + 6996, + 7040 + ], + "op": "JUMP", + "path": "3" + }, + "1804": { + "branch": 109, + "fn": "ERC721.approve", + "offset": [ + 6996, + 7040 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1805": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH2", + "path": "3", + "value": "0x747" + }, + "1808": { + "branch": 109, + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "JUMPI", + "path": "3" + }, + "1809": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1811": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "MLOAD", + "path": "3" + }, + "1812": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1816": { + "op": "PUSH1", + "value": "0xE5" + }, + "1818": { + "op": "SHL" + }, + "1819": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP2", + "path": "3" + }, + "1820": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "MSTORE", + "path": "3" + }, + "1821": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "1823": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "ADD", + "path": "3" + }, + "1824": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP1", + "path": "3" + }, + "1825": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP1", + "path": "3" + }, + "1826": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1828": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "ADD", + "path": "3" + }, + "1829": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP3", + "path": "3" + }, + "1830": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP2", + "path": "3" + }, + "1831": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "SUB", + "path": "3" + }, + "1832": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP3", + "path": "3" + }, + "1833": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "MSTORE", + "path": "3" + }, + "1834": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x38" + }, + "1836": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP2", + "path": "3" + }, + "1837": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "MSTORE", + "path": "3" + }, + "1838": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1840": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "ADD", + "path": "3" + }, + "1841": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP1", + "path": "3" + }, + "1842": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1BC2" + }, + "1845": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x38" + }, + "1847": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "SWAP2", + "path": "3" + }, + "1848": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "CODECOPY", + "path": "3" + }, + "1849": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1851": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "ADD", + "path": "3" + }, + "1852": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "SWAP2", + "path": "3" + }, + "1853": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "POP", + "path": "3" + }, + "1854": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "POP", + "path": "3" + }, + "1855": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1857": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "MLOAD", + "path": "3" + }, + "1858": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP1", + "path": "3" + }, + "1859": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "SWAP2", + "path": "3" + }, + "1860": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "SUB", + "path": "3" + }, + "1861": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "SWAP1", + "path": "3" + }, + "1862": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "REVERT", + "path": "3" + }, + "1863": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1864": { + "fn": "ERC721.approve", + "offset": [ + 7133, + 7154 + ], + "op": "PUSH2", + "path": "3", + "statement": 6, + "value": "0x751" + }, + "1867": { + "fn": "ERC721.approve", + "offset": [ + 7142, + 7144 + ], + "op": "DUP4", + "path": "3" + }, + "1868": { + "fn": "ERC721.approve", + "offset": [ + 7146, + 7153 + ], + "op": "DUP4", + "path": "3" + }, + "1869": { + "fn": "ERC721.approve", + "offset": [ + 7133, + 7141 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDD9" + }, + "1872": { + "fn": "ERC721.approve", + "jump": "i", + "offset": [ + 7133, + 7154 + ], + "op": "JUMP", + "path": "3" + }, + "1873": { + "fn": "ERC721.approve", + "offset": [ + 7133, + 7154 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1874": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "POP", + "path": "3" + }, + "1875": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "POP", + "path": "3" + }, + "1876": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "POP", + "path": "3" + }, + "1877": { + "fn": "ERC721.approve", + "jump": "o", + "offset": [ + 6766, + 7161 + ], + "op": "JUMP", + "path": "3" + }, + "1878": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1879": { + "fn": "ERC721.totalSupply", + "offset": [ + 6321, + 6328 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "1881": { + "fn": "ERC721.totalSupply", + "offset": [ + 6440, + 6461 + ], + "op": "PUSH2", + "path": "3", + "statement": 7, + "value": "0x762" + }, + "1884": { + "fn": "ERC721.totalSupply", + "offset": [ + 6440, + 6452 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "1886": { + "fn": "ERC721.totalSupply", + "offset": [ + 6440, + 6459 + ], + "op": "PUSH2", + "path": "3", + "value": "0xE47" + }, + "1889": { + "fn": "ERC721.totalSupply", + "jump": "i", + "offset": [ + 6440, + 6461 + ], + "op": "JUMP", + "path": "3" + }, + "1890": { + "fn": "ERC721.totalSupply", + "offset": [ + 6440, + 6461 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1891": { + "fn": "ERC721.totalSupply", + "offset": [ + 6433, + 6461 + ], + "op": "SWAP1", + "path": "3" + }, + "1892": { + "fn": "ERC721.totalSupply", + "offset": [ + 6433, + 6461 + ], + "op": "POP", + "path": "3" + }, + "1893": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "SWAP1", + "path": "3" + }, + "1894": { + "fn": "ERC721.totalSupply", + "jump": "o", + "offset": [ + 6260, + 6468 + ], + "op": "JUMP", + "path": "3" + }, + "1895": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1896": { + "fn": "ERC721.transferFrom", + "offset": [ + 8245, + 8286 + ], + "op": "PUSH2", + "path": "3", + "statement": 8, + "value": "0x778" + }, + "1899": { + "fn": "ERC721.transferFrom", + "offset": [ + 8264, + 8276 + ], + "op": "PUSH2", + "path": "3", + "value": "0x772" + }, + "1902": { + "fn": "ERC721.transferFrom", + "offset": [ + 8264, + 8274 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDD5" + }, + "1905": { + "fn": "ERC721.transferFrom", + "jump": "i", + "offset": [ + 8264, + 8276 + ], + "op": "JUMP", + "path": "3" + }, + "1906": { + "fn": "ERC721.transferFrom", + "offset": [ + 8264, + 8276 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1907": { + "fn": "ERC721.transferFrom", + "offset": [ + 8278, + 8285 + ], + "op": "DUP3", + "path": "3" + }, + "1908": { + "fn": "ERC721.transferFrom", + "offset": [ + 8245, + 8263 + ], + "op": "PUSH2", + "path": "3", + "value": "0xE52" + }, + "1911": { + "fn": "ERC721.transferFrom", + "jump": "i", + "offset": [ + 8245, + 8286 + ], + "op": "JUMP", + "path": "3" + }, + "1912": { + "branch": 110, + "fn": "ERC721.transferFrom", + "offset": [ + 8245, + 8286 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1913": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH2", + "path": "3", + "value": "0x7B3" + }, + "1916": { + "branch": 110, + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "JUMPI", + "path": "3" + }, + "1917": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1919": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "MLOAD", + "path": "3" + }, + "1920": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1924": { + "op": "PUSH1", + "value": "0xE5" + }, + "1926": { + "op": "SHL" + }, + "1927": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP2", + "path": "3" + }, + "1928": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "MSTORE", + "path": "3" + }, + "1929": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "1931": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "ADD", + "path": "3" + }, + "1932": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP1", + "path": "3" + }, + "1933": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP1", + "path": "3" + }, + "1934": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1936": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "ADD", + "path": "3" + }, + "1937": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP3", + "path": "3" + }, + "1938": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP2", + "path": "3" + }, + "1939": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "SUB", + "path": "3" + }, + "1940": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP3", + "path": "3" + }, + "1941": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "MSTORE", + "path": "3" + }, + "1942": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x31" + }, + "1944": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP2", + "path": "3" + }, + "1945": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "MSTORE", + "path": "3" + }, + "1946": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1948": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "ADD", + "path": "3" + }, + "1949": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP1", + "path": "3" + }, + "1950": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1D40" + }, + "1953": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x31" + }, + "1955": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "SWAP2", + "path": "3" + }, + "1956": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "CODECOPY", + "path": "3" + }, + "1957": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1959": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "ADD", + "path": "3" + }, + "1960": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "SWAP2", + "path": "3" + }, + "1961": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "POP", + "path": "3" + }, + "1962": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "POP", + "path": "3" + }, + "1963": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1965": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "MLOAD", + "path": "3" + }, + "1966": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP1", + "path": "3" + }, + "1967": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "SWAP2", + "path": "3" + }, + "1968": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "SUB", + "path": "3" + }, + "1969": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "SWAP1", + "path": "3" + }, + "1970": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "REVERT", + "path": "3" + }, + "1971": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1972": { + "fn": "ERC721.transferFrom", + "offset": [ + 8351, + 8379 + ], + "op": "PUSH2", + "path": "3", + "statement": 9, + "value": "0x751" + }, + "1975": { + "fn": "ERC721.transferFrom", + "offset": [ + 8361, + 8365 + ], + "op": "DUP4", + "path": "3" + }, + "1976": { + "fn": "ERC721.transferFrom", + "offset": [ + 8367, + 8369 + ], + "op": "DUP4", + "path": "3" + }, + "1977": { + "fn": "ERC721.transferFrom", + "offset": [ + 8371, + 8378 + ], + "op": "DUP4", + "path": "3" + }, + "1978": { + "fn": "ERC721.transferFrom", + "offset": [ + 8351, + 8360 + ], + "op": "PUSH2", + "path": "3", + "value": "0xEF6" + }, + "1981": { + "fn": "ERC721.transferFrom", + "jump": "i", + "offset": [ + 8351, + 8379 + ], + "op": "JUMP", + "path": "3" + }, + "1982": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1983": { + "op": "PUSH1", + "value": "0x1" + }, + "1985": { + "op": "PUSH1", + "value": "0x1" + }, + "1987": { + "op": "PUSH1", + "value": "0xA0" + }, + "1989": { + "op": "SHL" + }, + "1990": { + "op": "SUB" + }, + "1991": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "DUP3", + "path": "3", + "statement": 10 + }, + "1992": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "AND", + "path": "3" + }, + "1993": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6126, + 6133 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "1995": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "SWAP1", + "path": "3" + }, + "1996": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "DUP2", + "path": "3" + }, + "1997": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "MSTORE", + "path": "3" + }, + "1998": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6165 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "2000": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2002": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "MSTORE", + "path": "3" + }, + "2003": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2005": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "DUP2", + "path": "3" + }, + "2006": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "KECCAK256", + "path": "3" + }, + "2007": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6182 + ], + "op": "PUSH2", + "path": "3", + "value": "0x7E6" + }, + "2010": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6182 + ], + "op": "SWAP1", + "path": "3" + }, + "2011": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6176, + 6181 + ], + "op": "DUP4", + "path": "3" + }, + "2012": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6182 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "2017": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6175 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1054" + }, + "2020": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6182 + ], + "op": "AND", + "path": "3" + }, + "2021": { + "fn": "ERC721.tokenOfOwnerByIndex", + "jump": "i", + "offset": [ + 6152, + 6182 + ], + "op": "JUMP", + "path": "3" + }, + "2022": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6182 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2023": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6145, + 6182 + ], + "op": "SWAP1", + "path": "3" + }, + "2024": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6145, + 6182 + ], + "op": "POP", + "path": "3" + }, + "2025": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2026": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "SWAP3", + "path": "3" + }, + "2027": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "SWAP2", + "path": "3" + }, + "2028": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "POP", + "path": "3" + }, + "2029": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "POP", + "path": "3" + }, + "2030": { + "fn": "ERC721.tokenOfOwnerByIndex", + "jump": "o", + "offset": [ + 6029, + 6189 + ], + "op": "JUMP", + "path": "3" + }, + "2031": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2032": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "PUSH2", + "path": "3", + "statement": 11, + "value": "0x751" + }, + "2035": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8572, + 8576 + ], + "op": "DUP4", + "path": "3" + }, + "2036": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8578, + 8580 + ], + "op": "DUP4", + "path": "3" + }, + "2037": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8582, + 8589 + ], + "op": "DUP4", + "path": "3" + }, + "2038": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2040": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "MLOAD", + "path": "3" + }, + "2041": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "DUP1", + "path": "3" + }, + "2042": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2044": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "ADD", + "path": "3" + }, + "2045": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2047": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "MSTORE", + "path": "3" + }, + "2048": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "DUP1", + "path": "3" + }, + "2049": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "2051": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "DUP2", + "path": "3" + }, + "2052": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "MSTORE", + "path": "3" + }, + "2053": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "POP", + "path": "3" + }, + "2054": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8571 + ], + "op": "PUSH2", + "path": "3", + "value": "0xAAD" + }, + "2057": { + "fn": "ERC721.safeTransferFrom", + "jump": "i", + "offset": [ + 8555, + 8594 + ], + "op": "JUMP", + "path": "3" + }, + "2058": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2059": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6615, + 6622 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "2061": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6615, + 6622 + ], + "op": "DUP1", + "path": "3" + }, + "2062": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6656, + 6678 + ], + "op": "PUSH2", + "path": "3", + "value": "0x81E" + }, + "2065": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6656, + 6668 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "2067": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6672, + 6677 + ], + "op": "DUP5", + "path": "3" + }, + "2068": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6656, + 6678 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "2073": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6656, + 6671 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1060" + }, + "2076": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6656, + 6678 + ], + "op": "AND", + "path": "3" + }, + "2077": { + "fn": "ERC721.tokenByIndex", + "jump": "i", + "offset": [ + 6656, + 6678 + ], + "op": "JUMP", + "path": "3" + }, + "2078": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6656, + 6678 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2079": { + "op": "POP" + }, + "2080": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6634, + 6678 + ], + "op": "SWAP4", + "path": "3" + }, + "2081": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "SWAP3", + "path": "3" + }, + "2082": { + "op": "POP" + }, + "2083": { + "op": "POP" + }, + "2084": { + "op": "POP" + }, + "2085": { + "fn": "ERC721.tokenByIndex", + "jump": "o", + "offset": [ + 6540, + 6709 + ], + "op": "JUMP", + "path": "3" + }, + "2086": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2087": { + "fn": "ERC721.ownerOf", + "offset": [ + 4352, + 4359 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "2089": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH2", + "path": "3", + "statement": 12, + "value": "0x7E9" + }, + "2092": { + "fn": "ERC721.ownerOf", + "offset": [ + 4395, + 4402 + ], + "op": "DUP3", + "path": "3" + }, + "2093": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2095": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "MLOAD", + "path": "3" + }, + "2096": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "DUP1", + "path": "3" + }, + "2097": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "2099": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "ADD", + "path": "3" + }, + "2100": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2102": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "MSTORE", + "path": "3" + }, + "2103": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "DUP1", + "path": "3" + }, + "2104": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x29" + }, + "2106": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "DUP2", + "path": "3" + }, + "2107": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "MSTORE", + "path": "3" + }, + "2108": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2110": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "ADD", + "path": "3" + }, + "2111": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1C24" + }, + "2114": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x29" + }, + "2116": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "SWAP2", + "path": "3" + }, + "2117": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "CODECOPY", + "path": "3" + }, + "2118": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "2120": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4390 + ], + "op": "SWAP2", + "path": "3" + }, + "2121": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "SWAP1", + "path": "3" + }, + "2122": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "2127": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4394 + ], + "op": "PUSH2", + "path": "3", + "value": "0x107C" + }, + "2130": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "AND", + "path": "3" + }, + "2131": { + "fn": "ERC721.ownerOf", + "jump": "i", + "offset": [ + 4378, + 4448 + ], + "op": "JUMP", + "path": "3" + }, + "2132": { + "fn": "ERC721.baseURI", + "offset": [ + 5855, + 5950 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2133": { + "fn": "ERC721.baseURI", + "offset": [ + 5935, + 5943 + ], + "op": "PUSH1", + "path": "3", + "statement": 13, + "value": "0x9" + }, + "2135": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP1", + "path": "3" + }, + "2136": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SLOAD", + "path": "3" + }, + "2137": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2139": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP1", + "path": "3" + }, + "2140": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "MLOAD", + "path": "3" + }, + "2141": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2143": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "2145": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "2147": { + "op": "PUSH1", + "value": "0x0" + }, + "2149": { + "op": "NOT" + }, + "2150": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "2153": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "2155": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP9", + "path": "3" + }, + "2156": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "AND", + "path": "3" + }, + "2157": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ISZERO", + "path": "3" + }, + "2158": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "MUL", + "path": "3" + }, + "2159": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ADD", + "path": "3" + }, + "2160": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP1", + "path": "3" + }, + "2161": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP6", + "path": "3" + }, + "2162": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "AND", + "path": "3" + }, + "2163": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP5", + "path": "3" + }, + "2164": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP1", + "path": "3" + }, + "2165": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP5", + "path": "3" + }, + "2166": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DIV", + "path": "3" + }, + "2167": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP4", + "path": "3" + }, + "2168": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP5", + "path": "3" + }, + "2169": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ADD", + "path": "3" + }, + "2170": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP2", + "path": "3" + }, + "2171": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP1", + "path": "3" + }, + "2172": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DIV", + "path": "3" + }, + "2173": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP2", + "path": "3" + }, + "2174": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "MUL", + "path": "3" + }, + "2175": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP3", + "path": "3" + }, + "2176": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ADD", + "path": "3" + }, + "2177": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP2", + "path": "3" + }, + "2178": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ADD", + "path": "3" + }, + "2179": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP1", + "path": "3" + }, + "2180": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP3", + "path": "3" + }, + "2181": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "MSTORE", + "path": "3" + }, + "2182": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP3", + "path": "3" + }, + "2183": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP2", + "path": "3" + }, + "2184": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "MSTORE", + "path": "3" + }, + "2185": { + "fn": "ERC721.baseURI", + "offset": [ + 5903, + 5916 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "2187": { + "fn": "ERC721.baseURI", + "offset": [ + 5903, + 5916 + ], + "op": "SWAP4", + "path": "3" + }, + "2188": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP1", + "path": "3" + }, + "2189": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP3", + "path": "3" + }, + "2190": { + "fn": "ERC721.baseURI", + "offset": [ + 5935, + 5943 + ], + "op": "SWAP1", + "path": "3" + }, + "2191": { + "fn": "ERC721.baseURI", + "offset": [ + 5935, + 5943 + ], + "op": "SWAP2", + "path": "3" + }, + "2192": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP4", + "path": "3" + }, + "2193": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ADD", + "path": "3" + }, + "2194": { + "fn": "ERC721.baseURI", + "offset": [ + 5935, + 5943 + ], + "op": "DUP3", + "path": "3" + }, + "2195": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP3", + "path": "3" + }, + "2196": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP1", + "path": "3" + }, + "2197": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ISZERO", + "path": "3" + }, + "2198": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH2", + "path": "3", + "value": "0x60E" + }, + "2201": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "JUMPI", + "path": "3" + }, + "2202": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP1", + "path": "3" + }, + "2203": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "2205": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "LT", + "path": "3" + }, + "2206": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH2", + "path": "3", + "value": "0x5E3" + }, + "2209": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "JUMPI", + "path": "3" + }, + "2210": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "2213": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP1", + "path": "3" + }, + "2214": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP4", + "path": "3" + }, + "2215": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SLOAD", + "path": "3" + }, + "2216": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DIV", + "path": "3" + }, + "2217": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "MUL", + "path": "3" + }, + "2218": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP4", + "path": "3" + }, + "2219": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "MSTORE", + "path": "3" + }, + "2220": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP2", + "path": "3" + }, + "2221": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2223": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ADD", + "path": "3" + }, + "2224": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP2", + "path": "3" + }, + "2225": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH2", + "path": "3", + "value": "0x60E" + }, + "2228": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "JUMP", + "path": "3" + }, + "2229": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2230": { + "fn": "ERC721.balanceOf", + "offset": [ + 4077, + 4084 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "2232": { + "op": "PUSH1", + "value": "0x1" + }, + "2234": { + "op": "PUSH1", + "value": "0x1" + }, + "2236": { + "op": "PUSH1", + "value": "0xA0" + }, + "2238": { + "op": "SHL" + }, + "2239": { + "op": "SUB" + }, + "2240": { + "fn": "ERC721.balanceOf", + "offset": [ + 4104, + 4123 + ], + "op": "DUP3", + "path": "3", + "statement": 14 + }, + "2241": { + "branch": 111, + "fn": "ERC721.balanceOf", + "offset": [ + 4104, + 4123 + ], + "op": "AND", + "path": "3" + }, + "2242": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH2", + "path": "3", + "value": "0x8FC" + }, + "2245": { + "branch": 111, + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "JUMPI", + "path": "3" + }, + "2246": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2248": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "MLOAD", + "path": "3" + }, + "2249": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2253": { + "op": "PUSH1", + "value": "0xE5" + }, + "2255": { + "op": "SHL" + }, + "2256": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP2", + "path": "3" + }, + "2257": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "MSTORE", + "path": "3" + }, + "2258": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "2260": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "ADD", + "path": "3" + }, + "2261": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP1", + "path": "3" + }, + "2262": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP1", + "path": "3" + }, + "2263": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2265": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "ADD", + "path": "3" + }, + "2266": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP3", + "path": "3" + }, + "2267": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP2", + "path": "3" + }, + "2268": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "SUB", + "path": "3" + }, + "2269": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP3", + "path": "3" + }, + "2270": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "MSTORE", + "path": "3" + }, + "2271": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2A" + }, + "2273": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP2", + "path": "3" + }, + "2274": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "MSTORE", + "path": "3" + }, + "2275": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2277": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "ADD", + "path": "3" + }, + "2278": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP1", + "path": "3" + }, + "2279": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1BFA" + }, + "2282": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2A" + }, + "2284": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "SWAP2", + "path": "3" + }, + "2285": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "CODECOPY", + "path": "3" + }, + "2286": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2288": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "ADD", + "path": "3" + }, + "2289": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "SWAP2", + "path": "3" + }, + "2290": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "POP", + "path": "3" + }, + "2291": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "POP", + "path": "3" + }, + "2292": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2294": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "MLOAD", + "path": "3" + }, + "2295": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP1", + "path": "3" + }, + "2296": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "SWAP2", + "path": "3" + }, + "2297": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "SUB", + "path": "3" + }, + "2298": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "SWAP1", + "path": "3" + }, + "2299": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "REVERT", + "path": "3" + }, + "2300": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2301": { + "op": "PUSH1", + "value": "0x1" + }, + "2303": { + "op": "PUSH1", + "value": "0x1" + }, + "2305": { + "op": "PUSH1", + "value": "0xA0" + }, + "2307": { + "op": "SHL" + }, + "2308": { + "op": "SUB" + }, + "2309": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "DUP3", + "path": "3", + "statement": 15 + }, + "2310": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "AND", + "path": "3" + }, + "2311": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "2313": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "SWAP1", + "path": "3" + }, + "2314": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "DUP2", + "path": "3" + }, + "2315": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "MSTORE", + "path": "3" + }, + "2316": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4200 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "2318": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2320": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "MSTORE", + "path": "3" + }, + "2321": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2323": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "SWAP1", + "path": "3" + }, + "2324": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "KECCAK256", + "path": "3" + }, + "2325": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4216 + ], + "op": "PUSH2", + "path": "3", + "value": "0x7E9" + }, + "2328": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4216 + ], + "op": "SWAP1", + "path": "3" + }, + "2329": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4214 + ], + "op": "PUSH2", + "path": "3", + "value": "0xE47" + }, + "2332": { + "fn": "ERC721.balanceOf", + "jump": "i", + "offset": [ + 4187, + 4216 + ], + "op": "JUMP", + "path": "3" + }, + "2333": { + "fn": "ERC721.symbol", + "offset": [ + 4679, + 4781 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2334": { + "fn": "ERC721.symbol", + "offset": [ + 4767, + 4774 + ], + "op": "PUSH1", + "path": "3", + "statement": 16, + "value": "0x7" + }, + "2336": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP1", + "path": "3" + }, + "2337": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SLOAD", + "path": "3" + }, + "2338": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2340": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP1", + "path": "3" + }, + "2341": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "MLOAD", + "path": "3" + }, + "2342": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2344": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "2346": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "2348": { + "op": "PUSH1", + "value": "0x0" + }, + "2350": { + "op": "NOT" + }, + "2351": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "2354": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "2356": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP9", + "path": "3" + }, + "2357": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "AND", + "path": "3" + }, + "2358": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ISZERO", + "path": "3" + }, + "2359": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "MUL", + "path": "3" + }, + "2360": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ADD", + "path": "3" + }, + "2361": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP1", + "path": "3" + }, + "2362": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP6", + "path": "3" + }, + "2363": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "AND", + "path": "3" + }, + "2364": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP5", + "path": "3" + }, + "2365": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP1", + "path": "3" + }, + "2366": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP5", + "path": "3" + }, + "2367": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DIV", + "path": "3" + }, + "2368": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP4", + "path": "3" + }, + "2369": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP5", + "path": "3" + }, + "2370": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ADD", + "path": "3" + }, + "2371": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP2", + "path": "3" + }, + "2372": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP1", + "path": "3" + }, + "2373": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DIV", + "path": "3" + }, + "2374": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP2", + "path": "3" + }, + "2375": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "MUL", + "path": "3" + }, + "2376": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP3", + "path": "3" + }, + "2377": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ADD", + "path": "3" + }, + "2378": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP2", + "path": "3" + }, + "2379": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ADD", + "path": "3" + }, + "2380": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP1", + "path": "3" + }, + "2381": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP3", + "path": "3" + }, + "2382": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "MSTORE", + "path": "3" + }, + "2383": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP3", + "path": "3" + }, + "2384": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP2", + "path": "3" + }, + "2385": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "MSTORE", + "path": "3" + }, + "2386": { + "fn": "ERC721.symbol", + "offset": [ + 4735, + 4748 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "2388": { + "fn": "ERC721.symbol", + "offset": [ + 4735, + 4748 + ], + "op": "SWAP4", + "path": "3" + }, + "2389": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP1", + "path": "3" + }, + "2390": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP3", + "path": "3" + }, + "2391": { + "fn": "ERC721.symbol", + "offset": [ + 4767, + 4774 + ], + "op": "SWAP1", + "path": "3" + }, + "2392": { + "fn": "ERC721.symbol", + "offset": [ + 4767, + 4774 + ], + "op": "SWAP2", + "path": "3" + }, + "2393": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP4", + "path": "3" + }, + "2394": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ADD", + "path": "3" + }, + "2395": { + "fn": "ERC721.symbol", + "offset": [ + 4767, + 4774 + ], + "op": "DUP3", + "path": "3" + }, + "2396": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP3", + "path": "3" + }, + "2397": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP1", + "path": "3" + }, + "2398": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ISZERO", + "path": "3" + }, + "2399": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH2", + "path": "3", + "value": "0x60E" + }, + "2402": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "JUMPI", + "path": "3" + }, + "2403": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP1", + "path": "3" + }, + "2404": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "2406": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "LT", + "path": "3" + }, + "2407": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH2", + "path": "3", + "value": "0x5E3" + }, + "2410": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "JUMPI", + "path": "3" + }, + "2411": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "2414": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP1", + "path": "3" + }, + "2415": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP4", + "path": "3" + }, + "2416": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SLOAD", + "path": "3" + }, + "2417": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DIV", + "path": "3" + }, + "2418": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "MUL", + "path": "3" + }, + "2419": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP4", + "path": "3" + }, + "2420": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "MSTORE", + "path": "3" + }, + "2421": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP2", + "path": "3" + }, + "2422": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2424": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ADD", + "path": "3" + }, + "2425": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP2", + "path": "3" + }, + "2426": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH2", + "path": "3", + "value": "0x60E" + }, + "2429": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "JUMP", + "path": "3" + }, + "2430": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2431": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7620, + 7632 + ], + "op": "PUSH2", + "path": "3", + "statement": 17, + "value": "0x986" + }, + "2434": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7620, + 7630 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDD5" + }, + "2437": { + "fn": "ERC721.setApprovalForAll", + "jump": "i", + "offset": [ + 7620, + 7632 + ], + "op": "JUMP", + "path": "3" + }, + "2438": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7620, + 7632 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2439": { + "op": "PUSH1", + "value": "0x1" + }, + "2441": { + "op": "PUSH1", + "value": "0x1" + }, + "2443": { + "op": "PUSH1", + "value": "0xA0" + }, + "2445": { + "op": "SHL" + }, + "2446": { + "op": "SUB" + }, + "2447": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7608, + 7632 + ], + "op": "AND", + "path": "3" + }, + "2448": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7608, + 7616 + ], + "op": "DUP3", + "path": "3" + }, + "2449": { + "op": "PUSH1", + "value": "0x1" + }, + "2451": { + "op": "PUSH1", + "value": "0x1" + }, + "2453": { + "op": "PUSH1", + "value": "0xA0" + }, + "2455": { + "op": "SHL" + }, + "2456": { + "op": "SUB" + }, + "2457": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7608, + 7632 + ], + "op": "AND", + "path": "3" + }, + "2458": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7608, + 7632 + ], + "op": "EQ", + "path": "3" + }, + "2459": { + "branch": 112, + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7608, + 7632 + ], + "op": "ISZERO", + "path": "3" + }, + "2460": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH2", + "path": "3", + "value": "0x9EC" + }, + "2463": { + "branch": 112, + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "JUMPI", + "path": "3" + }, + "2464": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2466": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "DUP1", + "path": "3" + }, + "2467": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "MLOAD", + "path": "3" + }, + "2468": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2472": { + "op": "PUSH1", + "value": "0xE5" + }, + "2474": { + "op": "SHL" + }, + "2475": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "DUP2", + "path": "3" + }, + "2476": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "MSTORE", + "path": "3" + }, + "2477": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2479": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "2481": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "DUP3", + "path": "3" + }, + "2482": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "ADD", + "path": "3" + }, + "2483": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "MSTORE", + "path": "3" + }, + "2484": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH1", + "path": "3", + "value": "0x19" + }, + "2486": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH1", + "path": "3", + "value": "0x24" + }, + "2488": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "DUP3", + "path": "3" + }, + "2489": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "ADD", + "path": "3" + }, + "2490": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "MSTORE", + "path": "3" + }, + "2491": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH32", + "path": "3", + "value": "0x4552433732313A20617070726F766520746F2063616C6C657200000000000000" + }, + "2524": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH1", + "path": "3", + "value": "0x44" + }, + "2526": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "DUP3", + "path": "3" + }, + "2527": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "ADD", + "path": "3" + }, + "2528": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "MSTORE", + "path": "3" + }, + "2529": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "SWAP1", + "path": "3" + }, + "2530": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "MLOAD", + "path": "3" + }, + "2531": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "SWAP1", + "path": "3" + }, + "2532": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "DUP2", + "path": "3" + }, + "2533": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "SWAP1", + "path": "3" + }, + "2534": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "SUB", + "path": "3" + }, + "2535": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH1", + "path": "3", + "value": "0x64" + }, + "2537": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "ADD", + "path": "3" + }, + "2538": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "SWAP1", + "path": "3" + }, + "2539": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "REVERT", + "path": "3" + }, + "2540": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2541": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7718, + 7726 + ], + "op": "DUP1", + "path": "3", + "statement": 18 + }, + "2542": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7691 + ], + "op": "PUSH1", + "path": "3", + "value": "0x5" + }, + "2544": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "2546": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7692, + 7704 + ], + "op": "PUSH2", + "path": "3", + "value": "0x9F9" + }, + "2549": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7692, + 7702 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDD5" + }, + "2552": { + "fn": "ERC721.setApprovalForAll", + "jump": "i", + "offset": [ + 7692, + 7704 + ], + "op": "JUMP", + "path": "3" + }, + "2553": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7692, + 7704 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2554": { + "op": "PUSH1", + "value": "0x1" + }, + "2556": { + "op": "PUSH1", + "value": "0x1" + }, + "2558": { + "op": "PUSH1", + "value": "0xA0" + }, + "2560": { + "op": "SHL" + }, + "2561": { + "op": "SUB" + }, + "2562": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "SWAP1", + "path": "3" + }, + "2563": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "DUP2", + "path": "3" + }, + "2564": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "AND", + "path": "3" + }, + "2565": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "DUP3", + "path": "3" + }, + "2566": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "MSTORE", + "path": "3" + }, + "2567": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2569": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "DUP1", + "path": "3" + }, + "2570": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "DUP4", + "path": "3" + }, + "2571": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "ADD", + "path": "3" + }, + "2572": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "SWAP4", + "path": "3" + }, + "2573": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "SWAP1", + "path": "3" + }, + "2574": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "SWAP4", + "path": "3" + }, + "2575": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "MSTORE", + "path": "3" + }, + "2576": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2578": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "SWAP2", + "path": "3" + }, + "2579": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "DUP3", + "path": "3" + }, + "2580": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "ADD", + "path": "3" + }, + "2581": { + "op": "PUSH1", + "value": "0x0" + }, + "2583": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "SWAP1", + "path": "3" + }, + "2584": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "DUP2", + "path": "3" + }, + "2585": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "KECCAK256", + "path": "3" + }, + "2586": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "SWAP2", + "path": "3" + }, + "2587": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "DUP8", + "path": "3" + }, + "2588": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "AND", + "path": "3" + }, + "2589": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "DUP1", + "path": "3" + }, + "2590": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "DUP3", + "path": "3" + }, + "2591": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "MSTORE", + "path": "3" + }, + "2592": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "SWAP2", + "path": "3" + }, + "2593": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "SWAP1", + "path": "3" + }, + "2594": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "SWAP4", + "path": "3" + }, + "2595": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "MSTORE", + "path": "3" + }, + "2596": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "SWAP2", + "path": "3" + }, + "2597": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "KECCAK256", + "path": "3" + }, + "2598": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "DUP1", + "path": "3" + }, + "2599": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SLOAD", + "path": "3" + }, + "2600": { + "op": "PUSH1", + "value": "0xFF" + }, + "2602": { + "op": "NOT" + }, + "2603": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "AND", + "path": "3" + }, + "2604": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SWAP3", + "path": "3" + }, + "2605": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "ISZERO", + "path": "3" + }, + "2606": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "ISZERO", + "path": "3" + }, + "2607": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SWAP3", + "path": "3" + }, + "2608": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SWAP1", + "path": "3" + }, + "2609": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SWAP3", + "path": "3" + }, + "2610": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "OR", + "path": "3" + }, + "2611": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SWAP1", + "path": "3" + }, + "2612": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SWAP2", + "path": "3" + }, + "2613": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SSTORE", + "path": "3" + }, + "2614": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7756, + 7768 + ], + "op": "PUSH2", + "path": "3", + "statement": 19, + "value": "0xA3D" + }, + "2617": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7756, + 7766 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDD5" + }, + "2620": { + "fn": "ERC721.setApprovalForAll", + "jump": "i", + "offset": [ + 7756, + 7768 + ], + "op": "JUMP", + "path": "3" + }, + "2621": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7756, + 7768 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2622": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2624": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "DUP1", + "path": "3" + }, + "2625": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "MLOAD", + "path": "3" + }, + "2626": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "DUP5", + "path": "3" + }, + "2627": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "ISZERO", + "path": "3" + }, + "2628": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "ISZERO", + "path": "3" + }, + "2629": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "DUP2", + "path": "3" + }, + "2630": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "MSTORE", + "path": "3" + }, + "2631": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP1", + "path": "3" + }, + "2632": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "MLOAD", + "path": "3" + }, + "2633": { + "op": "PUSH1", + "value": "0x1" + }, + "2635": { + "op": "PUSH1", + "value": "0x1" + }, + "2637": { + "op": "PUSH1", + "value": "0xA0" + }, + "2639": { + "op": "SHL" + }, + "2640": { + "op": "SUB" + }, + "2641": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP3", + "path": "3" + }, + "2642": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP1", + "path": "3" + }, + "2643": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP3", + "path": "3" + }, + "2644": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "AND", + "path": "3" + }, + "2645": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP2", + "path": "3" + }, + "2646": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "PUSH32", + "path": "3", + "value": "0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31" + }, + "2679": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP2", + "path": "3" + }, + "2680": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "DUP2", + "path": "3" + }, + "2681": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP1", + "path": "3" + }, + "2682": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SUB", + "path": "3" + }, + "2683": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2685": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "ADD", + "path": "3" + }, + "2686": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP1", + "path": "3" + }, + "2687": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "LOG3", + "path": "3" + }, + "2688": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "POP", + "path": "3" + }, + "2689": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "POP", + "path": "3" + }, + "2690": { + "fn": "ERC721.setApprovalForAll", + "jump": "o", + "offset": [ + 7506, + 7796 + ], + "op": "JUMP", + "path": "3" + }, + "2691": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "JUMPDEST", + "path": "13" + }, + "2692": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 447, + 459 + ], + "op": "PUSH1", + "path": "13", + "value": "0xA" + }, + "2694": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 447, + 459 + ], + "op": "SLOAD", + "path": "13" + }, + "2695": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 407, + 414 + ], + "op": "PUSH1", + "path": "13", + "value": "0x0" + }, + "2697": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 407, + 414 + ], + "op": "SWAP1", + "path": "13" + }, + "2698": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 469, + 510 + ], + "op": "PUSH2", + "path": "13", + "statement": 20, + "value": "0xA93" + }, + "2701": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 487, + 496 + ], + "op": "DUP4", + "path": "13" + }, + "2702": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 447, + 459 + ], + "op": "DUP3", + "path": "13" + }, + "2703": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 469, + 478 + ], + "op": "PUSH2", + "path": "13", + "value": "0x1093" + }, + "2706": { + "fn": "SimpleCollectible.createCollectible", + "jump": "i", + "offset": [ + 469, + 510 + ], + "op": "JUMP", + "path": "13" + }, + "2707": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 469, + 510 + ], + "op": "JUMPDEST", + "path": "13" + }, + "2708": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 520, + 554 + ], + "op": "PUSH2", + "path": "13", + "statement": 21, + "value": "0xA9D" + }, + "2711": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 533, + 543 + ], + "op": "DUP2", + "path": "13" + }, + "2712": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 545, + 553 + ], + "op": "DUP6", + "path": "13" + }, + "2713": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 520, + 532 + ], + "op": "PUSH2", + "path": "13", + "value": "0x10B1" + }, + "2716": { + "fn": "SimpleCollectible.createCollectible", + "jump": "i", + "offset": [ + 520, + 554 + ], + "op": "JUMP", + "path": "13" + }, + "2717": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 520, + 554 + ], + "op": "JUMPDEST", + "path": "13" + }, + "2718": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 579, + 591 + ], + "op": "PUSH1", + "path": "13", + "statement": 22, + "value": "0xA" + }, + "2720": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 579, + 591 + ], + "op": "DUP1", + "path": "13" + }, + "2721": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 579, + 591 + ], + "op": "SLOAD", + "path": "13" + }, + "2722": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 594, + 595 + ], + "op": "PUSH1", + "path": "13", + "value": "0x1" + }, + "2724": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 579, + 595 + ], + "op": "ADD", + "path": "13" + }, + "2725": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 564, + 595 + ], + "op": "SWAP1", + "path": "13" + }, + "2726": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 564, + 595 + ], + "op": "SSTORE", + "path": "13" + }, + "2727": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 612, + 622 + ], + "op": "SWAP4", + "path": "13", + "statement": 23 + }, + "2728": { + "fn": "SimpleCollectible.createCollectible", + "offset": [ + 299, + 629 + ], + "op": "SWAP3", + "path": "13" + }, + "2729": { + "op": "POP" + }, + "2730": { + "op": "POP" + }, + "2731": { + "op": "POP" + }, + "2732": { + "fn": "SimpleCollectible.createCollectible", + "jump": "o", + "offset": [ + 299, + 629 + ], + "op": "JUMP", + "path": "13" + }, + "2733": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2734": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8798, + 8839 + ], + "op": "PUSH2", + "path": "3", + "statement": 24, + "value": "0xABE" + }, + "2737": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8817, + 8829 + ], + "op": "PUSH2", + "path": "3", + "value": "0xAB8" + }, + "2740": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8817, + 8827 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDD5" + }, + "2743": { + "fn": "ERC721.safeTransferFrom", + "jump": "i", + "offset": [ + 8817, + 8829 + ], + "op": "JUMP", + "path": "3" + }, + "2744": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8817, + 8829 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2745": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8831, + 8838 + ], + "op": "DUP4", + "path": "3" + }, + "2746": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8798, + 8816 + ], + "op": "PUSH2", + "path": "3", + "value": "0xE52" + }, + "2749": { + "fn": "ERC721.safeTransferFrom", + "jump": "i", + "offset": [ + 8798, + 8839 + ], + "op": "JUMP", + "path": "3" + }, + "2750": { + "branch": 113, + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8798, + 8839 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2751": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH2", + "path": "3", + "value": "0xAF9" + }, + "2754": { + "branch": 113, + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "JUMPI", + "path": "3" + }, + "2755": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2757": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "MLOAD", + "path": "3" + }, + "2758": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2762": { + "op": "PUSH1", + "value": "0xE5" + }, + "2764": { + "op": "SHL" + }, + "2765": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP2", + "path": "3" + }, + "2766": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "MSTORE", + "path": "3" + }, + "2767": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "2769": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "ADD", + "path": "3" + }, + "2770": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP1", + "path": "3" + }, + "2771": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP1", + "path": "3" + }, + "2772": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2774": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "ADD", + "path": "3" + }, + "2775": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP3", + "path": "3" + }, + "2776": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP2", + "path": "3" + }, + "2777": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "SUB", + "path": "3" + }, + "2778": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP3", + "path": "3" + }, + "2779": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "MSTORE", + "path": "3" + }, + "2780": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x31" + }, + "2782": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP2", + "path": "3" + }, + "2783": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "MSTORE", + "path": "3" + }, + "2784": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2786": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "ADD", + "path": "3" + }, + "2787": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP1", + "path": "3" + }, + "2788": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1D40" + }, + "2791": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x31" + }, + "2793": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "SWAP2", + "path": "3" + }, + "2794": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "CODECOPY", + "path": "3" + }, + "2795": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2797": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "ADD", + "path": "3" + }, + "2798": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "SWAP2", + "path": "3" + }, + "2799": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "POP", + "path": "3" + }, + "2800": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "POP", + "path": "3" + }, + "2801": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2803": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "MLOAD", + "path": "3" + }, + "2804": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP1", + "path": "3" + }, + "2805": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "SWAP2", + "path": "3" + }, + "2806": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "SUB", + "path": "3" + }, + "2807": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "SWAP1", + "path": "3" + }, + "2808": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "REVERT", + "path": "3" + }, + "2809": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2810": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8903, + 8942 + ], + "op": "PUSH2", + "path": "3", + "statement": 25, + "value": "0xB05" + }, + "2813": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8917, + 8921 + ], + "op": "DUP5", + "path": "3" + }, + "2814": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8923, + 8925 + ], + "op": "DUP5", + "path": "3" + }, + "2815": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8927, + 8934 + ], + "op": "DUP5", + "path": "3" + }, + "2816": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8936, + 8941 + ], + "op": "DUP5", + "path": "3" + }, + "2817": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8903, + 8916 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1114" + }, + "2820": { + "fn": "ERC721.safeTransferFrom", + "jump": "i", + "offset": [ + 8903, + 8942 + ], + "op": "JUMP", + "path": "3" + }, + "2821": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8903, + 8942 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2822": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "POP", + "path": "3" + }, + "2823": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "POP", + "path": "3" + }, + "2824": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "POP", + "path": "3" + }, + "2825": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "POP", + "path": "3" + }, + "2826": { + "fn": "ERC721.safeTransferFrom", + "jump": "o", + "offset": [ + 8667, + 8949 + ], + "op": "JUMP", + "path": "3" + }, + "2827": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2828": { + "fn": "ERC721.tokenURI", + "offset": [ + 4920, + 4933 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "2830": { + "fn": "ERC721.tokenURI", + "offset": [ + 4953, + 4969 + ], + "op": "PUSH2", + "path": "3", + "statement": 26, + "value": "0xB16" + }, + "2833": { + "fn": "ERC721.tokenURI", + "offset": [ + 4961, + 4968 + ], + "op": "DUP3", + "path": "3" + }, + "2834": { + "fn": "ERC721.tokenURI", + "offset": [ + 4953, + 4960 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDC2" + }, + "2837": { + "fn": "ERC721.tokenURI", + "jump": "i", + "offset": [ + 4953, + 4969 + ], + "op": "JUMP", + "path": "3" + }, + "2838": { + "branch": 114, + "fn": "ERC721.tokenURI", + "offset": [ + 4953, + 4969 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2839": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH2", + "path": "3", + "value": "0xB51" + }, + "2842": { + "branch": 114, + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "JUMPI", + "path": "3" + }, + "2843": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2845": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "MLOAD", + "path": "3" + }, + "2846": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2850": { + "op": "PUSH1", + "value": "0xE5" + }, + "2852": { + "op": "SHL" + }, + "2853": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP2", + "path": "3" + }, + "2854": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "MSTORE", + "path": "3" + }, + "2855": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "2857": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "ADD", + "path": "3" + }, + "2858": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP1", + "path": "3" + }, + "2859": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP1", + "path": "3" + }, + "2860": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2862": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "ADD", + "path": "3" + }, + "2863": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP3", + "path": "3" + }, + "2864": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP2", + "path": "3" + }, + "2865": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "SUB", + "path": "3" + }, + "2866": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP3", + "path": "3" + }, + "2867": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "MSTORE", + "path": "3" + }, + "2868": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2F" + }, + "2870": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP2", + "path": "3" + }, + "2871": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "MSTORE", + "path": "3" + }, + "2872": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2874": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "ADD", + "path": "3" + }, + "2875": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP1", + "path": "3" + }, + "2876": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1CF0" + }, + "2879": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2F" + }, + "2881": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "SWAP2", + "path": "3" + }, + "2882": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "CODECOPY", + "path": "3" + }, + "2883": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2885": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "ADD", + "path": "3" + }, + "2886": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "SWAP2", + "path": "3" + }, + "2887": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "POP", + "path": "3" + }, + "2888": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "POP", + "path": "3" + }, + "2889": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2891": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "MLOAD", + "path": "3" + }, + "2892": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP1", + "path": "3" + }, + "2893": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "SWAP2", + "path": "3" + }, + "2894": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "SUB", + "path": "3" + }, + "2895": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "SWAP1", + "path": "3" + }, + "2896": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "REVERT", + "path": "3" + }, + "2897": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2898": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "2900": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "2901": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "DUP2", + "path": "3" + }, + "2902": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "MSTORE", + "path": "3" + }, + "2903": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5068 + ], + "op": "PUSH1", + "path": "3", + "value": "0x8" + }, + "2905": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2907": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2908": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "DUP2", + "path": "3" + }, + "2909": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "MSTORE", + "path": "3" + }, + "2910": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2912": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "SWAP2", + "path": "3" + }, + "2913": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "2914": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2915": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "KECCAK256", + "path": "3" + }, + "2916": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP1", + "path": "3" + }, + "2917": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SLOAD", + "path": "3" + }, + "2918": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP4", + "path": "3" + }, + "2919": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MLOAD", + "path": "3" + }, + "2920": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "2922": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "2924": { + "op": "PUSH1", + "value": "0x0" + }, + "2926": { + "op": "NOT" + }, + "2927": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "2930": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "2932": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP7", + "path": "3" + }, + "2933": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "AND", + "path": "3" + }, + "2934": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ISZERO", + "path": "3" + }, + "2935": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MUL", + "path": "3" + }, + "2936": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2937": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2938": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP4", + "path": "3" + }, + "2939": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "AND", + "path": "3" + }, + "2940": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP3", + "path": "3" + }, + "2941": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2942": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP3", + "path": "3" + }, + "2943": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DIV", + "path": "3" + }, + "2944": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP2", + "path": "3" + }, + "2945": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "2946": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2947": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP5", + "path": "3" + }, + "2948": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2949": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DIV", + "path": "3" + }, + "2950": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP5", + "path": "3" + }, + "2951": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MUL", + "path": "3" + }, + "2952": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP2", + "path": "3" + }, + "2953": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2954": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP5", + "path": "3" + }, + "2955": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2956": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2957": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP5", + "path": "3" + }, + "2958": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MSTORE", + "path": "3" + }, + "2959": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP1", + "path": "3" + }, + "2960": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP5", + "path": "3" + }, + "2961": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MSTORE", + "path": "3" + }, + "2962": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5055 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "2964": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5055 + ], + "op": "SWAP4", + "path": "3" + }, + "2965": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP3", + "path": "3" + }, + "2966": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP4", + "path": "3" + }, + "2967": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2968": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "2969": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "2970": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP1", + "path": "3" + }, + "2971": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ISZERO", + "path": "3" + }, + "2972": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH2", + "path": "3", + "value": "0xBE6" + }, + "2975": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "JUMPI", + "path": "3" + }, + "2976": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP1", + "path": "3" + }, + "2977": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "2979": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "LT", + "path": "3" + }, + "2980": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH2", + "path": "3", + "value": "0xBBB" + }, + "2983": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "JUMPI", + "path": "3" + }, + "2984": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "2987": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP1", + "path": "3" + }, + "2988": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP4", + "path": "3" + }, + "2989": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SLOAD", + "path": "3" + }, + "2990": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DIV", + "path": "3" + }, + "2991": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MUL", + "path": "3" + }, + "2992": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP4", + "path": "3" + }, + "2993": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MSTORE", + "path": "3" + }, + "2994": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP2", + "path": "3" + }, + "2995": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2997": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2998": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP2", + "path": "3" + }, + "2999": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH2", + "path": "3", + "value": "0xBE6" + }, + "3002": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "JUMP", + "path": "3" + }, + "3003": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3004": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "3005": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "3006": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP2", + "path": "3" + }, + "3007": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "3008": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "3010": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MSTORE", + "path": "3" + }, + "3011": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3013": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "3015": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "KECCAK256", + "path": "3" + }, + "3016": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "3017": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3018": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP2", + "path": "3" + }, + "3019": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SLOAD", + "path": "3" + }, + "3020": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP2", + "path": "3" + }, + "3021": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MSTORE", + "path": "3" + }, + "3022": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "3023": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "3025": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "3026": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "3027": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3029": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "3030": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP1", + "path": "3" + }, + "3031": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP4", + "path": "3" + }, + "3032": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "GT", + "path": "3" + }, + "3033": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH2", + "path": "3", + "value": "0xBC9" + }, + "3036": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "JUMPI", + "path": "3" + }, + "3037": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "3038": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "3039": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SUB", + "path": "3" + }, + "3040": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "3042": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "AND", + "path": "3" + }, + "3043": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "3044": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "3045": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP2", + "path": "3" + }, + "3046": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3047": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "POP", + "path": "3" + }, + "3048": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "POP", + "path": "3" + }, + "3049": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "POP", + "path": "3" + }, + "3050": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "POP", + "path": "3" + }, + "3051": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "POP", + "path": "3" + }, + "3052": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "3053": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "POP", + "path": "3" + }, + "3054": { + "fn": "ERC721.tokenURI", + "offset": [ + 5087, + 5105 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "3056": { + "fn": "ERC721.tokenURI", + "offset": [ + 5108, + 5117 + ], + "op": "PUSH2", + "path": "3", + "value": "0xBF7" + }, + "3059": { + "fn": "ERC721.tokenURI", + "offset": [ + 5108, + 5115 + ], + "op": "PUSH2", + "path": "3", + "value": "0x854" + }, + "3062": { + "fn": "ERC721.tokenURI", + "jump": "i", + "offset": [ + 5108, + 5117 + ], + "op": "JUMP", + "path": "3" + }, + "3063": { + "fn": "ERC721.tokenURI", + "offset": [ + 5108, + 5117 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3064": { + "fn": "ERC721.tokenURI", + "offset": [ + 5087, + 5117 + ], + "op": "SWAP1", + "path": "3" + }, + "3065": { + "fn": "ERC721.tokenURI", + "offset": [ + 5087, + 5117 + ], + "op": "POP", + "path": "3" + }, + "3066": { + "fn": "ERC721.tokenURI", + "offset": [ + 5196, + 5200 + ], + "op": "DUP1", + "path": "3" + }, + "3067": { + "fn": "ERC721.tokenURI", + "offset": [ + 5190, + 5208 + ], + "op": "MLOAD", + "path": "3" + }, + "3068": { + "fn": "ERC721.tokenURI", + "offset": [ + 5212, + 5213 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "3070": { + "branch": 115, + "fn": "ERC721.tokenURI", + "offset": [ + 5190, + 5213 + ], + "op": "EQ", + "path": "3" + }, + "3071": { + "fn": "ERC721.tokenURI", + "offset": [ + 5186, + 5256 + ], + "op": "ISZERO", + "path": "3" + }, + "3072": { + "fn": "ERC721.tokenURI", + "offset": [ + 5186, + 5256 + ], + "op": "PUSH2", + "path": "3", + "value": "0xC0B" + }, + "3075": { + "branch": 115, + "fn": "ERC721.tokenURI", + "offset": [ + 5186, + 5256 + ], + "op": "JUMPI", + "path": "3" + }, + "3076": { + "op": "POP" + }, + "3077": { + "fn": "ERC721.tokenURI", + "offset": [ + 5236, + 5245 + ], + "op": "SWAP1", + "path": "3", + "statement": 27 + }, + "3078": { + "op": "POP" + }, + "3079": { + "fn": "ERC721.tokenURI", + "offset": [ + 5229, + 5245 + ], + "op": "PUSH2", + "path": "3", + "value": "0x57D" + }, + "3082": { + "fn": "ERC721.tokenURI", + "offset": [ + 5229, + 5245 + ], + "op": "JUMP", + "path": "3" + }, + "3083": { + "fn": "ERC721.tokenURI", + "offset": [ + 5186, + 5256 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3084": { + "fn": "ERC721.tokenURI", + "offset": [ + 5358, + 5381 + ], + "op": "DUP2", + "path": "3" + }, + "3085": { + "fn": "ERC721.tokenURI", + "offset": [ + 5358, + 5381 + ], + "op": "MLOAD", + "path": "3" + }, + "3086": { + "branch": 116, + "fn": "ERC721.tokenURI", + "offset": [ + 5358, + 5385 + ], + "op": "ISZERO", + "path": "3" + }, + "3087": { + "fn": "ERC721.tokenURI", + "offset": [ + 5354, + 5460 + ], + "op": "PUSH2", + "path": "3", + "value": "0xCCC" + }, + "3090": { + "branch": 116, + "fn": "ERC721.tokenURI", + "offset": [ + 5354, + 5460 + ], + "op": "JUMPI", + "path": "3" + }, + "3091": { + "fn": "ERC721.tokenURI", + "offset": [ + 5432, + 5436 + ], + "op": "DUP1", + "path": "3", + "statement": 28 + }, + "3092": { + "fn": "ERC721.tokenURI", + "offset": [ + 5438, + 5447 + ], + "op": "DUP3", + "path": "3" + }, + "3093": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3095": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "MLOAD", + "path": "3" + }, + "3096": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3098": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "ADD", + "path": "3" + }, + "3099": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP1", + "path": "3" + }, + "3100": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP4", + "path": "3" + }, + "3101": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP1", + "path": "3" + }, + "3102": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "MLOAD", + "path": "3" + }, + "3103": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP1", + "path": "3" + }, + "3104": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3106": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "ADD", + "path": "3" + }, + "3107": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP1", + "path": "3" + }, + "3108": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP1", + "path": "3" + }, + "3109": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP4", + "path": "3" + }, + "3110": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP4", + "path": "3" + }, + "3111": { + "op": "JUMPDEST" + }, + "3112": { + "op": "PUSH1", + "value": "0x20" + }, + "3114": { + "op": "DUP4" + }, + "3115": { + "op": "LT" + }, + "3116": { + "op": "PUSH2", + "value": "0xC46" + }, + "3119": { + "op": "JUMPI" + }, + "3120": { + "op": "DUP1" + }, + "3121": { + "op": "MLOAD" + }, + "3122": { + "op": "DUP3" + }, + "3123": { + "op": "MSTORE" + }, + "3124": { + "op": "PUSH1", + "value": "0x1F" + }, + "3126": { + "op": "NOT" + }, + "3127": { + "op": "SWAP1" + }, + "3128": { + "op": "SWAP3" + }, + "3129": { + "op": "ADD" + }, + "3130": { + "op": "SWAP2" + }, + "3131": { + "op": "PUSH1", + "value": "0x20" + }, + "3133": { + "op": "SWAP2" + }, + "3134": { + "op": "DUP3" + }, + "3135": { + "op": "ADD" + }, + "3136": { + "op": "SWAP2" + }, + "3137": { + "op": "ADD" + }, + "3138": { + "op": "PUSH2", + "value": "0xC27" + }, + "3141": { + "op": "JUMP" + }, + "3142": { + "op": "JUMPDEST" + }, + "3143": { + "op": "MLOAD" + }, + "3144": { + "op": "DUP2" + }, + "3145": { + "op": "MLOAD" + }, + "3146": { + "op": "PUSH1", + "value": "0x20" + }, + "3148": { + "op": "SWAP4" + }, + "3149": { + "op": "DUP5" + }, + "3150": { + "op": "SUB" + }, + "3151": { + "op": "PUSH2", + "value": "0x100" + }, + "3154": { + "op": "EXP" + }, + "3155": { + "op": "PUSH1", + "value": "0x0" + }, + "3157": { + "op": "NOT" + }, + "3158": { + "op": "ADD" + }, + "3159": { + "op": "DUP1" + }, + "3160": { + "op": "NOT" + }, + "3161": { + "op": "SWAP1" + }, + "3162": { + "op": "SWAP3" + }, + "3163": { + "op": "AND" + }, + "3164": { + "op": "SWAP2" + }, + "3165": { + "op": "AND" + }, + "3166": { + "op": "OR" + }, + "3167": { + "op": "SWAP1" + }, + "3168": { + "op": "MSTORE" + }, + "3169": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP6", + "path": "3" + }, + "3170": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "MLOAD", + "path": "3" + }, + "3171": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP2", + "path": "3" + }, + "3172": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP1", + "path": "3" + }, + "3173": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP4", + "path": "3" + }, + "3174": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "ADD", + "path": "3" + }, + "3175": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP3", + "path": "3" + }, + "3176": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP6", + "path": "3" + }, + "3177": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "ADD", + "path": "3" + }, + "3178": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP2", + "path": "3" + }, + "3179": { + "op": "POP" + }, + "3180": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP1", + "path": "3" + }, + "3181": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP4", + "path": "3" + }, + "3182": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP4", + "path": "3" + }, + "3183": { + "op": "JUMPDEST" + }, + "3184": { + "op": "PUSH1", + "value": "0x20" + }, + "3186": { + "op": "DUP4" + }, + "3187": { + "op": "LT" + }, + "3188": { + "op": "PUSH2", + "value": "0xC8E" + }, + "3191": { + "op": "JUMPI" + }, + "3192": { + "op": "DUP1" + }, + "3193": { + "op": "MLOAD" + }, + "3194": { + "op": "DUP3" + }, + "3195": { + "op": "MSTORE" + }, + "3196": { + "op": "PUSH1", + "value": "0x1F" + }, + "3198": { + "op": "NOT" + }, + "3199": { + "op": "SWAP1" + }, + "3200": { + "op": "SWAP3" + }, + "3201": { + "op": "ADD" + }, + "3202": { + "op": "SWAP2" + }, + "3203": { + "op": "PUSH1", + "value": "0x20" + }, + "3205": { + "op": "SWAP2" + }, + "3206": { + "op": "DUP3" + }, + "3207": { + "op": "ADD" + }, + "3208": { + "op": "SWAP2" + }, + "3209": { + "op": "ADD" + }, + "3210": { + "op": "PUSH2", + "value": "0xC6F" + }, + "3213": { + "op": "JUMP" + }, + "3214": { + "op": "JUMPDEST" + }, + "3215": { + "op": "PUSH1", + "value": "0x1" + }, + "3217": { + "op": "DUP4" + }, + "3218": { + "op": "PUSH1", + "value": "0x20" + }, + "3220": { + "op": "SUB" + }, + "3221": { + "op": "PUSH2", + "value": "0x100" + }, + "3224": { + "op": "EXP" + }, + "3225": { + "op": "SUB" + }, + "3226": { + "op": "DUP1" + }, + "3227": { + "op": "NOT" + }, + "3228": { + "op": "DUP3" + }, + "3229": { + "op": "MLOAD" + }, + "3230": { + "op": "AND" + }, + "3231": { + "op": "DUP2" + }, + "3232": { + "op": "DUP5" + }, + "3233": { + "op": "MLOAD" + }, + "3234": { + "op": "AND" + }, + "3235": { + "op": "DUP1" + }, + "3236": { + "op": "DUP3" + }, + "3237": { + "op": "OR" + }, + "3238": { + "op": "DUP6" + }, + "3239": { + "op": "MSTORE" + }, + "3240": { + "op": "POP" + }, + "3241": { + "op": "POP" + }, + "3242": { + "op": "POP" + }, + "3243": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "POP", + "path": "3" + }, + "3244": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "POP", + "path": "3" + }, + "3245": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "POP", + "path": "3" + }, + "3246": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP1", + "path": "3" + }, + "3247": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "POP", + "path": "3" + }, + "3248": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "ADD", + "path": "3" + }, + "3249": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP3", + "path": "3" + }, + "3250": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "POP", + "path": "3" + }, + "3251": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "POP", + "path": "3" + }, + "3252": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "POP", + "path": "3" + }, + "3253": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3255": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "MLOAD", + "path": "3" + }, + "3256": { + "op": "PUSH1", + "value": "0x20" + }, + "3258": { + "op": "DUP2" + }, + "3259": { + "op": "DUP4" + }, + "3260": { + "op": "SUB" + }, + "3261": { + "op": "SUB" + }, + "3262": { + "op": "DUP2" + }, + "3263": { + "op": "MSTORE" + }, + "3264": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP1", + "path": "3" + }, + "3265": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3267": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "MSTORE", + "path": "3" + }, + "3268": { + "fn": "ERC721.tokenURI", + "offset": [ + 5401, + 5449 + ], + "op": "SWAP3", + "path": "3" + }, + "3269": { + "fn": "ERC721.tokenURI", + "offset": [ + 5401, + 5449 + ], + "op": "POP", + "path": "3" + }, + "3270": { + "fn": "ERC721.tokenURI", + "offset": [ + 5401, + 5449 + ], + "op": "POP", + "path": "3" + }, + "3271": { + "fn": "ERC721.tokenURI", + "offset": [ + 5401, + 5449 + ], + "op": "POP", + "path": "3" + }, + "3272": { + "fn": "ERC721.tokenURI", + "offset": [ + 5401, + 5449 + ], + "op": "PUSH2", + "path": "3", + "value": "0x57D" + }, + "3275": { + "fn": "ERC721.tokenURI", + "offset": [ + 5401, + 5449 + ], + "op": "JUMP", + "path": "3" + }, + "3276": { + "fn": "ERC721.tokenURI", + "offset": [ + 5354, + 5460 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3277": { + "fn": "ERC721.tokenURI", + "offset": [ + 5590, + 5594 + ], + "op": "DUP1", + "path": "3", + "statement": 29 + }, + "3278": { + "fn": "ERC721.tokenURI", + "offset": [ + 5596, + 5614 + ], + "op": "PUSH2", + "path": "3", + "value": "0xCD6" + }, + "3281": { + "fn": "ERC721.tokenURI", + "offset": [ + 5596, + 5603 + ], + "op": "DUP6", + "path": "3" + }, + "3282": { + "fn": "ERC721.tokenURI", + "offset": [ + 5596, + 5612 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1166" + }, + "3285": { + "fn": "ERC721.tokenURI", + "jump": "i", + "offset": [ + 5596, + 5614 + ], + "op": "JUMP", + "path": "3" + }, + "3286": { + "fn": "ERC721.tokenURI", + "offset": [ + 5596, + 5614 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3287": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3289": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "MLOAD", + "path": "3" + }, + "3290": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3292": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "ADD", + "path": "3" + }, + "3293": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP1", + "path": "3" + }, + "3294": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP4", + "path": "3" + }, + "3295": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP1", + "path": "3" + }, + "3296": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "MLOAD", + "path": "3" + }, + "3297": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP1", + "path": "3" + }, + "3298": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3300": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "ADD", + "path": "3" + }, + "3301": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP1", + "path": "3" + }, + "3302": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP1", + "path": "3" + }, + "3303": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP4", + "path": "3" + }, + "3304": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP4", + "path": "3" + }, + "3305": { + "op": "JUMPDEST" + }, + "3306": { + "op": "PUSH1", + "value": "0x20" + }, + "3308": { + "op": "DUP4" + }, + "3309": { + "op": "LT" + }, + "3310": { + "op": "PUSH2", + "value": "0xD08" + }, + "3313": { + "op": "JUMPI" + }, + "3314": { + "op": "DUP1" + }, + "3315": { + "op": "MLOAD" + }, + "3316": { + "op": "DUP3" + }, + "3317": { + "op": "MSTORE" + }, + "3318": { + "op": "PUSH1", + "value": "0x1F" + }, + "3320": { + "op": "NOT" + }, + "3321": { + "op": "SWAP1" + }, + "3322": { + "op": "SWAP3" + }, + "3323": { + "op": "ADD" + }, + "3324": { + "op": "SWAP2" + }, + "3325": { + "op": "PUSH1", + "value": "0x20" + }, + "3327": { + "op": "SWAP2" + }, + "3328": { + "op": "DUP3" + }, + "3329": { + "op": "ADD" + }, + "3330": { + "op": "SWAP2" + }, + "3331": { + "op": "ADD" + }, + "3332": { + "op": "PUSH2", + "value": "0xCE9" + }, + "3335": { + "op": "JUMP" + }, + "3336": { + "op": "JUMPDEST" + }, + "3337": { + "op": "MLOAD" + }, + "3338": { + "op": "DUP2" + }, + "3339": { + "op": "MLOAD" + }, + "3340": { + "op": "PUSH1", + "value": "0x20" + }, + "3342": { + "op": "SWAP4" + }, + "3343": { + "op": "DUP5" + }, + "3344": { + "op": "SUB" + }, + "3345": { + "op": "PUSH2", + "value": "0x100" + }, + "3348": { + "op": "EXP" + }, + "3349": { + "op": "PUSH1", + "value": "0x0" + }, + "3351": { + "op": "NOT" + }, + "3352": { + "op": "ADD" + }, + "3353": { + "op": "DUP1" + }, + "3354": { + "op": "NOT" + }, + "3355": { + "op": "SWAP1" + }, + "3356": { + "op": "SWAP3" + }, + "3357": { + "op": "AND" + }, + "3358": { + "op": "SWAP2" + }, + "3359": { + "op": "AND" + }, + "3360": { + "op": "OR" + }, + "3361": { + "op": "SWAP1" + }, + "3362": { + "op": "MSTORE" + }, + "3363": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP6", + "path": "3" + }, + "3364": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "MLOAD", + "path": "3" + }, + "3365": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP2", + "path": "3" + }, + "3366": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP1", + "path": "3" + }, + "3367": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP4", + "path": "3" + }, + "3368": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "ADD", + "path": "3" + }, + "3369": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP3", + "path": "3" + }, + "3370": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP6", + "path": "3" + }, + "3371": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "ADD", + "path": "3" + }, + "3372": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP2", + "path": "3" + }, + "3373": { + "op": "POP" + }, + "3374": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP1", + "path": "3" + }, + "3375": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP4", + "path": "3" + }, + "3376": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP4", + "path": "3" + }, + "3377": { + "op": "JUMPDEST" + }, + "3378": { + "op": "PUSH1", + "value": "0x20" + }, + "3380": { + "op": "DUP4" + }, + "3381": { + "op": "LT" + }, + "3382": { + "op": "PUSH2", + "value": "0xD50" + }, + "3385": { + "op": "JUMPI" + }, + "3386": { + "op": "DUP1" + }, + "3387": { + "op": "MLOAD" + }, + "3388": { + "op": "DUP3" + }, + "3389": { + "op": "MSTORE" + }, + "3390": { + "op": "PUSH1", + "value": "0x1F" + }, + "3392": { + "op": "NOT" + }, + "3393": { + "op": "SWAP1" + }, + "3394": { + "op": "SWAP3" + }, + "3395": { + "op": "ADD" + }, + "3396": { + "op": "SWAP2" + }, + "3397": { + "op": "PUSH1", + "value": "0x20" + }, + "3399": { + "op": "SWAP2" + }, + "3400": { + "op": "DUP3" + }, + "3401": { + "op": "ADD" + }, + "3402": { + "op": "SWAP2" + }, + "3403": { + "op": "ADD" + }, + "3404": { + "op": "PUSH2", + "value": "0xD31" + }, + "3407": { + "op": "JUMP" + }, + "3408": { + "op": "JUMPDEST" + }, + "3409": { + "op": "PUSH1", + "value": "0x1" + }, + "3411": { + "op": "DUP4" + }, + "3412": { + "op": "PUSH1", + "value": "0x20" + }, + "3414": { + "op": "SUB" + }, + "3415": { + "op": "PUSH2", + "value": "0x100" + }, + "3418": { + "op": "EXP" + }, + "3419": { + "op": "SUB" + }, + "3420": { + "op": "DUP1" + }, + "3421": { + "op": "NOT" + }, + "3422": { + "op": "DUP3" + }, + "3423": { + "op": "MLOAD" + }, + "3424": { + "op": "AND" + }, + "3425": { + "op": "DUP2" + }, + "3426": { + "op": "DUP5" + }, + "3427": { + "op": "MLOAD" + }, + "3428": { + "op": "AND" + }, + "3429": { + "op": "DUP1" + }, + "3430": { + "op": "DUP3" + }, + "3431": { + "op": "OR" + }, + "3432": { + "op": "DUP6" + }, + "3433": { + "op": "MSTORE" + }, + "3434": { + "op": "POP" + }, + "3435": { + "op": "POP" + }, + "3436": { + "op": "POP" + }, + "3437": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "POP", + "path": "3" + }, + "3438": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "POP", + "path": "3" + }, + "3439": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "POP", + "path": "3" + }, + "3440": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP1", + "path": "3" + }, + "3441": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "POP", + "path": "3" + }, + "3442": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "ADD", + "path": "3" + }, + "3443": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP3", + "path": "3" + }, + "3444": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "POP", + "path": "3" + }, + "3445": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "POP", + "path": "3" + }, + "3446": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "POP", + "path": "3" + }, + "3447": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3449": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "MLOAD", + "path": "3" + }, + "3450": { + "op": "PUSH1", + "value": "0x20" + }, + "3452": { + "op": "DUP2" + }, + "3453": { + "op": "DUP4" + }, + "3454": { + "op": "SUB" + }, + "3455": { + "op": "SUB" + }, + "3456": { + "op": "DUP2" + }, + "3457": { + "op": "MSTORE" + }, + "3458": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP1", + "path": "3" + }, + "3459": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3461": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "MSTORE", + "path": "3" + }, + "3462": { + "fn": "ERC721.tokenURI", + "offset": [ + 5559, + 5616 + ], + "op": "SWAP3", + "path": "3" + }, + "3463": { + "fn": "ERC721.tokenURI", + "offset": [ + 5559, + 5616 + ], + "op": "POP", + "path": "3" + }, + "3464": { + "fn": "ERC721.tokenURI", + "offset": [ + 5559, + 5616 + ], + "op": "POP", + "path": "3" + }, + "3465": { + "fn": "ERC721.tokenURI", + "offset": [ + 5559, + 5616 + ], + "op": "POP", + "path": "3" + }, + "3466": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "SWAP2", + "path": "3" + }, + "3467": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "SWAP1", + "path": "3" + }, + "3468": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "POP", + "path": "3" + }, + "3469": { + "fn": "ERC721.tokenURI", + "jump": "o", + "offset": [ + 4847, + 5623 + ], + "op": "JUMP", + "path": "3" + }, + "3470": { + "offset": [ + 158, + 185 + ], + "op": "JUMPDEST", + "path": "13" + }, + "3471": { + "fn": "ERC721.tokenURI", + "offset": [ + 158, + 185 + ], + "op": "PUSH1", + "path": "13", + "value": "0xA" + }, + "3473": { + "fn": "ERC721.tokenURI", + "offset": [ + 158, + 185 + ], + "op": "SLOAD", + "path": "13" + }, + "3474": { + "fn": "ERC721.tokenURI", + "offset": [ + 158, + 185 + ], + "op": "DUP2", + "path": "13" + }, + "3475": { + "fn": "ERC721.tokenURI", + "jump": "o", + "offset": [ + 158, + 185 + ], + "op": "JUMP", + "path": "13" + }, + "3476": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3477": { + "op": "PUSH1", + "value": "0x1" + }, + "3479": { + "op": "PUSH1", + "value": "0x1" + }, + "3481": { + "op": "PUSH1", + "value": "0xA0" + }, + "3483": { + "op": "SHL" + }, + "3484": { + "op": "SUB" + }, + "3485": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "SWAP2", + "path": "3", + "statement": 30 + }, + "3486": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "DUP3", + "path": "3" + }, + "3487": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "AND", + "path": "3" + }, + "3488": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7959, + 7963 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "3490": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "SWAP1", + "path": "3" + }, + "3491": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "DUP2", + "path": "3" + }, + "3492": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "MSTORE", + "path": "3" + }, + "3493": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8000 + ], + "op": "PUSH1", + "path": "3", + "value": "0x5" + }, + "3495": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3497": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "SWAP1", + "path": "3" + }, + "3498": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "DUP2", + "path": "3" + }, + "3499": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "MSTORE", + "path": "3" + }, + "3500": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3502": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "DUP1", + "path": "3" + }, + "3503": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "DUP4", + "path": "3" + }, + "3504": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "KECCAK256", + "path": "3" + }, + "3505": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SWAP4", + "path": "3" + }, + "3506": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SWAP1", + "path": "3" + }, + "3507": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SWAP5", + "path": "3" + }, + "3508": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "AND", + "path": "3" + }, + "3509": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "DUP3", + "path": "3" + }, + "3510": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "MSTORE", + "path": "3" + }, + "3511": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SWAP2", + "path": "3" + }, + "3512": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SWAP1", + "path": "3" + }, + "3513": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SWAP2", + "path": "3" + }, + "3514": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "MSTORE", + "path": "3" + }, + "3515": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "KECCAK256", + "path": "3" + }, + "3516": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SLOAD", + "path": "3" + }, + "3517": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "PUSH1", + "path": "3", + "value": "0xFF" + }, + "3519": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "AND", + "path": "3" + }, + "3520": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SWAP1", + "path": "3" + }, + "3521": { + "fn": "ERC721.isApprovedForAll", + "jump": "o", + "offset": [ + 7862, + 8024 + ], + "op": "JUMP", + "path": "3" + }, + "3522": { + "fn": "ERC721._exists", + "offset": [ + 10383, + 10508 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3523": { + "fn": "ERC721._exists", + "offset": [ + 10448, + 10452 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "3525": { + "fn": "ERC721._exists", + "offset": [ + 10471, + 10501 + ], + "op": "PUSH2", + "path": "3", + "statement": 31, + "value": "0x7E9" + }, + "3528": { + "fn": "ERC721._exists", + "offset": [ + 10471, + 10483 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "3530": { + "fn": "ERC721._exists", + "offset": [ + 10493, + 10500 + ], + "op": "DUP4", + "path": "3" + }, + "3531": { + "fn": "ERC721._exists", + "offset": [ + 10471, + 10501 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "3536": { + "fn": "ERC721._exists", + "offset": [ + 10471, + 10492 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1241" + }, + "3539": { + "fn": "ERC721._exists", + "offset": [ + 10471, + 10501 + ], + "op": "AND", + "path": "3" + }, + "3540": { + "fn": "ERC721._exists", + "jump": "i", + "offset": [ + 10471, + 10501 + ], + "op": "JUMP", + "path": "3" + }, + "3541": { + "fn": "Context._msgSender", + "offset": [ + 598, + 702 + ], + "op": "JUMPDEST", + "path": "9" + }, + "3542": { + "fn": "Context._msgSender", + "offset": [ + 685, + 695 + ], + "op": "CALLER", + "path": "9", + "statement": 32 + }, + "3543": { + "fn": "Context._msgSender", + "offset": [ + 598, + 702 + ], + "op": "SWAP1", + "path": "9" + }, + "3544": { + "fn": "Context._msgSender", + "jump": "o", + "offset": [ + 598, + 702 + ], + "op": "JUMP", + "path": "9" + }, + "3545": { + "fn": "ERC721._approve", + "offset": [ + 16119, + 16299 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3546": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "PUSH1", + "path": "3", + "statement": 33, + "value": "0x0" + }, + "3548": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "DUP2", + "path": "3" + }, + "3549": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "DUP2", + "path": "3" + }, + "3550": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "MSTORE", + "path": "3" + }, + "3551": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16199 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "3553": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3555": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "MSTORE", + "path": "3" + }, + "3556": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3558": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "SWAP1", + "path": "3" + }, + "3559": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "KECCAK256", + "path": "3" + }, + "3560": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "DUP1", + "path": "3" + }, + "3561": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "SLOAD", + "path": "3" + }, + "3562": { + "op": "PUSH1", + "value": "0x1" + }, + "3564": { + "op": "PUSH1", + "value": "0x1" + }, + "3566": { + "op": "PUSH1", + "value": "0xA0" + }, + "3568": { + "op": "SHL" + }, + "3569": { + "op": "SUB" + }, + "3570": { + "op": "NOT" + }, + "3571": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "AND", + "path": "3" + }, + "3572": { + "op": "PUSH1", + "value": "0x1" + }, + "3574": { + "op": "PUSH1", + "value": "0x1" + }, + "3576": { + "op": "PUSH1", + "value": "0xA0" + }, + "3578": { + "op": "SHL" + }, + "3579": { + "op": "SUB" + }, + "3580": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "DUP5", + "path": "3" + }, + "3581": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "AND", + "path": "3" + }, + "3582": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "SWAP1", + "path": "3" + }, + "3583": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "DUP2", + "path": "3" + }, + "3584": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "OR", + "path": "3" + }, + "3585": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "SWAP1", + "path": "3" + }, + "3586": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "SWAP2", + "path": "3" + }, + "3587": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "SSTORE", + "path": "3" + }, + "3588": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "DUP2", + "path": "3" + }, + "3589": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "SWAP1", + "path": "3" + }, + "3590": { + "fn": "ERC721._approve", + "offset": [ + 16237, + 16260 + ], + "op": "PUSH2", + "path": "3", + "statement": 34, + "value": "0xE0E" + }, + "3593": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "DUP3", + "path": "3" + }, + "3594": { + "fn": "ERC721._approve", + "offset": [ + 16237, + 16251 + ], + "op": "PUSH2", + "path": "3", + "value": "0x826" + }, + "3597": { + "fn": "ERC721._approve", + "jump": "i", + "offset": [ + 16237, + 16260 + ], + "op": "JUMP", + "path": "3" + }, + "3598": { + "fn": "ERC721._approve", + "offset": [ + 16237, + 16260 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3599": { + "op": "PUSH1", + "value": "0x1" + }, + "3601": { + "op": "PUSH1", + "value": "0x1" + }, + "3603": { + "op": "PUSH1", + "value": "0xA0" + }, + "3605": { + "op": "SHL" + }, + "3606": { + "op": "SUB" + }, + "3607": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "AND", + "path": "3" + }, + "3608": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "PUSH32", + "path": "3", + "value": "0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + "3641": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3643": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "MLOAD", + "path": "3" + }, + "3644": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3646": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "MLOAD", + "path": "3" + }, + "3647": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "DUP1", + "path": "3" + }, + "3648": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "SWAP2", + "path": "3" + }, + "3649": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "SUB", + "path": "3" + }, + "3650": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "SWAP1", + "path": "3" + }, + "3651": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "LOG4", + "path": "3" + }, + "3652": { + "fn": "ERC721._approve", + "offset": [ + 16119, + 16299 + ], + "op": "POP", + "path": "3" + }, + "3653": { + "fn": "ERC721._approve", + "offset": [ + 16119, + 16299 + ], + "op": "POP", + "path": "3" + }, + "3654": { + "fn": "ERC721._approve", + "jump": "o", + "offset": [ + 16119, + 16299 + ], + "op": "JUMP", + "path": "3" + }, + "3655": { + "fn": "EnumerableMap.length", + "offset": [ + 7820, + 7941 + ], + "op": "JUMPDEST", + "path": "10" + }, + "3656": { + "fn": "EnumerableMap.length", + "offset": [ + 7889, + 7896 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "3658": { + "fn": "EnumerableMap.length", + "offset": [ + 7915, + 7934 + ], + "op": "PUSH2", + "path": "10", + "statement": 35, + "value": "0x7E9" + }, + "3661": { + "fn": "EnumerableMap.length", + "offset": [ + 7923, + 7926 + ], + "op": "DUP3", + "path": "10" + }, + "3662": { + "fn": "EnumerableMap.length", + "offset": [ + 7915, + 7922 + ], + "op": "PUSH2", + "path": "10", + "value": "0x124D" + }, + "3665": { + "fn": "EnumerableMap.length", + "jump": "i", + "offset": [ + 7915, + 7934 + ], + "op": "JUMP", + "path": "10" + }, + "3666": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10666, + 11017 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3667": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10759, + 10763 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "3669": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10783, + 10799 + ], + "op": "PUSH2", + "path": "3", + "statement": 36, + "value": "0xE5D" + }, + "3672": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10791, + 10798 + ], + "op": "DUP3", + "path": "3" + }, + "3673": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10783, + 10790 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDC2" + }, + "3676": { + "fn": "ERC721._isApprovedOrOwner", + "jump": "i", + "offset": [ + 10783, + 10799 + ], + "op": "JUMP", + "path": "3" + }, + "3677": { + "branch": 117, + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10783, + 10799 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3678": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH2", + "path": "3", + "value": "0xE98" + }, + "3681": { + "branch": 117, + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "JUMPI", + "path": "3" + }, + "3682": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3684": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "MLOAD", + "path": "3" + }, + "3685": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3689": { + "op": "PUSH1", + "value": "0xE5" + }, + "3691": { + "op": "SHL" + }, + "3692": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP2", + "path": "3" + }, + "3693": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "MSTORE", + "path": "3" + }, + "3694": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "3696": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "ADD", + "path": "3" + }, + "3697": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP1", + "path": "3" + }, + "3698": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP1", + "path": "3" + }, + "3699": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3701": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "ADD", + "path": "3" + }, + "3702": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP3", + "path": "3" + }, + "3703": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP2", + "path": "3" + }, + "3704": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "SUB", + "path": "3" + }, + "3705": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP3", + "path": "3" + }, + "3706": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "MSTORE", + "path": "3" + }, + "3707": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2C" + }, + "3709": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP2", + "path": "3" + }, + "3710": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "MSTORE", + "path": "3" + }, + "3711": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3713": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "ADD", + "path": "3" + }, + "3714": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP1", + "path": "3" + }, + "3715": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1B96" + }, + "3718": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2C" + }, + "3720": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "SWAP2", + "path": "3" + }, + "3721": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "CODECOPY", + "path": "3" + }, + "3722": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3724": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "ADD", + "path": "3" + }, + "3725": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "SWAP2", + "path": "3" + }, + "3726": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "POP", + "path": "3" + }, + "3727": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "POP", + "path": "3" + }, + "3728": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3730": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "MLOAD", + "path": "3" + }, + "3731": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP1", + "path": "3" + }, + "3732": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "SWAP2", + "path": "3" + }, + "3733": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "SUB", + "path": "3" + }, + "3734": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "SWAP1", + "path": "3" + }, + "3735": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "REVERT", + "path": "3" + }, + "3736": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3737": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10858, + 10871 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "3739": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10874, + 10897 + ], + "op": "PUSH2", + "path": "3", + "value": "0xEA3" + }, + "3742": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10889, + 10896 + ], + "op": "DUP4", + "path": "3" + }, + "3743": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10874, + 10888 + ], + "op": "PUSH2", + "path": "3", + "value": "0x826" + }, + "3746": { + "fn": "ERC721._isApprovedOrOwner", + "jump": "i", + "offset": [ + 10874, + 10897 + ], + "op": "JUMP", + "path": "3" + }, + "3747": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10874, + 10897 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3748": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10858, + 10897 + ], + "op": "SWAP1", + "path": "3" + }, + "3749": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10858, + 10897 + ], + "op": "POP", + "path": "3" + }, + "3750": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10926, + 10931 + ], + "op": "DUP1", + "path": "3", + "statement": 37 + }, + "3751": { + "op": "PUSH1", + "value": "0x1" + }, + "3753": { + "op": "PUSH1", + "value": "0x1" + }, + "3755": { + "op": "PUSH1", + "value": "0xA0" + }, + "3757": { + "op": "SHL" + }, + "3758": { + "op": "SUB" + }, + "3759": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10931 + ], + "op": "AND", + "path": "3" + }, + "3760": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10922 + ], + "op": "DUP5", + "path": "3" + }, + "3761": { + "op": "PUSH1", + "value": "0x1" + }, + "3763": { + "op": "PUSH1", + "value": "0x1" + }, + "3765": { + "op": "PUSH1", + "value": "0xA0" + }, + "3767": { + "op": "SHL" + }, + "3768": { + "op": "SUB" + }, + "3769": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10931 + ], + "op": "AND", + "path": "3" + }, + "3770": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10931 + ], + "op": "EQ", + "path": "3" + }, + "3771": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10966 + ], + "op": "DUP1", + "path": "3" + }, + "3772": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10966 + ], + "op": "PUSH2", + "path": "3", + "value": "0xEDE" + }, + "3775": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10966 + ], + "op": "JUMPI", + "path": "3" + }, + "3776": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10966 + ], + "op": "POP", + "path": "3" + }, + "3777": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10959, + 10966 + ], + "op": "DUP4", + "path": "3" + }, + "3778": { + "op": "PUSH1", + "value": "0x1" + }, + "3780": { + "op": "PUSH1", + "value": "0x1" + }, + "3782": { + "op": "PUSH1", + "value": "0xA0" + }, + "3784": { + "op": "SHL" + }, + "3785": { + "op": "SUB" + }, + "3786": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10935, + 10966 + ], + "op": "AND", + "path": "3" + }, + "3787": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10935, + 10955 + ], + "op": "PUSH2", + "path": "3", + "value": "0xED3" + }, + "3790": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10947, + 10954 + ], + "op": "DUP5", + "path": "3" + }, + "3791": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10935, + 10946 + ], + "op": "PUSH2", + "path": "3", + "value": "0x619" + }, + "3794": { + "fn": "ERC721._isApprovedOrOwner", + "jump": "i", + "offset": [ + 10935, + 10955 + ], + "op": "JUMP", + "path": "3" + }, + "3795": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10935, + 10955 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3796": { + "op": "PUSH1", + "value": "0x1" + }, + "3798": { + "op": "PUSH1", + "value": "0x1" + }, + "3800": { + "op": "PUSH1", + "value": "0xA0" + }, + "3802": { + "op": "SHL" + }, + "3803": { + "op": "SUB" + }, + "3804": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10935, + 10966 + ], + "op": "AND", + "path": "3" + }, + "3805": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10935, + 10966 + ], + "op": "EQ", + "path": "3" + }, + "3806": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10966 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3807": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 11009 + ], + "op": "DUP1", + "path": "3" + }, + "3808": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 11009 + ], + "op": "PUSH2", + "path": "3", + "value": "0xEEE" + }, + "3811": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 11009 + ], + "op": "JUMPI", + "path": "3" + }, + "3812": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 11009 + ], + "op": "POP", + "path": "3" + }, + "3813": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10970, + 11009 + ], + "op": "PUSH2", + "path": "3", + "value": "0xEEE" + }, + "3816": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10994, + 10999 + ], + "op": "DUP2", + "path": "3" + }, + "3817": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 11001, + 11008 + ], + "op": "DUP6", + "path": "3" + }, + "3818": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10970, + 10993 + ], + "op": "PUSH2", + "path": "3", + "value": "0xD94" + }, + "3821": { + "fn": "ERC721._isApprovedOrOwner", + "jump": "i", + "offset": [ + 10970, + 11009 + ], + "op": "JUMP", + "path": "3" + }, + "3822": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10970, + 11009 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3823": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10907, + 11010 + ], + "op": "SWAP5", + "path": "3" + }, + "3824": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10666, + 11017 + ], + "op": "SWAP4", + "path": "3" + }, + "3825": { + "op": "POP" + }, + "3826": { + "op": "POP" + }, + "3827": { + "op": "POP" + }, + "3828": { + "op": "POP" + }, + "3829": { + "fn": "ERC721._isApprovedOrOwner", + "jump": "o", + "offset": [ + 10666, + 11017 + ], + "op": "JUMP", + "path": "3" + }, + "3830": { + "fn": "ERC721._transfer", + "offset": [ + 13707, + 14291 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3831": { + "fn": "ERC721._transfer", + "offset": [ + 13831, + 13835 + ], + "op": "DUP3", + "path": "3", + "statement": 38 + }, + "3832": { + "op": "PUSH1", + "value": "0x1" + }, + "3834": { + "op": "PUSH1", + "value": "0x1" + }, + "3836": { + "op": "PUSH1", + "value": "0xA0" + }, + "3838": { + "op": "SHL" + }, + "3839": { + "op": "SUB" + }, + "3840": { + "fn": "ERC721._transfer", + "offset": [ + 13804, + 13835 + ], + "op": "AND", + "path": "3" + }, + "3841": { + "fn": "ERC721._transfer", + "offset": [ + 13804, + 13827 + ], + "op": "PUSH2", + "path": "3", + "value": "0xF09" + }, + "3844": { + "fn": "ERC721._transfer", + "offset": [ + 13819, + 13826 + ], + "op": "DUP3", + "path": "3" + }, + "3845": { + "fn": "ERC721._transfer", + "offset": [ + 13804, + 13818 + ], + "op": "PUSH2", + "path": "3", + "value": "0x826" + }, + "3848": { + "fn": "ERC721._transfer", + "jump": "i", + "offset": [ + 13804, + 13827 + ], + "op": "JUMP", + "path": "3" + }, + "3849": { + "fn": "ERC721._transfer", + "offset": [ + 13804, + 13827 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3850": { + "op": "PUSH1", + "value": "0x1" + }, + "3852": { + "op": "PUSH1", + "value": "0x1" + }, + "3854": { + "op": "PUSH1", + "value": "0xA0" + }, + "3856": { + "op": "SHL" + }, + "3857": { + "op": "SUB" + }, + "3858": { + "fn": "ERC721._transfer", + "offset": [ + 13804, + 13835 + ], + "op": "AND", + "path": "3" + }, + "3859": { + "branch": 118, + "fn": "ERC721._transfer", + "offset": [ + 13804, + 13835 + ], + "op": "EQ", + "path": "3" + }, + "3860": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH2", + "path": "3", + "value": "0xF4E" + }, + "3863": { + "branch": 118, + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "JUMPI", + "path": "3" + }, + "3864": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3866": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "MLOAD", + "path": "3" + }, + "3867": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3871": { + "op": "PUSH1", + "value": "0xE5" + }, + "3873": { + "op": "SHL" + }, + "3874": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP2", + "path": "3" + }, + "3875": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "MSTORE", + "path": "3" + }, + "3876": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "3878": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "ADD", + "path": "3" + }, + "3879": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP1", + "path": "3" + }, + "3880": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP1", + "path": "3" + }, + "3881": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3883": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "ADD", + "path": "3" + }, + "3884": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP3", + "path": "3" + }, + "3885": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP2", + "path": "3" + }, + "3886": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "SUB", + "path": "3" + }, + "3887": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP3", + "path": "3" + }, + "3888": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "MSTORE", + "path": "3" + }, + "3889": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x29" + }, + "3891": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP2", + "path": "3" + }, + "3892": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "MSTORE", + "path": "3" + }, + "3893": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3895": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "ADD", + "path": "3" + }, + "3896": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP1", + "path": "3" + }, + "3897": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1CC7" + }, + "3900": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x29" + }, + "3902": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "SWAP2", + "path": "3" + }, + "3903": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "CODECOPY", + "path": "3" + }, + "3904": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3906": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "ADD", + "path": "3" + }, + "3907": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "SWAP2", + "path": "3" + }, + "3908": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "POP", + "path": "3" + }, + "3909": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "POP", + "path": "3" + }, + "3910": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3912": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "MLOAD", + "path": "3" + }, + "3913": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP1", + "path": "3" + }, + "3914": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "SWAP2", + "path": "3" + }, + "3915": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "SUB", + "path": "3" + }, + "3916": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "SWAP1", + "path": "3" + }, + "3917": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "REVERT", + "path": "3" + }, + "3918": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3919": { + "op": "PUSH1", + "value": "0x1" + }, + "3921": { + "op": "PUSH1", + "value": "0x1" + }, + "3923": { + "op": "PUSH1", + "value": "0xA0" + }, + "3925": { + "op": "SHL" + }, + "3926": { + "op": "SUB" + }, + "3927": { + "fn": "ERC721._transfer", + "offset": [ + 13917, + 13933 + ], + "op": "DUP3", + "path": "3", + "statement": 39 + }, + "3928": { + "branch": 119, + "fn": "ERC721._transfer", + "offset": [ + 13917, + 13933 + ], + "op": "AND", + "path": "3" + }, + "3929": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH2", + "path": "3", + "value": "0xF93" + }, + "3932": { + "branch": 119, + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "JUMPI", + "path": "3" + }, + "3933": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3935": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "MLOAD", + "path": "3" + }, + "3936": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3940": { + "op": "PUSH1", + "value": "0xE5" + }, + "3942": { + "op": "SHL" + }, + "3943": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP2", + "path": "3" + }, + "3944": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "MSTORE", + "path": "3" + }, + "3945": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "3947": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "ADD", + "path": "3" + }, + "3948": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP1", + "path": "3" + }, + "3949": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP1", + "path": "3" + }, + "3950": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3952": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "ADD", + "path": "3" + }, + "3953": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP3", + "path": "3" + }, + "3954": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP2", + "path": "3" + }, + "3955": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "SUB", + "path": "3" + }, + "3956": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP3", + "path": "3" + }, + "3957": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "MSTORE", + "path": "3" + }, + "3958": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x24" + }, + "3960": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP2", + "path": "3" + }, + "3961": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "MSTORE", + "path": "3" + }, + "3962": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3964": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "ADD", + "path": "3" + }, + "3965": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP1", + "path": "3" + }, + "3966": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1B72" + }, + "3969": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x24" + }, + "3971": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "SWAP2", + "path": "3" + }, + "3972": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "CODECOPY", + "path": "3" + }, + "3973": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3975": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "ADD", + "path": "3" + }, + "3976": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "SWAP2", + "path": "3" + }, + "3977": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "POP", + "path": "3" + }, + "3978": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "POP", + "path": "3" + }, + "3979": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3981": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "MLOAD", + "path": "3" + }, + "3982": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP1", + "path": "3" + }, + "3983": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "SWAP2", + "path": "3" + }, + "3984": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "SUB", + "path": "3" + }, + "3985": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "SWAP1", + "path": "3" + }, + "3986": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "REVERT", + "path": "3" + }, + "3987": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3988": { + "fn": "ERC721._transfer", + "offset": [ + 13985, + 14024 + ], + "op": "PUSH2", + "path": "3", + "statement": 40, + "value": "0xF9E" + }, + "3991": { + "fn": "ERC721._transfer", + "offset": [ + 14006, + 14010 + ], + "op": "DUP4", + "path": "3" + }, + "3992": { + "fn": "ERC721._transfer", + "offset": [ + 14012, + 14014 + ], + "op": "DUP4", + "path": "3" + }, + "3993": { + "fn": "ERC721._transfer", + "offset": [ + 14016, + 14023 + ], + "op": "DUP4", + "path": "3" + }, + "3994": { + "fn": "ERC721._transfer", + "offset": [ + 13985, + 14005 + ], + "op": "PUSH2", + "path": "3", + "value": "0x751" + }, + "3997": { + "fn": "ERC721._transfer", + "jump": "i", + "offset": [ + 13985, + 14024 + ], + "op": "JUMP", + "path": "3" + }, + "3998": { + "fn": "ERC721._transfer", + "offset": [ + 13985, + 14024 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3999": { + "fn": "ERC721._transfer", + "offset": [ + 14086, + 14115 + ], + "op": "PUSH2", + "path": "3", + "statement": 41, + "value": "0xFA9" + }, + "4002": { + "fn": "ERC721._transfer", + "offset": [ + 14103, + 14104 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "4004": { + "fn": "ERC721._transfer", + "offset": [ + 14107, + 14114 + ], + "op": "DUP3", + "path": "3" + }, + "4005": { + "fn": "ERC721._transfer", + "offset": [ + 14086, + 14094 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDD9" + }, + "4008": { + "fn": "ERC721._transfer", + "jump": "i", + "offset": [ + 14086, + 14115 + ], + "op": "JUMP", + "path": "3" + }, + "4009": { + "fn": "ERC721._transfer", + "offset": [ + 14086, + 14115 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4010": { + "op": "PUSH1", + "value": "0x1" + }, + "4012": { + "op": "PUSH1", + "value": "0x1" + }, + "4014": { + "op": "PUSH1", + "value": "0xA0" + }, + "4016": { + "op": "SHL" + }, + "4017": { + "op": "SUB" + }, + "4018": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "DUP4", + "path": "3", + "statement": 42 + }, + "4019": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "AND", + "path": "3" + }, + "4020": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "4022": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "SWAP1", + "path": "3" + }, + "4023": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "DUP2", + "path": "3" + }, + "4024": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "MSTORE", + "path": "3" + }, + "4025": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14139 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "4027": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4029": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "MSTORE", + "path": "3" + }, + "4030": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4032": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "SWAP1", + "path": "3" + }, + "4033": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "KECCAK256", + "path": "3" + }, + "4034": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14161 + ], + "op": "PUSH2", + "path": "3", + "value": "0xFD1" + }, + "4037": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14161 + ], + "op": "SWAP1", + "path": "3" + }, + "4038": { + "fn": "ERC721._transfer", + "offset": [ + 14153, + 14160 + ], + "op": "DUP3", + "path": "3" + }, + "4039": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14161 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "4044": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14152 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1251" + }, + "4047": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14161 + ], + "op": "AND", + "path": "3" + }, + "4048": { + "fn": "ERC721._transfer", + "jump": "i", + "offset": [ + 14126, + 14161 + ], + "op": "JUMP", + "path": "3" + }, + "4049": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14161 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4050": { + "op": "POP" + }, + "4051": { + "op": "PUSH1", + "value": "0x1" + }, + "4053": { + "op": "PUSH1", + "value": "0x1" + }, + "4055": { + "op": "PUSH1", + "value": "0xA0" + }, + "4057": { + "op": "SHL" + }, + "4058": { + "op": "SUB" + }, + "4059": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "DUP3", + "path": "3", + "statement": 43 + }, + "4060": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "AND", + "path": "3" + }, + "4061": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "4063": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "SWAP1", + "path": "3" + }, + "4064": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "DUP2", + "path": "3" + }, + "4065": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "MSTORE", + "path": "3" + }, + "4066": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14184 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "4068": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4070": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "MSTORE", + "path": "3" + }, + "4071": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4073": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "SWAP1", + "path": "3" + }, + "4074": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "KECCAK256", + "path": "3" + }, + "4075": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14201 + ], + "op": "PUSH2", + "path": "3", + "value": "0xFFA" + }, + "4078": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14201 + ], + "op": "SWAP1", + "path": "3" + }, + "4079": { + "fn": "ERC721._transfer", + "offset": [ + 14193, + 14200 + ], + "op": "DUP3", + "path": "3" + }, + "4080": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14201 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "4085": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14192 + ], + "op": "PUSH2", + "path": "3", + "value": "0x125D" + }, + "4088": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14201 + ], + "op": "AND", + "path": "3" + }, + "4089": { + "fn": "ERC721._transfer", + "jump": "i", + "offset": [ + 14171, + 14201 + ], + "op": "JUMP", + "path": "3" + }, + "4090": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14201 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4091": { + "op": "POP" + }, + "4092": { + "fn": "ERC721._transfer", + "offset": [ + 14212, + 14241 + ], + "op": "PUSH2", + "path": "3", + "statement": 44, + "value": "0x100D" + }, + "4095": { + "fn": "ERC721._transfer", + "offset": [ + 14212, + 14224 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "4097": { + "fn": "ERC721._transfer", + "offset": [ + 14229, + 14236 + ], + "op": "DUP3", + "path": "3" + }, + "4098": { + "fn": "ERC721._transfer", + "offset": [ + 14238, + 14240 + ], + "op": "DUP5", + "path": "3" + }, + "4099": { + "fn": "ERC721._transfer", + "offset": [ + 14212, + 14241 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "4104": { + "fn": "ERC721._transfer", + "offset": [ + 14212, + 14228 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1269" + }, + "4107": { + "fn": "ERC721._transfer", + "offset": [ + 14212, + 14241 + ], + "op": "AND", + "path": "3" + }, + "4108": { + "fn": "ERC721._transfer", + "jump": "i", + "offset": [ + 14212, + 14241 + ], + "op": "JUMP", + "path": "3" + }, + "4109": { + "fn": "ERC721._transfer", + "offset": [ + 14212, + 14241 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4110": { + "fn": "ERC721._transfer", + "offset": [ + 14212, + 14241 + ], + "op": "POP", + "path": "3" + }, + "4111": { + "fn": "ERC721._transfer", + "offset": [ + 14276, + 14283 + ], + "op": "DUP1", + "path": "3", + "statement": 45 + }, + "4112": { + "fn": "ERC721._transfer", + "offset": [ + 14272, + 14274 + ], + "op": "DUP3", + "path": "3" + }, + "4113": { + "op": "PUSH1", + "value": "0x1" + }, + "4115": { + "op": "PUSH1", + "value": "0x1" + }, + "4117": { + "op": "PUSH1", + "value": "0xA0" + }, + "4119": { + "op": "SHL" + }, + "4120": { + "op": "SUB" + }, + "4121": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "AND", + "path": "3" + }, + "4122": { + "fn": "ERC721._transfer", + "offset": [ + 14266, + 14270 + ], + "op": "DUP5", + "path": "3" + }, + "4123": { + "op": "PUSH1", + "value": "0x1" + }, + "4125": { + "op": "PUSH1", + "value": "0x1" + }, + "4127": { + "op": "PUSH1", + "value": "0xA0" + }, + "4129": { + "op": "SHL" + }, + "4130": { + "op": "SUB" + }, + "4131": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "AND", + "path": "3" + }, + "4132": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "PUSH32", + "path": "3", + "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + "4165": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4167": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "MLOAD", + "path": "3" + }, + "4168": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4170": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "MLOAD", + "path": "3" + }, + "4171": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "DUP1", + "path": "3" + }, + "4172": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "SWAP2", + "path": "3" + }, + "4173": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "SUB", + "path": "3" + }, + "4174": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "SWAP1", + "path": "3" + }, + "4175": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "LOG4", + "path": "3" + }, + "4176": { + "fn": "ERC721._transfer", + "offset": [ + 13707, + 14291 + ], + "op": "POP", + "path": "3" + }, + "4177": { + "fn": "ERC721._transfer", + "offset": [ + 13707, + 14291 + ], + "op": "POP", + "path": "3" + }, + "4178": { + "fn": "ERC721._transfer", + "offset": [ + 13707, + 14291 + ], + "op": "POP", + "path": "3" + }, + "4179": { + "fn": "ERC721._transfer", + "jump": "o", + "offset": [ + 13707, + 14291 + ], + "op": "JUMP", + "path": "3" + }, + "4180": { + "fn": "EnumerableSet.at", + "offset": [ + 9250, + 9385 + ], + "op": "JUMPDEST", + "path": "11" + }, + "4181": { + "fn": "EnumerableSet.at", + "offset": [ + 9321, + 9328 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "4183": { + "fn": "EnumerableSet.at", + "offset": [ + 9355, + 9377 + ], + "op": "PUSH2", + "path": "11", + "statement": 46, + "value": "0x7E6" + }, + "4186": { + "fn": "EnumerableSet.at", + "offset": [ + 9359, + 9362 + ], + "op": "DUP4", + "path": "11" + }, + "4187": { + "fn": "EnumerableSet.at", + "offset": [ + 9371, + 9376 + ], + "op": "DUP4", + "path": "11" + }, + "4188": { + "fn": "EnumerableSet.at", + "offset": [ + 9355, + 9358 + ], + "op": "PUSH2", + "path": "11", + "value": "0x127F" + }, + "4191": { + "fn": "EnumerableSet.at", + "jump": "i", + "offset": [ + 9355, + 9377 + ], + "op": "JUMP", + "path": "11" + }, + "4192": { + "fn": "EnumerableMap.at", + "offset": [ + 8269, + 8502 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4193": { + "fn": "EnumerableMap.at", + "offset": [ + 8349, + 8356 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4195": { + "fn": "EnumerableMap.at", + "offset": [ + 8349, + 8356 + ], + "op": "DUP1", + "path": "10" + }, + "4196": { + "fn": "EnumerableMap.at", + "offset": [ + 8349, + 8356 + ], + "op": "DUP1", + "path": "10" + }, + "4197": { + "fn": "EnumerableMap.at", + "offset": [ + 8349, + 8356 + ], + "op": "DUP1", + "path": "10" + }, + "4198": { + "fn": "EnumerableMap.at", + "offset": [ + 8408, + 8430 + ], + "op": "PUSH2", + "path": "10", + "value": "0x106F" + }, + "4201": { + "fn": "EnumerableMap.at", + "offset": [ + 8412, + 8415 + ], + "op": "DUP7", + "path": "10" + }, + "4202": { + "fn": "EnumerableMap.at", + "offset": [ + 8424, + 8429 + ], + "op": "DUP7", + "path": "10" + }, + "4203": { + "fn": "EnumerableMap.at", + "offset": [ + 8408, + 8411 + ], + "op": "PUSH2", + "path": "10", + "value": "0x12E3" + }, + "4206": { + "fn": "EnumerableMap.at", + "jump": "i", + "offset": [ + 8408, + 8430 + ], + "op": "JUMP", + "path": "10" + }, + "4207": { + "fn": "EnumerableMap.at", + "offset": [ + 8408, + 8430 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4208": { + "fn": "EnumerableMap.at", + "offset": [ + 8377, + 8430 + ], + "op": "SWAP1", + "path": "10" + }, + "4209": { + "fn": "EnumerableMap.at", + "offset": [ + 8377, + 8430 + ], + "op": "SWAP8", + "path": "10" + }, + "4210": { + "fn": "EnumerableMap.at", + "offset": [ + 8377, + 8430 + ], + "op": "SWAP1", + "path": "10" + }, + "4211": { + "fn": "EnumerableMap.at", + "offset": [ + 8377, + 8430 + ], + "op": "SWAP7", + "path": "10" + }, + "4212": { + "op": "POP" + }, + "4213": { + "fn": "EnumerableMap.at", + "offset": [ + 8269, + 8502 + ], + "op": "SWAP5", + "path": "10" + }, + "4214": { + "op": "POP" + }, + "4215": { + "op": "POP" + }, + "4216": { + "op": "POP" + }, + "4217": { + "op": "POP" + }, + "4218": { + "op": "POP" + }, + "4219": { + "fn": "EnumerableMap.at", + "jump": "o", + "offset": [ + 8269, + 8502 + ], + "op": "JUMP", + "path": "10" + }, + "4220": { + "fn": "EnumerableMap.get", + "offset": [ + 9522, + 9733 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4221": { + "fn": "EnumerableMap.get", + "offset": [ + 9629, + 9636 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4223": { + "fn": "EnumerableMap.get", + "offset": [ + 9679, + 9723 + ], + "op": "PUSH2", + "path": "10", + "statement": 47, + "value": "0x1089" + }, + "4226": { + "fn": "EnumerableMap.get", + "offset": [ + 9684, + 9687 + ], + "op": "DUP5", + "path": "10" + }, + "4227": { + "fn": "EnumerableMap.get", + "offset": [ + 9704, + 9707 + ], + "op": "DUP5", + "path": "10" + }, + "4228": { + "fn": "EnumerableMap.get", + "offset": [ + 9710, + 9722 + ], + "op": "DUP5", + "path": "10" + }, + "4229": { + "fn": "EnumerableMap.get", + "offset": [ + 9679, + 9683 + ], + "op": "PUSH2", + "path": "10", + "value": "0x135E" + }, + "4232": { + "fn": "EnumerableMap.get", + "jump": "i", + "offset": [ + 9679, + 9723 + ], + "op": "JUMP", + "path": "10" + }, + "4233": { + "fn": "EnumerableMap.get", + "offset": [ + 9679, + 9723 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4234": { + "fn": "EnumerableMap.get", + "offset": [ + 9671, + 9724 + ], + "op": "SWAP1", + "path": "10" + }, + "4235": { + "op": "POP" + }, + "4236": { + "fn": "EnumerableMap.get", + "offset": [ + 9522, + 9733 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4237": { + "fn": "EnumerableMap.get", + "offset": [ + 9522, + 9733 + ], + "op": "SWAP4", + "path": "10" + }, + "4238": { + "fn": "EnumerableMap.get", + "offset": [ + 9522, + 9733 + ], + "op": "SWAP3", + "path": "10" + }, + "4239": { + "fn": "EnumerableMap.get", + "offset": [ + 9522, + 9733 + ], + "op": "POP", + "path": "10" + }, + "4240": { + "fn": "EnumerableMap.get", + "offset": [ + 9522, + 9733 + ], + "op": "POP", + "path": "10" + }, + "4241": { + "fn": "EnumerableMap.get", + "offset": [ + 9522, + 9733 + ], + "op": "POP", + "path": "10" + }, + "4242": { + "fn": "EnumerableMap.get", + "jump": "o", + "offset": [ + 9522, + 9733 + ], + "op": "JUMP", + "path": "10" + }, + "4243": { + "fn": "ERC721._safeMint", + "offset": [ + 11348, + 11456 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4244": { + "fn": "ERC721._safeMint", + "offset": [ + 11423, + 11449 + ], + "op": "PUSH2", + "path": "3", + "statement": 48, + "value": "0x10AD" + }, + "4247": { + "fn": "ERC721._safeMint", + "offset": [ + 11433, + 11435 + ], + "op": "DUP3", + "path": "3" + }, + "4248": { + "fn": "ERC721._safeMint", + "offset": [ + 11437, + 11444 + ], + "op": "DUP3", + "path": "3" + }, + "4249": { + "fn": "ERC721._safeMint", + "offset": [ + 11423, + 11449 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4251": { + "fn": "ERC721._safeMint", + "offset": [ + 11423, + 11449 + ], + "op": "MLOAD", + "path": "3" + }, + "4252": { + "fn": "ERC721._safeMint", + "offset": [ + 11423, + 11449 + ], + "op": "DUP1", + "path": "3" + }, + "4253": { + "fn": "ERC721._safeMint", + "offset": [ + 11423, + 11449 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4255": { + "fn": "ERC721._safeMint", + "offset": [ + 11423, + 11449 + ], + "op": "ADD", + "path": "3" + }, + "4256": { + "fn": "ERC721._safeMint", + "offset": [ + 11423, + 11449 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4258": { + "fn": "ERC721._safeMint", + "offset": [ + 11423, + 11449 + ], + "op": "MSTORE", + "path": "3" + }, + "4259": { + "fn": "ERC721._safeMint", + "offset": [ + 11423, + 11449 + ], + "op": "DUP1", + "path": "3" + }, + "4260": { + "fn": "ERC721._safeMint", + "offset": [ + 11423, + 11449 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "4262": { + "fn": "ERC721._safeMint", + "offset": [ + 11423, + 11449 + ], + "op": "DUP2", + "path": "3" + }, + "4263": { + "fn": "ERC721._safeMint", + "offset": [ + 11423, + 11449 + ], + "op": "MSTORE", + "path": "3" + }, + "4264": { + "fn": "ERC721._safeMint", + "offset": [ + 11423, + 11449 + ], + "op": "POP", + "path": "3" + }, + "4265": { + "fn": "ERC721._safeMint", + "offset": [ + 11423, + 11432 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1428" + }, + "4268": { + "fn": "ERC721._safeMint", + "jump": "i", + "offset": [ + 11423, + 11449 + ], + "op": "JUMP", + "path": "3" + }, + "4269": { + "fn": "ERC721._safeMint", + "offset": [ + 11423, + 11449 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4270": { + "fn": "ERC721._safeMint", + "offset": [ + 11348, + 11456 + ], + "op": "POP", + "path": "3" + }, + "4271": { + "fn": "ERC721._safeMint", + "offset": [ + 11348, + 11456 + ], + "op": "POP", + "path": "3" + }, + "4272": { + "fn": "ERC721._safeMint", + "jump": "o", + "offset": [ + 11348, + 11456 + ], + "op": "JUMP", + "path": "3" + }, + "4273": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14438, + 14650 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4274": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14537, + 14553 + ], + "op": "PUSH2", + "path": "3", + "statement": 49, + "value": "0x10BA" + }, + "4277": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14545, + 14552 + ], + "op": "DUP3", + "path": "3" + }, + "4278": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14537, + 14544 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDC2" + }, + "4281": { + "fn": "ERC721._setTokenURI", + "jump": "i", + "offset": [ + 14537, + 14553 + ], + "op": "JUMP", + "path": "3" + }, + "4282": { + "branch": 120, + "fn": "ERC721._setTokenURI", + "offset": [ + 14537, + 14553 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4283": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "PUSH2", + "path": "3", + "value": "0x10F5" + }, + "4286": { + "branch": 120, + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "JUMPI", + "path": "3" + }, + "4287": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4289": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "MLOAD", + "path": "3" + }, + "4290": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4294": { + "op": "PUSH1", + "value": "0xE5" + }, + "4296": { + "op": "SHL" + }, + "4297": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "DUP2", + "path": "3" + }, + "4298": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "MSTORE", + "path": "3" + }, + "4299": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "4301": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "ADD", + "path": "3" + }, + "4302": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "DUP1", + "path": "3" + }, + "4303": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "DUP1", + "path": "3" + }, + "4304": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4306": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "ADD", + "path": "3" + }, + "4307": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "DUP3", + "path": "3" + }, + "4308": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "DUP2", + "path": "3" + }, + "4309": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "SUB", + "path": "3" + }, + "4310": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "DUP3", + "path": "3" + }, + "4311": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "MSTORE", + "path": "3" + }, + "4312": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2C" + }, + "4314": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "DUP2", + "path": "3" + }, + "4315": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "MSTORE", + "path": "3" + }, + "4316": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4318": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "ADD", + "path": "3" + }, + "4319": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "DUP1", + "path": "3" + }, + "4320": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1C9B" + }, + "4323": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2C" + }, + "4325": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "SWAP2", + "path": "3" + }, + "4326": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "CODECOPY", + "path": "3" + }, + "4327": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4329": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "ADD", + "path": "3" + }, + "4330": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "SWAP2", + "path": "3" + }, + "4331": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "POP", + "path": "3" + }, + "4332": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "POP", + "path": "3" + }, + "4333": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4335": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "MLOAD", + "path": "3" + }, + "4336": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "DUP1", + "path": "3" + }, + "4337": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "SWAP2", + "path": "3" + }, + "4338": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "SUB", + "path": "3" + }, + "4339": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "SWAP1", + "path": "3" + }, + "4340": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "REVERT", + "path": "3" + }, + "4341": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14529, + 14602 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4342": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14631 + ], + "op": "PUSH1", + "path": "3", + "statement": 50, + "value": "0x0" + }, + "4344": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14631 + ], + "op": "DUP3", + "path": "3" + }, + "4345": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14631 + ], + "op": "DUP2", + "path": "3" + }, + "4346": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14631 + ], + "op": "MSTORE", + "path": "3" + }, + "4347": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14622 + ], + "op": "PUSH1", + "path": "3", + "value": "0x8" + }, + "4349": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14631 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4351": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14631 + ], + "op": "SWAP1", + "path": "3" + }, + "4352": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14631 + ], + "op": "DUP2", + "path": "3" + }, + "4353": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14631 + ], + "op": "MSTORE", + "path": "3" + }, + "4354": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14631 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4356": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14631 + ], + "op": "SWAP1", + "path": "3" + }, + "4357": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14631 + ], + "op": "SWAP2", + "path": "3" + }, + "4358": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14631 + ], + "op": "KECCAK256", + "path": "3" + }, + "4359": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14643 + ], + "op": "DUP3", + "path": "3" + }, + "4360": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14643 + ], + "op": "MLOAD", + "path": "3" + }, + "4361": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14643 + ], + "op": "PUSH2", + "path": "3", + "value": "0x751" + }, + "4364": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14643 + ], + "op": "SWAP3", + "path": "3" + }, + "4365": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14643 + ], + "op": "DUP5", + "path": "3" + }, + "4366": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14643 + ], + "op": "ADD", + "path": "3" + }, + "4367": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14643 + ], + "op": "SWAP1", + "path": "3" + }, + "4368": { + "fn": "ERC721._setTokenURI", + "offset": [ + 14612, + 14643 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1A85" + }, + "4371": { + "fn": "ERC721._setTokenURI", + "jump": "i", + "offset": [ + 14612, + 14643 + ], + "op": "JUMP", + "path": "3" + }, + "4372": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9811, + 10080 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4373": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9924, + 9952 + ], + "op": "PUSH2", + "path": "3", + "statement": 51, + "value": "0x111F" + }, + "4376": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9934, + 9938 + ], + "op": "DUP5", + "path": "3" + }, + "4377": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9940, + 9942 + ], + "op": "DUP5", + "path": "3" + }, + "4378": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9944, + 9951 + ], + "op": "DUP5", + "path": "3" + }, + "4379": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9924, + 9933 + ], + "op": "PUSH2", + "path": "3", + "value": "0xEF6" + }, + "4382": { + "fn": "ERC721._safeTransfer", + "jump": "i", + "offset": [ + 9924, + 9952 + ], + "op": "JUMP", + "path": "3" + }, + "4383": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9924, + 9952 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4384": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9970, + 10018 + ], + "op": "PUSH2", + "path": "3", + "statement": 52, + "value": "0x112B" + }, + "4387": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9993, + 9997 + ], + "op": "DUP5", + "path": "3" + }, + "4388": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9999, + 10001 + ], + "op": "DUP5", + "path": "3" + }, + "4389": { + "fn": "ERC721._safeTransfer", + "offset": [ + 10003, + 10010 + ], + "op": "DUP5", + "path": "3" + }, + "4390": { + "fn": "ERC721._safeTransfer", + "offset": [ + 10012, + 10017 + ], + "op": "DUP5", + "path": "3" + }, + "4391": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9970, + 9992 + ], + "op": "PUSH2", + "path": "3", + "value": "0x147A" + }, + "4394": { + "fn": "ERC721._safeTransfer", + "jump": "i", + "offset": [ + 9970, + 10018 + ], + "op": "JUMP", + "path": "3" + }, + "4395": { + "branch": 121, + "fn": "ERC721._safeTransfer", + "offset": [ + 9970, + 10018 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4396": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH2", + "path": "3", + "value": "0xB05" + }, + "4399": { + "branch": 121, + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "JUMPI", + "path": "3" + }, + "4400": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4402": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "MLOAD", + "path": "3" + }, + "4403": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4407": { + "op": "PUSH1", + "value": "0xE5" + }, + "4409": { + "op": "SHL" + }, + "4410": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP2", + "path": "3" + }, + "4411": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "MSTORE", + "path": "3" + }, + "4412": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "4414": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "ADD", + "path": "3" + }, + "4415": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP1", + "path": "3" + }, + "4416": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP1", + "path": "3" + }, + "4417": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4419": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "ADD", + "path": "3" + }, + "4420": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP3", + "path": "3" + }, + "4421": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP2", + "path": "3" + }, + "4422": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "SUB", + "path": "3" + }, + "4423": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP3", + "path": "3" + }, + "4424": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "MSTORE", + "path": "3" + }, + "4425": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x32" + }, + "4427": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP2", + "path": "3" + }, + "4428": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "MSTORE", + "path": "3" + }, + "4429": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4431": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "ADD", + "path": "3" + }, + "4432": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP1", + "path": "3" + }, + "4433": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1B40" + }, + "4436": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x32" + }, + "4438": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "SWAP2", + "path": "3" + }, + "4439": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "CODECOPY", + "path": "3" + }, + "4440": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4442": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "ADD", + "path": "3" + }, + "4443": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "SWAP2", + "path": "3" + }, + "4444": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "POP", + "path": "3" + }, + "4445": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "POP", + "path": "3" + }, + "4446": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4448": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "MLOAD", + "path": "3" + }, + "4449": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP1", + "path": "3" + }, + "4450": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "SWAP2", + "path": "3" + }, + "4451": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "SUB", + "path": "3" + }, + "4452": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "SWAP1", + "path": "3" + }, + "4453": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "REVERT", + "path": "3" + }, + "4454": { + "fn": "Strings.toString", + "offset": [ + 210, + 935 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4455": { + "fn": "Strings.toString", + "offset": [ + 266, + 279 + ], + "op": "PUSH1", + "path": "12", + "value": "0x60" + }, + "4457": { + "branch": 132, + "fn": "Strings.toString", + "offset": [ + 483, + 493 + ], + "op": "DUP2", + "path": "12" + }, + "4458": { + "fn": "Strings.toString", + "offset": [ + 479, + 530 + ], + "op": "PUSH2", + "path": "12", + "value": "0x118B" + }, + "4461": { + "branch": 132, + "fn": "Strings.toString", + "offset": [ + 479, + 530 + ], + "op": "JUMPI", + "path": "12" + }, + "4462": { + "op": "POP" + }, + "4463": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "PUSH1", + "path": "12", + "statement": 53, + "value": "0x40" + }, + "4465": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "DUP1", + "path": "12" + }, + "4466": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "MLOAD", + "path": "12" + }, + "4467": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "DUP1", + "path": "12" + }, + "4468": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "DUP3", + "path": "12" + }, + "4469": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "ADD", + "path": "12" + }, + "4470": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "SWAP1", + "path": "12" + }, + "4471": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "SWAP2", + "path": "12" + }, + "4472": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "MSTORE", + "path": "12" + }, + "4473": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "PUSH1", + "path": "12", + "value": "0x1" + }, + "4475": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "DUP2", + "path": "12" + }, + "4476": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "MSTORE", + "path": "12" + }, + "4477": { + "op": "PUSH1", + "value": "0x3" + }, + "4479": { + "op": "PUSH1", + "value": "0xFC" + }, + "4481": { + "op": "SHL" + }, + "4482": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "PUSH1", + "path": "12", + "value": "0x20" + }, + "4484": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "DUP3", + "path": "12" + }, + "4485": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "ADD", + "path": "12" + }, + "4486": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "MSTORE", + "path": "12" + }, + "4487": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "PUSH2", + "path": "12", + "value": "0x57D" + }, + "4490": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "JUMP", + "path": "12" + }, + "4491": { + "fn": "Strings.toString", + "offset": [ + 479, + 530 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4492": { + "fn": "Strings.toString", + "offset": [ + 554, + 559 + ], + "op": "DUP2", + "path": "12" + }, + "4493": { + "fn": "Strings.toString", + "offset": [ + 539, + 551 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "4495": { + "fn": "Strings.toString", + "offset": [ + 593, + 668 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4496": { + "fn": "Strings.toString", + "offset": [ + 600, + 609 + ], + "op": "DUP2", + "path": "12" + }, + "4497": { + "fn": "Strings.toString", + "offset": [ + 600, + 609 + ], + "op": "ISZERO", + "path": "12" + }, + "4498": { + "fn": "Strings.toString", + "offset": [ + 593, + 668 + ], + "op": "PUSH2", + "path": "12", + "value": "0x11A3" + }, + "4501": { + "fn": "Strings.toString", + "offset": [ + 593, + 668 + ], + "op": "JUMPI", + "path": "12" + }, + "4502": { + "fn": "Strings.toString", + "offset": [ + 625, + 633 + ], + "op": "PUSH1", + "path": "12", + "statement": 54, + "value": "0x1" + }, + "4504": { + "fn": "Strings.toString", + "offset": [ + 625, + 633 + ], + "op": "ADD", + "path": "12" + }, + "4505": { + "fn": "Strings.toString", + "offset": [ + 655, + 657 + ], + "op": "PUSH1", + "path": "12", + "statement": 55, + "value": "0xA" + }, + "4507": { + "fn": "Strings.toString", + "offset": [ + 647, + 657 + ], + "op": "DUP3", + "path": "12" + }, + "4508": { + "fn": "Strings.toString", + "offset": [ + 647, + 657 + ], + "op": "DIV", + "path": "12" + }, + "4509": { + "fn": "Strings.toString", + "offset": [ + 647, + 657 + ], + "op": "SWAP2", + "path": "12" + }, + "4510": { + "fn": "Strings.toString", + "offset": [ + 647, + 657 + ], + "op": "POP", + "path": "12" + }, + "4511": { + "fn": "Strings.toString", + "offset": [ + 593, + 668 + ], + "op": "PUSH2", + "path": "12", + "value": "0x118F" + }, + "4514": { + "fn": "Strings.toString", + "offset": [ + 593, + 668 + ], + "op": "JUMP", + "path": "12" + }, + "4515": { + "fn": "Strings.toString", + "offset": [ + 593, + 668 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4516": { + "fn": "Strings.toString", + "offset": [ + 677, + 696 + ], + "op": "PUSH1", + "path": "12", + "value": "0x60" + }, + "4518": { + "fn": "Strings.toString", + "offset": [ + 709, + 715 + ], + "op": "DUP2", + "path": "12" + }, + "4519": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH8", + "path": "12", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "4528": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP2", + "path": "12" + }, + "4529": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "GT", + "path": "12" + }, + "4530": { + "op": "DUP1" + }, + "4531": { + "op": "ISZERO" + }, + "4532": { + "op": "PUSH2", + "value": "0x11BC" + }, + "4535": { + "op": "JUMPI" + }, + "4536": { + "op": "PUSH1", + "value": "0x0" + }, + "4538": { + "op": "DUP1" + }, + "4539": { + "op": "REVERT" + }, + "4540": { + "op": "JUMPDEST" + }, + "4541": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "POP", + "path": "12" + }, + "4542": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH1", + "path": "12", + "value": "0x40" + }, + "4544": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "MLOAD", + "path": "12" + }, + "4545": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "SWAP1", + "path": "12" + }, + "4546": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP1", + "path": "12" + }, + "4547": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP3", + "path": "12" + }, + "4548": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "MSTORE", + "path": "12" + }, + "4549": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP1", + "path": "12" + }, + "4550": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH1", + "path": "12", + "value": "0x1F" + }, + "4552": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "ADD", + "path": "12" + }, + "4553": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH1", + "path": "12", + "value": "0x1F" + }, + "4555": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "NOT", + "path": "12" + }, + "4556": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "AND", + "path": "12" + }, + "4557": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH1", + "path": "12", + "value": "0x20" + }, + "4559": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "ADD", + "path": "12" + }, + "4560": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP3", + "path": "12" + }, + "4561": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "ADD", + "path": "12" + }, + "4562": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH1", + "path": "12", + "value": "0x40" + }, + "4564": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "MSTORE", + "path": "12" + }, + "4565": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP1", + "path": "12" + }, + "4566": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "ISZERO", + "path": "12" + }, + "4567": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH2", + "path": "12", + "value": "0x11E7" + }, + "4570": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "JUMPI", + "path": "12" + }, + "4571": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH1", + "path": "12", + "value": "0x20" + }, + "4573": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP3", + "path": "12" + }, + "4574": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "ADD", + "path": "12" + }, + "4575": { + "op": "DUP2" + }, + "4576": { + "op": "DUP1" + }, + "4577": { + "op": "CALLDATASIZE" + }, + "4578": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP4", + "path": "12" + }, + "4579": { + "op": "CALLDATACOPY" + }, + "4580": { + "op": "ADD" + }, + "4581": { + "op": "SWAP1" + }, + "4582": { + "op": "POP" + }, + "4583": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4584": { + "op": "POP" + }, + "4585": { + "fn": "Strings.toString", + "offset": [ + 769, + 774 + ], + "op": "DUP6", + "path": "12", + "statement": 56 + }, + "4586": { + "fn": "Strings.toString", + "offset": [ + 769, + 774 + ], + "op": "SWAP4", + "path": "12" + }, + "4587": { + "op": "POP" + }, + "4588": { + "fn": "Strings.toString", + "offset": [ + 677, + 716 + ], + "op": "SWAP1", + "path": "12" + }, + "4589": { + "op": "POP" + }, + "4590": { + "op": "PUSH1", + "value": "0x0" + }, + "4592": { + "op": "NOT" + }, + "4593": { + "fn": "Strings.toString", + "offset": [ + 742, + 752 + ], + "op": "DUP3", + "path": "12" + }, + "4594": { + "fn": "Strings.toString", + "offset": [ + 742, + 752 + ], + "op": "ADD", + "path": "12" + }, + "4595": { + "fn": "Strings.toString", + "offset": [ + 784, + 898 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4596": { + "fn": "Strings.toString", + "offset": [ + 791, + 800 + ], + "op": "DUP4", + "path": "12" + }, + "4597": { + "fn": "Strings.toString", + "offset": [ + 791, + 800 + ], + "op": "ISZERO", + "path": "12" + }, + "4598": { + "fn": "Strings.toString", + "offset": [ + 784, + 898 + ], + "op": "PUSH2", + "path": "12", + "value": "0x1238" + }, + "4601": { + "fn": "Strings.toString", + "offset": [ + 784, + 898 + ], + "op": "JUMPI", + "path": "12" + }, + "4602": { + "fn": "Strings.toString", + "offset": [ + 859, + 861 + ], + "op": "PUSH1", + "path": "12", + "statement": 57, + "value": "0xA" + }, + "4604": { + "fn": "Strings.toString", + "offset": [ + 852, + 856 + ], + "op": "DUP5", + "path": "12" + }, + "4605": { + "fn": "Strings.toString", + "offset": [ + 852, + 861 + ], + "op": "MOD", + "path": "12" + }, + "4606": { + "fn": "Strings.toString", + "offset": [ + 847, + 849 + ], + "op": "PUSH1", + "path": "12", + "value": "0x30" + }, + "4608": { + "fn": "Strings.toString", + "offset": [ + 847, + 861 + ], + "op": "ADD", + "path": "12" + }, + "4609": { + "fn": "Strings.toString", + "offset": [ + 834, + 863 + ], + "op": "PUSH1", + "path": "12", + "value": "0xF8" + }, + "4611": { + "fn": "Strings.toString", + "offset": [ + 834, + 863 + ], + "op": "SHL", + "path": "12" + }, + "4612": { + "fn": "Strings.toString", + "offset": [ + 816, + 822 + ], + "op": "DUP3", + "path": "12" + }, + "4613": { + "fn": "Strings.toString", + "offset": [ + 823, + 830 + ], + "op": "DUP3", + "path": "12" + }, + "4614": { + "fn": "Strings.toString", + "offset": [ + 823, + 830 + ], + "op": "DUP1", + "path": "12" + }, + "4615": { + "fn": "Strings.toString", + "offset": [ + 823, + 830 + ], + "op": "PUSH1", + "path": "12", + "value": "0x1" + }, + "4617": { + "fn": "Strings.toString", + "offset": [ + 823, + 830 + ], + "op": "SWAP1", + "path": "12" + }, + "4618": { + "fn": "Strings.toString", + "offset": [ + 823, + 830 + ], + "op": "SUB", + "path": "12" + }, + "4619": { + "fn": "Strings.toString", + "offset": [ + 823, + 830 + ], + "op": "SWAP4", + "path": "12" + }, + "4620": { + "fn": "Strings.toString", + "offset": [ + 823, + 830 + ], + "op": "POP", + "path": "12" + }, + "4621": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "DUP2", + "path": "12" + }, + "4622": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "MLOAD", + "path": "12" + }, + "4623": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "DUP2", + "path": "12" + }, + "4624": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "LT", + "path": "12" + }, + "4625": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "PUSH2", + "path": "12", + "value": "0x1216" + }, + "4628": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "JUMPI", + "path": "12" + }, + "4629": { + "dev": "Index out of range", + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "INVALID", + "path": "12" + }, + "4630": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4631": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "PUSH1", + "path": "12", + "value": "0x20" + }, + "4633": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "ADD", + "path": "12" + }, + "4634": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "ADD", + "path": "12" + }, + "4635": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "SWAP1", + "path": "12" + }, + "4636": { + "op": "PUSH1", + "value": "0x1" + }, + "4638": { + "op": "PUSH1", + "value": "0x1" + }, + "4640": { + "op": "PUSH1", + "value": "0xF8" + }, + "4642": { + "op": "SHL" + }, + "4643": { + "op": "SUB" + }, + "4644": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "NOT", + "path": "12" + }, + "4645": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "AND", + "path": "12" + }, + "4646": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "SWAP1", + "path": "12" + }, + "4647": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "DUP2", + "path": "12" + }, + "4648": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "4650": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "BYTE", + "path": "12" + }, + "4651": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "SWAP1", + "path": "12" + }, + "4652": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "MSTORE8", + "path": "12" + }, + "4653": { + "op": "POP" + }, + "4654": { + "fn": "Strings.toString", + "offset": [ + 885, + 887 + ], + "op": "PUSH1", + "path": "12", + "statement": 58, + "value": "0xA" + }, + "4656": { + "fn": "Strings.toString", + "offset": [ + 877, + 887 + ], + "op": "DUP5", + "path": "12" + }, + "4657": { + "fn": "Strings.toString", + "offset": [ + 877, + 887 + ], + "op": "DIV", + "path": "12" + }, + "4658": { + "fn": "Strings.toString", + "offset": [ + 877, + 887 + ], + "op": "SWAP4", + "path": "12" + }, + "4659": { + "fn": "Strings.toString", + "offset": [ + 877, + 887 + ], + "op": "POP", + "path": "12" + }, + "4660": { + "fn": "Strings.toString", + "offset": [ + 784, + 898 + ], + "op": "PUSH2", + "path": "12", + "value": "0x11F3" + }, + "4663": { + "fn": "Strings.toString", + "offset": [ + 784, + 898 + ], + "op": "JUMP", + "path": "12" + }, + "4664": { + "fn": "Strings.toString", + "offset": [ + 784, + 898 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4665": { + "op": "POP" + }, + "4666": { + "fn": "Strings.toString", + "offset": [ + 921, + 927 + ], + "op": "SWAP5", + "path": "12", + "statement": 59 + }, + "4667": { + "fn": "Strings.toString", + "offset": [ + 210, + 935 + ], + "op": "SWAP4", + "path": "12" + }, + "4668": { + "op": "POP" + }, + "4669": { + "op": "POP" + }, + "4670": { + "op": "POP" + }, + "4671": { + "op": "POP" + }, + "4672": { + "fn": "Strings.toString", + "jump": "o", + "offset": [ + 210, + 935 + ], + "op": "JUMP", + "path": "12" + }, + "4673": { + "fn": "EnumerableMap.contains", + "offset": [ + 7588, + 7737 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4674": { + "fn": "EnumerableMap.contains", + "offset": [ + 7672, + 7676 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4676": { + "fn": "EnumerableMap.contains", + "offset": [ + 7695, + 7730 + ], + "op": "PUSH2", + "path": "10", + "statement": 60, + "value": "0x7E6" + }, + "4679": { + "fn": "EnumerableMap.contains", + "offset": [ + 7705, + 7708 + ], + "op": "DUP4", + "path": "10" + }, + "4680": { + "fn": "EnumerableMap.contains", + "offset": [ + 7725, + 7728 + ], + "op": "DUP4", + "path": "10" + }, + "4681": { + "fn": "EnumerableMap.contains", + "offset": [ + 7695, + 7704 + ], + "op": "PUSH2", + "path": "10", + "value": "0x15FA" + }, + "4684": { + "fn": "EnumerableMap.contains", + "jump": "i", + "offset": [ + 7695, + 7730 + ], + "op": "JUMP", + "path": "10" + }, + "4685": { + "fn": "EnumerableMap._length", + "offset": [ + 4491, + 4599 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4686": { + "fn": "EnumerableMap._length", + "offset": [ + 4573, + 4592 + ], + "op": "SLOAD", + "path": "10", + "statement": 61 + }, + "4687": { + "fn": "EnumerableMap._length", + "offset": [ + 4573, + 4592 + ], + "op": "SWAP1", + "path": "10" + }, + "4688": { + "fn": "EnumerableMap._length", + "jump": "o", + "offset": [ + 4491, + 4599 + ], + "op": "JUMP", + "path": "10" + }, + "4689": { + "fn": "EnumerableSet.remove", + "offset": [ + 8365, + 8500 + ], + "op": "JUMPDEST", + "path": "11" + }, + "4690": { + "fn": "EnumerableSet.remove", + "offset": [ + 8435, + 8439 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "4692": { + "fn": "EnumerableSet.remove", + "offset": [ + 8458, + 8493 + ], + "op": "PUSH2", + "path": "11", + "statement": 62, + "value": "0x7E6" + }, + "4695": { + "fn": "EnumerableSet.remove", + "offset": [ + 8466, + 8469 + ], + "op": "DUP4", + "path": "11" + }, + "4696": { + "fn": "EnumerableSet.remove", + "offset": [ + 8486, + 8491 + ], + "op": "DUP4", + "path": "11" + }, + "4697": { + "fn": "EnumerableSet.remove", + "offset": [ + 8458, + 8465 + ], + "op": "PUSH2", + "path": "11", + "value": "0x1612" + }, + "4700": { + "fn": "EnumerableSet.remove", + "jump": "i", + "offset": [ + 8458, + 8493 + ], + "op": "JUMP", + "path": "11" + }, + "4701": { + "fn": "EnumerableSet.add", + "offset": [ + 8068, + 8197 + ], + "op": "JUMPDEST", + "path": "11" + }, + "4702": { + "fn": "EnumerableSet.add", + "offset": [ + 8135, + 8139 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "4704": { + "fn": "EnumerableSet.add", + "offset": [ + 8158, + 8190 + ], + "op": "PUSH2", + "path": "11", + "statement": 63, + "value": "0x7E6" + }, + "4707": { + "fn": "EnumerableSet.add", + "offset": [ + 8163, + 8166 + ], + "op": "DUP4", + "path": "11" + }, + "4708": { + "fn": "EnumerableSet.add", + "offset": [ + 8183, + 8188 + ], + "op": "DUP4", + "path": "11" + }, + "4709": { + "fn": "EnumerableSet.add", + "offset": [ + 8158, + 8162 + ], + "op": "PUSH2", + "path": "11", + "value": "0x16D8" + }, + "4712": { + "fn": "EnumerableSet.add", + "jump": "i", + "offset": [ + 8158, + 8190 + ], + "op": "JUMP", + "path": "11" + }, + "4713": { + "fn": "EnumerableMap.set", + "offset": [ + 7027, + 7210 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4714": { + "fn": "EnumerableMap.set", + "offset": [ + 7116, + 7120 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4716": { + "fn": "EnumerableMap.set", + "offset": [ + 7139, + 7203 + ], + "op": "PUSH2", + "path": "10", + "statement": 64, + "value": "0x1089" + }, + "4719": { + "fn": "EnumerableMap.set", + "offset": [ + 7144, + 7147 + ], + "op": "DUP5", + "path": "10" + }, + "4720": { + "fn": "EnumerableMap.set", + "offset": [ + 7164, + 7167 + ], + "op": "DUP5", + "path": "10" + }, + "4721": { + "op": "PUSH1", + "value": "0x1" + }, + "4723": { + "op": "PUSH1", + "value": "0x1" + }, + "4725": { + "op": "PUSH1", + "value": "0xA0" + }, + "4727": { + "op": "SHL" + }, + "4728": { + "op": "SUB" + }, + "4729": { + "fn": "EnumerableMap.set", + "offset": [ + 7178, + 7201 + ], + "op": "DUP6", + "path": "10" + }, + "4730": { + "fn": "EnumerableMap.set", + "offset": [ + 7178, + 7201 + ], + "op": "AND", + "path": "10" + }, + "4731": { + "fn": "EnumerableMap.set", + "offset": [ + 7139, + 7143 + ], + "op": "PUSH2", + "path": "10", + "value": "0x1722" + }, + "4734": { + "fn": "EnumerableMap.set", + "jump": "i", + "offset": [ + 7139, + 7203 + ], + "op": "JUMP", + "path": "10" + }, + "4735": { + "fn": "EnumerableSet._at", + "offset": [ + 4452, + 4653 + ], + "op": "JUMPDEST", + "path": "11" + }, + "4736": { + "fn": "EnumerableSet._at", + "offset": [ + 4546, + 4564 + ], + "op": "DUP2", + "path": "11", + "statement": 65 + }, + "4737": { + "fn": "EnumerableSet._at", + "offset": [ + 4546, + 4564 + ], + "op": "SLOAD", + "path": "11" + }, + "4738": { + "fn": "EnumerableSet._at", + "offset": [ + 4519, + 4526 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "4740": { + "fn": "EnumerableSet._at", + "offset": [ + 4519, + 4526 + ], + "op": "SWAP1", + "path": "11" + }, + "4741": { + "branch": 129, + "fn": "EnumerableSet._at", + "offset": [ + 4546, + 4572 + ], + "op": "DUP3", + "path": "11" + }, + "4742": { + "op": "LT" + }, + "4743": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH2", + "path": "11", + "value": "0x12C1" + }, + "4746": { + "branch": 129, + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "JUMPI", + "path": "11" + }, + "4747": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "4749": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "MLOAD", + "path": "11" + }, + "4750": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4754": { + "op": "PUSH1", + "value": "0xE5" + }, + "4756": { + "op": "SHL" + }, + "4757": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP2", + "path": "11" + }, + "4758": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "MSTORE", + "path": "11" + }, + "4759": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x4" + }, + "4761": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "ADD", + "path": "11" + }, + "4762": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP1", + "path": "11" + }, + "4763": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP1", + "path": "11" + }, + "4764": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "4766": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "ADD", + "path": "11" + }, + "4767": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP3", + "path": "11" + }, + "4768": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP2", + "path": "11" + }, + "4769": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "SUB", + "path": "11" + }, + "4770": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP3", + "path": "11" + }, + "4771": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "MSTORE", + "path": "11" + }, + "4772": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x22" + }, + "4774": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP2", + "path": "11" + }, + "4775": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "MSTORE", + "path": "11" + }, + "4776": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "4778": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "ADD", + "path": "11" + }, + "4779": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP1", + "path": "11" + }, + "4780": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH2", + "path": "11", + "value": "0x1B1E" + }, + "4783": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x22" + }, + "4785": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "SWAP2", + "path": "11" + }, + "4786": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "CODECOPY", + "path": "11" + }, + "4787": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "4789": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "ADD", + "path": "11" + }, + "4790": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "SWAP2", + "path": "11" + }, + "4791": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "POP", + "path": "11" + }, + "4792": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "POP", + "path": "11" + }, + "4793": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "4795": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "MLOAD", + "path": "11" + }, + "4796": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP1", + "path": "11" + }, + "4797": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "SWAP2", + "path": "11" + }, + "4798": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "SUB", + "path": "11" + }, + "4799": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "SWAP1", + "path": "11" + }, + "4800": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "REVERT", + "path": "11" + }, + "4801": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "JUMPDEST", + "path": "11" + }, + "4802": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4631 + ], + "op": "DUP3", + "path": "11", + "statement": 66 + }, + "4803": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4639 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "4805": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4639 + ], + "op": "ADD", + "path": "11" + }, + "4806": { + "fn": "EnumerableSet._at", + "offset": [ + 4640, + 4645 + ], + "op": "DUP3", + "path": "11" + }, + "4807": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "DUP2", + "path": "11" + }, + "4808": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "SLOAD", + "path": "11" + }, + "4809": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "DUP2", + "path": "11" + }, + "4810": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "LT", + "path": "11" + }, + "4811": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "PUSH2", + "path": "11", + "value": "0x12D0" + }, + "4814": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "JUMPI", + "path": "11" + }, + "4815": { + "dev": "Index out of range", + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "INVALID", + "path": "11" + }, + "4816": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "JUMPDEST", + "path": "11" + }, + "4817": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "SWAP1", + "path": "11" + }, + "4818": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "4820": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "MSTORE", + "path": "11" + }, + "4821": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "4823": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "4825": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "KECCAK256", + "path": "11" + }, + "4826": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "ADD", + "path": "11" + }, + "4827": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "SLOAD", + "path": "11" + }, + "4828": { + "fn": "EnumerableSet._at", + "offset": [ + 4621, + 4646 + ], + "op": "SWAP1", + "path": "11" + }, + "4829": { + "fn": "EnumerableSet._at", + "offset": [ + 4621, + 4646 + ], + "op": "POP", + "path": "11" + }, + "4830": { + "fn": "EnumerableSet._at", + "offset": [ + 4452, + 4653 + ], + "op": "SWAP3", + "path": "11" + }, + "4831": { + "fn": "EnumerableSet._at", + "offset": [ + 4452, + 4653 + ], + "op": "SWAP2", + "path": "11" + }, + "4832": { + "fn": "EnumerableSet._at", + "offset": [ + 4452, + 4653 + ], + "op": "POP", + "path": "11" + }, + "4833": { + "fn": "EnumerableSet._at", + "offset": [ + 4452, + 4653 + ], + "op": "POP", + "path": "11" + }, + "4834": { + "fn": "EnumerableSet._at", + "jump": "o", + "offset": [ + 4452, + 4653 + ], + "op": "JUMP", + "path": "11" + }, + "4835": { + "fn": "EnumerableMap._at", + "offset": [ + 4942, + 5216 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4836": { + "fn": "EnumerableMap._at", + "offset": [ + 5045, + 5064 + ], + "op": "DUP2", + "path": "10", + "statement": 67 + }, + "4837": { + "fn": "EnumerableMap._at", + "offset": [ + 5045, + 5064 + ], + "op": "SLOAD", + "path": "10" + }, + "4838": { + "fn": "EnumerableMap._at", + "offset": [ + 5009, + 5016 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4840": { + "fn": "EnumerableMap._at", + "offset": [ + 5009, + 5016 + ], + "op": "SWAP1", + "path": "10" + }, + "4841": { + "fn": "EnumerableMap._at", + "offset": [ + 5009, + 5016 + ], + "op": "DUP2", + "path": "10" + }, + "4842": { + "fn": "EnumerableMap._at", + "offset": [ + 5009, + 5016 + ], + "op": "SWAP1", + "path": "10" + }, + "4843": { + "branch": 126, + "fn": "EnumerableMap._at", + "offset": [ + 5045, + 5072 + ], + "op": "DUP4", + "path": "10" + }, + "4844": { + "op": "LT" + }, + "4845": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH2", + "path": "10", + "value": "0x1327" + }, + "4848": { + "branch": 126, + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "JUMPI", + "path": "10" + }, + "4849": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "4851": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "MLOAD", + "path": "10" + }, + "4852": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4856": { + "op": "PUSH1", + "value": "0xE5" + }, + "4858": { + "op": "SHL" + }, + "4859": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP2", + "path": "10" + }, + "4860": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "MSTORE", + "path": "10" + }, + "4861": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x4" + }, + "4863": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "ADD", + "path": "10" + }, + "4864": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP1", + "path": "10" + }, + "4865": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP1", + "path": "10" + }, + "4866": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "4868": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "ADD", + "path": "10" + }, + "4869": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP3", + "path": "10" + }, + "4870": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP2", + "path": "10" + }, + "4871": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "SUB", + "path": "10" + }, + "4872": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP3", + "path": "10" + }, + "4873": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "MSTORE", + "path": "10" + }, + "4874": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x22" + }, + "4876": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP2", + "path": "10" + }, + "4877": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "MSTORE", + "path": "10" + }, + "4878": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "4880": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "ADD", + "path": "10" + }, + "4881": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP1", + "path": "10" + }, + "4882": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH2", + "path": "10", + "value": "0x1C4D" + }, + "4885": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x22" + }, + "4887": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "SWAP2", + "path": "10" + }, + "4888": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "CODECOPY", + "path": "10" + }, + "4889": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "4891": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "ADD", + "path": "10" + }, + "4892": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "SWAP2", + "path": "10" + }, + "4893": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "POP", + "path": "10" + }, + "4894": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "POP", + "path": "10" + }, + "4895": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "4897": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "MLOAD", + "path": "10" + }, + "4898": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP1", + "path": "10" + }, + "4899": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "SWAP2", + "path": "10" + }, + "4900": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "SUB", + "path": "10" + }, + "4901": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "SWAP1", + "path": "10" + }, + "4902": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "REVERT", + "path": "10" + }, + "4903": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4904": { + "fn": "EnumerableMap._at", + "offset": [ + 5122, + 5144 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4906": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5150 + ], + "op": "DUP5", + "path": "10" + }, + "4907": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5159 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4909": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5159 + ], + "op": "ADD", + "path": "10" + }, + "4910": { + "fn": "EnumerableMap._at", + "offset": [ + 5160, + 5165 + ], + "op": "DUP5", + "path": "10" + }, + "4911": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "DUP2", + "path": "10" + }, + "4912": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "SLOAD", + "path": "10" + }, + "4913": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "DUP2", + "path": "10" + }, + "4914": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "LT", + "path": "10" + }, + "4915": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "PUSH2", + "path": "10", + "value": "0x1338" + }, + "4918": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "JUMPI", + "path": "10" + }, + "4919": { + "dev": "Index out of range", + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "INVALID", + "path": "10" + }, + "4920": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4921": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "SWAP1", + "path": "10" + }, + "4922": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4924": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "MSTORE", + "path": "10" + }, + "4925": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "4927": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4929": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "KECCAK256", + "path": "10" + }, + "4930": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "SWAP1", + "path": "10" + }, + "4931": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "PUSH1", + "path": "10", + "value": "0x2" + }, + "4933": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "MUL", + "path": "10" + }, + "4934": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "ADD", + "path": "10" + }, + "4935": { + "fn": "EnumerableMap._at", + "offset": [ + 5122, + 5166 + ], + "op": "SWAP1", + "path": "10" + }, + "4936": { + "fn": "EnumerableMap._at", + "offset": [ + 5122, + 5166 + ], + "op": "POP", + "path": "10" + }, + "4937": { + "fn": "EnumerableMap._at", + "offset": [ + 5184, + 5189 + ], + "op": "DUP1", + "path": "10", + "statement": 68 + }, + "4938": { + "fn": "EnumerableMap._at", + "offset": [ + 5184, + 5194 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4940": { + "fn": "EnumerableMap._at", + "offset": [ + 5184, + 5194 + ], + "op": "ADD", + "path": "10" + }, + "4941": { + "fn": "EnumerableMap._at", + "offset": [ + 5184, + 5194 + ], + "op": "SLOAD", + "path": "10" + }, + "4942": { + "fn": "EnumerableMap._at", + "offset": [ + 5196, + 5201 + ], + "op": "DUP2", + "path": "10" + }, + "4943": { + "fn": "EnumerableMap._at", + "offset": [ + 5196, + 5208 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "4945": { + "fn": "EnumerableMap._at", + "offset": [ + 5196, + 5208 + ], + "op": "ADD", + "path": "10" + }, + "4946": { + "fn": "EnumerableMap._at", + "offset": [ + 5196, + 5208 + ], + "op": "SLOAD", + "path": "10" + }, + "4947": { + "fn": "EnumerableMap._at", + "offset": [ + 5176, + 5209 + ], + "op": "SWAP3", + "path": "10" + }, + "4948": { + "fn": "EnumerableMap._at", + "offset": [ + 5176, + 5209 + ], + "op": "POP", + "path": "10" + }, + "4949": { + "fn": "EnumerableMap._at", + "offset": [ + 5176, + 5209 + ], + "op": "SWAP3", + "path": "10" + }, + "4950": { + "fn": "EnumerableMap._at", + "offset": [ + 5176, + 5209 + ], + "op": "POP", + "path": "10" + }, + "4951": { + "fn": "EnumerableMap._at", + "offset": [ + 5176, + 5209 + ], + "op": "POP", + "path": "10" + }, + "4952": { + "fn": "EnumerableMap._at", + "offset": [ + 4942, + 5216 + ], + "op": "SWAP3", + "path": "10" + }, + "4953": { + "fn": "EnumerableMap._at", + "offset": [ + 4942, + 5216 + ], + "op": "POP", + "path": "10" + }, + "4954": { + "fn": "EnumerableMap._at", + "offset": [ + 4942, + 5216 + ], + "op": "SWAP3", + "path": "10" + }, + "4955": { + "fn": "EnumerableMap._at", + "offset": [ + 4942, + 5216 + ], + "op": "SWAP1", + "path": "10" + }, + "4956": { + "fn": "EnumerableMap._at", + "offset": [ + 4942, + 5216 + ], + "op": "POP", + "path": "10" + }, + "4957": { + "fn": "EnumerableMap._at", + "jump": "o", + "offset": [ + 4942, + 5216 + ], + "op": "JUMP", + "path": "10" + }, + "4958": { + "fn": "EnumerableMap._get", + "offset": [ + 6403, + 6718 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4959": { + "fn": "EnumerableMap._get", + "offset": [ + 6497, + 6504 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4961": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "DUP3", + "path": "10" + }, + "4962": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "DUP2", + "path": "10" + }, + "4963": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "MSTORE", + "path": "10" + }, + "4964": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6547 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "4966": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6547 + ], + "op": "DUP5", + "path": "10" + }, + "4967": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6547 + ], + "op": "ADD", + "path": "10" + }, + "4968": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "4970": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "MSTORE", + "path": "10" + }, + "4971": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "4973": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "DUP2", + "path": "10" + }, + "4974": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "KECCAK256", + "path": "10" + }, + "4975": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "SLOAD", + "path": "10" + }, + "4976": { + "fn": "EnumerableMap._get", + "offset": [ + 6585, + 6597 + ], + "op": "DUP3", + "path": "10", + "statement": 69 + }, + "4977": { + "branch": 127, + "fn": "EnumerableMap._get", + "offset": [ + 6570, + 6583 + ], + "op": "DUP2", + "path": "10" + }, + "4978": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH2", + "path": "10", + "value": "0x13F9" + }, + "4981": { + "branch": 127, + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "JUMPI", + "path": "10" + }, + "4982": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "4984": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MLOAD", + "path": "10" + }, + "4985": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4989": { + "op": "PUSH1", + "value": "0xE5" + }, + "4991": { + "op": "SHL" + }, + "4992": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP2", + "path": "10" + }, + "4993": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MSTORE", + "path": "10" + }, + "4994": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x4" + }, + "4996": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "ADD", + "path": "10" + }, + "4997": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "4998": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "4999": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "5001": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "ADD", + "path": "10" + }, + "5002": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP3", + "path": "10" + }, + "5003": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP2", + "path": "10" + }, + "5004": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SUB", + "path": "10" + }, + "5005": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP3", + "path": "10" + }, + "5006": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MSTORE", + "path": "10" + }, + "5007": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP4", + "path": "10" + }, + "5008": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP2", + "path": "10" + }, + "5009": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP2", + "path": "10" + }, + "5010": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MLOAD", + "path": "10" + }, + "5011": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP2", + "path": "10" + }, + "5012": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MSTORE", + "path": "10" + }, + "5013": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "5015": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "ADD", + "path": "10" + }, + "5016": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP2", + "path": "10" + }, + "5017": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "5018": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "5019": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MLOAD", + "path": "10" + }, + "5020": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP1", + "path": "10" + }, + "5021": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "5023": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "ADD", + "path": "10" + }, + "5024": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP1", + "path": "10" + }, + "5025": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "5026": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP4", + "path": "10" + }, + "5027": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP4", + "path": "10" + }, + "5028": { + "op": "PUSH1", + "value": "0x0" + }, + "5030": { + "op": "JUMPDEST" + }, + "5031": { + "op": "DUP4" + }, + "5032": { + "op": "DUP2" + }, + "5033": { + "op": "LT" + }, + "5034": { + "op": "ISZERO" + }, + "5035": { + "op": "PUSH2", + "value": "0x13BE" + }, + "5038": { + "op": "JUMPI" + }, + "5039": { + "op": "DUP2" + }, + "5040": { + "op": "DUP2" + }, + "5041": { + "op": "ADD" + }, + "5042": { + "op": "MLOAD" + }, + "5043": { + "op": "DUP4" + }, + "5044": { + "op": "DUP3" + }, + "5045": { + "op": "ADD" + }, + "5046": { + "op": "MSTORE" + }, + "5047": { + "op": "PUSH1", + "value": "0x20" + }, + "5049": { + "op": "ADD" + }, + "5050": { + "op": "PUSH2", + "value": "0x13A6" + }, + "5053": { + "op": "JUMP" + }, + "5054": { + "op": "JUMPDEST" + }, + "5055": { + "op": "POP" + }, + "5056": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "5057": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "5058": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "5059": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP1", + "path": "10" + }, + "5060": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "5061": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP1", + "path": "10" + }, + "5062": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP2", + "path": "10" + }, + "5063": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "ADD", + "path": "10" + }, + "5064": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP1", + "path": "10" + }, + "5065": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1F" + }, + "5067": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "AND", + "path": "10" + }, + "5068": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "5069": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "ISZERO", + "path": "10" + }, + "5070": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH2", + "path": "10", + "value": "0x13EB" + }, + "5073": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "JUMPI", + "path": "10" + }, + "5074": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "5075": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP3", + "path": "10" + }, + "5076": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SUB", + "path": "10" + }, + "5077": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "5078": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MLOAD", + "path": "10" + }, + "5079": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "5081": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP4", + "path": "10" + }, + "5082": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "5084": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SUB", + "path": "10" + }, + "5085": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH2", + "path": "10", + "value": "0x100" + }, + "5088": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "EXP", + "path": "10" + }, + "5089": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SUB", + "path": "10" + }, + "5090": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "NOT", + "path": "10" + }, + "5091": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "AND", + "path": "10" + }, + "5092": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP2", + "path": "10" + }, + "5093": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MSTORE", + "path": "10" + }, + "5094": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "5096": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "ADD", + "path": "10" + }, + "5097": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP2", + "path": "10" + }, + "5098": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "5099": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "JUMPDEST", + "path": "10" + }, + "5100": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "5101": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP3", + "path": "10" + }, + "5102": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "5103": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "5104": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "5105": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "5107": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MLOAD", + "path": "10" + }, + "5108": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "5109": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP2", + "path": "10" + }, + "5110": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SUB", + "path": "10" + }, + "5111": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP1", + "path": "10" + }, + "5112": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "REVERT", + "path": "10" + }, + "5113": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "JUMPDEST", + "path": "10" + }, + "5114": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "5115": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6654 + ], + "op": "DUP5", + "path": "10", + "statement": 70 + }, + "5116": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6663 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "5118": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6663 + ], + "op": "ADD", + "path": "10" + }, + "5119": { + "fn": "EnumerableMap._get", + "offset": [ + 6675, + 6676 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "5121": { + "fn": "EnumerableMap._get", + "offset": [ + 6664, + 6672 + ], + "op": "DUP3", + "path": "10" + }, + "5122": { + "fn": "EnumerableMap._get", + "offset": [ + 6664, + 6676 + ], + "op": "SUB", + "path": "10" + }, + "5123": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "DUP2", + "path": "10" + }, + "5124": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "SLOAD", + "path": "10" + }, + "5125": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "DUP2", + "path": "10" + }, + "5126": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "LT", + "path": "10" + }, + "5127": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "PUSH2", + "path": "10", + "value": "0x140C" + }, + "5130": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "JUMPI", + "path": "10" + }, + "5131": { + "dev": "Index out of range", + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "INVALID", + "path": "10" + }, + "5132": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "JUMPDEST", + "path": "10" + }, + "5133": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "SWAP1", + "path": "10" + }, + "5134": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "5136": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "MSTORE", + "path": "10" + }, + "5137": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "5139": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "5141": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "KECCAK256", + "path": "10" + }, + "5142": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "SWAP1", + "path": "10" + }, + "5143": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "PUSH1", + "path": "10", + "value": "0x2" + }, + "5145": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "MUL", + "path": "10" + }, + "5146": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "ADD", + "path": "10" + }, + "5147": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6684 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "5149": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6684 + ], + "op": "ADD", + "path": "10" + }, + "5150": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6684 + ], + "op": "SLOAD", + "path": "10" + }, + "5151": { + "fn": "EnumerableMap._get", + "offset": [ + 6644, + 6684 + ], + "op": "SWAP2", + "path": "10" + }, + "5152": { + "fn": "EnumerableMap._get", + "offset": [ + 6644, + 6684 + ], + "op": "POP", + "path": "10" + }, + "5153": { + "fn": "EnumerableMap._get", + "offset": [ + 6644, + 6684 + ], + "op": "POP", + "path": "10" + }, + "5154": { + "fn": "EnumerableMap._get", + "offset": [ + 6403, + 6718 + ], + "op": "SWAP4", + "path": "10" + }, + "5155": { + "fn": "EnumerableMap._get", + "offset": [ + 6403, + 6718 + ], + "op": "SWAP3", + "path": "10" + }, + "5156": { + "fn": "EnumerableMap._get", + "offset": [ + 6403, + 6718 + ], + "op": "POP", + "path": "10" + }, + "5157": { + "fn": "EnumerableMap._get", + "offset": [ + 6403, + 6718 + ], + "op": "POP", + "path": "10" + }, + "5158": { + "fn": "EnumerableMap._get", + "offset": [ + 6403, + 6718 + ], + "op": "POP", + "path": "10" + }, + "5159": { + "fn": "EnumerableMap._get", + "jump": "o", + "offset": [ + 6403, + 6718 + ], + "op": "JUMP", + "path": "10" + }, + "5160": { + "fn": "ERC721._safeMint", + "offset": [ + 11677, + 11924 + ], + "op": "JUMPDEST", + "path": "3" + }, + "5161": { + "fn": "ERC721._safeMint", + "offset": [ + 11772, + 11790 + ], + "op": "PUSH2", + "path": "3", + "statement": 71, + "value": "0x1432" + }, + "5164": { + "fn": "ERC721._safeMint", + "offset": [ + 11778, + 11780 + ], + "op": "DUP4", + "path": "3" + }, + "5165": { + "fn": "ERC721._safeMint", + "offset": [ + 11782, + 11789 + ], + "op": "DUP4", + "path": "3" + }, + "5166": { + "fn": "ERC721._safeMint", + "offset": [ + 11772, + 11777 + ], + "op": "PUSH2", + "path": "3", + "value": "0x17B9" + }, + "5169": { + "fn": "ERC721._safeMint", + "jump": "i", + "offset": [ + 11772, + 11790 + ], + "op": "JUMP", + "path": "3" + }, + "5170": { + "fn": "ERC721._safeMint", + "offset": [ + 11772, + 11790 + ], + "op": "JUMPDEST", + "path": "3" + }, + "5171": { + "fn": "ERC721._safeMint", + "offset": [ + 11808, + 11862 + ], + "op": "PUSH2", + "path": "3", + "statement": 72, + "value": "0x143F" + }, + "5174": { + "fn": "ERC721._safeMint", + "offset": [ + 11839, + 11840 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "5176": { + "fn": "ERC721._safeMint", + "offset": [ + 11843, + 11845 + ], + "op": "DUP5", + "path": "3" + }, + "5177": { + "fn": "ERC721._safeMint", + "offset": [ + 11847, + 11854 + ], + "op": "DUP5", + "path": "3" + }, + "5178": { + "fn": "ERC721._safeMint", + "offset": [ + 11856, + 11861 + ], + "op": "DUP5", + "path": "3" + }, + "5179": { + "fn": "ERC721._safeMint", + "offset": [ + 11808, + 11830 + ], + "op": "PUSH2", + "path": "3", + "value": "0x147A" + }, + "5182": { + "fn": "ERC721._safeMint", + "jump": "i", + "offset": [ + 11808, + 11862 + ], + "op": "JUMP", + "path": "3" + }, + "5183": { + "branch": 122, + "fn": "ERC721._safeMint", + "offset": [ + 11808, + 11862 + ], + "op": "JUMPDEST", + "path": "3" + }, + "5184": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "PUSH2", + "path": "3", + "value": "0x751" + }, + "5187": { + "branch": 122, + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "JUMPI", + "path": "3" + }, + "5188": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "5190": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "MLOAD", + "path": "3" + }, + "5191": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5195": { + "op": "PUSH1", + "value": "0xE5" + }, + "5197": { + "op": "SHL" + }, + "5198": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "DUP2", + "path": "3" + }, + "5199": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "MSTORE", + "path": "3" + }, + "5200": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "5202": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "ADD", + "path": "3" + }, + "5203": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "DUP1", + "path": "3" + }, + "5204": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "DUP1", + "path": "3" + }, + "5205": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "5207": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "ADD", + "path": "3" + }, + "5208": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "DUP3", + "path": "3" + }, + "5209": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "DUP2", + "path": "3" + }, + "5210": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "SUB", + "path": "3" + }, + "5211": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "DUP3", + "path": "3" + }, + "5212": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "MSTORE", + "path": "3" + }, + "5213": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "PUSH1", + "path": "3", + "value": "0x32" + }, + "5215": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "DUP2", + "path": "3" + }, + "5216": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "MSTORE", + "path": "3" + }, + "5217": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "5219": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "ADD", + "path": "3" + }, + "5220": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "DUP1", + "path": "3" + }, + "5221": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1B40" + }, + "5224": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "PUSH1", + "path": "3", + "value": "0x32" + }, + "5226": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "SWAP2", + "path": "3" + }, + "5227": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "CODECOPY", + "path": "3" + }, + "5228": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "5230": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "ADD", + "path": "3" + }, + "5231": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "SWAP2", + "path": "3" + }, + "5232": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "POP", + "path": "3" + }, + "5233": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "POP", + "path": "3" + }, + "5234": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "5236": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "MLOAD", + "path": "3" + }, + "5237": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "DUP1", + "path": "3" + }, + "5238": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "SWAP2", + "path": "3" + }, + "5239": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "SUB", + "path": "3" + }, + "5240": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "SWAP1", + "path": "3" + }, + "5241": { + "fn": "ERC721._safeMint", + "offset": [ + 11800, + 11917 + ], + "op": "REVERT", + "path": "3" + }, + "5242": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15524, + 16113 + ], + "op": "JUMPDEST", + "path": "3" + }, + "5243": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15644, + 15648 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "5245": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15669, + 15684 + ], + "op": "PUSH2", + "path": "3", + "value": "0x148E" + }, + "5248": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15669, + 15671 + ], + "op": "DUP5", + "path": "3" + }, + "5249": { + "op": "PUSH1", + "value": "0x1" + }, + "5251": { + "op": "PUSH1", + "value": "0x1" + }, + "5253": { + "op": "PUSH1", + "value": "0xA0" + }, + "5255": { + "op": "SHL" + }, + "5256": { + "op": "SUB" + }, + "5257": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15669, + 15682 + ], + "op": "AND", + "path": "3" + }, + "5258": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15669, + 15682 + ], + "op": "PUSH2", + "path": "3", + "value": "0x18F3" + }, + "5261": { + "fn": "ERC721._checkOnERC721Received", + "jump": "i", + "offset": [ + 15669, + 15684 + ], + "op": "JUMP", + "path": "3" + }, + "5262": { + "branch": 123, + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15669, + 15684 + ], + "op": "JUMPDEST", + "path": "3" + }, + "5263": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15664, + 15722 + ], + "op": "PUSH2", + "path": "3", + "value": "0x149A" + }, + "5266": { + "branch": 123, + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15664, + 15722 + ], + "op": "JUMPI", + "path": "3" + }, + "5267": { + "op": "POP" + }, + "5268": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15707, + 15711 + ], + "op": "PUSH1", + "path": "3", + "statement": 73, + "value": "0x1" + }, + "5270": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15700, + 15711 + ], + "op": "PUSH2", + "path": "3", + "value": "0xEEE" + }, + "5273": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15700, + 15711 + ], + "op": "JUMP", + "path": "3" + }, + "5274": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15664, + 15722 + ], + "op": "JUMPDEST", + "path": "3" + }, + "5275": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15731, + 15754 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "5277": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH2", + "path": "3", + "value": "0x15C0" + }, + "5280": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "5285": { + "op": "PUSH1", + "value": "0xE1" + }, + "5287": { + "op": "SHL" + }, + "5288": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15868, + 15880 + ], + "op": "PUSH2", + "path": "3", + "value": "0x14AF" + }, + "5291": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15868, + 15878 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDD5" + }, + "5294": { + "fn": "ERC721._checkOnERC721Received", + "jump": "i", + "offset": [ + 15868, + 15880 + ], + "op": "JUMP", + "path": "3" + }, + "5295": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15868, + 15880 + ], + "op": "JUMPDEST", + "path": "3" + }, + "5296": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15894, + 15898 + ], + "op": "DUP9", + "path": "3" + }, + "5297": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15912, + 15919 + ], + "op": "DUP8", + "path": "3" + }, + "5298": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15933, + 15938 + ], + "op": "DUP8", + "path": "3" + }, + "5299": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "5301": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MLOAD", + "path": "3" + }, + "5302": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x24" + }, + "5304": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "5305": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP1", + "path": "3" + }, + "5306": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP6", + "path": "3" + }, + "5307": { + "op": "PUSH1", + "value": "0x1" + }, + "5309": { + "op": "PUSH1", + "value": "0x1" + }, + "5311": { + "op": "PUSH1", + "value": "0xA0" + }, + "5313": { + "op": "SHL" + }, + "5314": { + "op": "SUB" + }, + "5315": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "AND", + "path": "3" + }, + "5316": { + "op": "PUSH1", + "value": "0x1" + }, + "5318": { + "op": "PUSH1", + "value": "0x1" + }, + "5320": { + "op": "PUSH1", + "value": "0xA0" + }, + "5322": { + "op": "SHL" + }, + "5323": { + "op": "SUB" + }, + "5324": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "AND", + "path": "3" + }, + "5325": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "5326": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MSTORE", + "path": "3" + }, + "5327": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "5329": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "5330": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP5", + "path": "3" + }, + "5331": { + "op": "PUSH1", + "value": "0x1" + }, + "5333": { + "op": "PUSH1", + "value": "0x1" + }, + "5335": { + "op": "PUSH1", + "value": "0xA0" + }, + "5337": { + "op": "SHL" + }, + "5338": { + "op": "SUB" + }, + "5339": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "AND", + "path": "3" + }, + "5340": { + "op": "PUSH1", + "value": "0x1" + }, + "5342": { + "op": "PUSH1", + "value": "0x1" + }, + "5344": { + "op": "PUSH1", + "value": "0xA0" + }, + "5346": { + "op": "SHL" + }, + "5347": { + "op": "SUB" + }, + "5348": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "AND", + "path": "3" + }, + "5349": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "5350": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MSTORE", + "path": "3" + }, + "5351": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "5353": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "5354": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP4", + "path": "3" + }, + "5355": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "5356": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MSTORE", + "path": "3" + }, + "5357": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "5359": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "5360": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP1", + "path": "3" + }, + "5361": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "5363": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "5364": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP3", + "path": "3" + }, + "5365": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "5366": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SUB", + "path": "3" + }, + "5367": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP3", + "path": "3" + }, + "5368": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MSTORE", + "path": "3" + }, + "5369": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP4", + "path": "3" + }, + "5370": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "5371": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "5372": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MLOAD", + "path": "3" + }, + "5373": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "5374": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MSTORE", + "path": "3" + }, + "5375": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "5377": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "5378": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP2", + "path": "3" + }, + "5379": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5380": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP1", + "path": "3" + }, + "5381": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MLOAD", + "path": "3" + }, + "5382": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP1", + "path": "3" + }, + "5383": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "5385": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "5386": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP1", + "path": "3" + }, + "5387": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP1", + "path": "3" + }, + "5388": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP4", + "path": "3" + }, + "5389": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP4", + "path": "3" + }, + "5390": { + "op": "PUSH1", + "value": "0x0" + }, + "5392": { + "op": "JUMPDEST" + }, + "5393": { + "op": "DUP4" + }, + "5394": { + "op": "DUP2" + }, + "5395": { + "op": "LT" + }, + "5396": { + "op": "ISZERO" + }, + "5397": { + "op": "PUSH2", + "value": "0x1528" + }, + "5400": { + "op": "JUMPI" + }, + "5401": { + "op": "DUP2" + }, + "5402": { + "op": "DUP2" + }, + "5403": { + "op": "ADD" + }, + "5404": { + "op": "MLOAD" + }, + "5405": { + "op": "DUP4" + }, + "5406": { + "op": "DUP3" + }, + "5407": { + "op": "ADD" + }, + "5408": { + "op": "MSTORE" + }, + "5409": { + "op": "PUSH1", + "value": "0x20" + }, + "5411": { + "op": "ADD" + }, + "5412": { + "op": "PUSH2", + "value": "0x1510" + }, + "5415": { + "op": "JUMP" + }, + "5416": { + "op": "JUMPDEST" + }, + "5417": { + "op": "POP" + }, + "5418": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5419": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5420": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5421": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP1", + "path": "3" + }, + "5422": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5423": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP1", + "path": "3" + }, + "5424": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "5425": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "5426": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP1", + "path": "3" + }, + "5427": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "5429": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "AND", + "path": "3" + }, + "5430": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP1", + "path": "3" + }, + "5431": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ISZERO", + "path": "3" + }, + "5432": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1555" + }, + "5435": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "JUMPI", + "path": "3" + }, + "5436": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP1", + "path": "3" + }, + "5437": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP3", + "path": "3" + }, + "5438": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SUB", + "path": "3" + }, + "5439": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP1", + "path": "3" + }, + "5440": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MLOAD", + "path": "3" + }, + "5441": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "5443": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP4", + "path": "3" + }, + "5444": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "5446": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SUB", + "path": "3" + }, + "5447": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "5450": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "EXP", + "path": "3" + }, + "5451": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SUB", + "path": "3" + }, + "5452": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "NOT", + "path": "3" + }, + "5453": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "AND", + "path": "3" + }, + "5454": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "5455": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MSTORE", + "path": "3" + }, + "5456": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "5458": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "5459": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP2", + "path": "3" + }, + "5460": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5461": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "JUMPDEST", + "path": "3" + }, + "5462": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5463": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP6", + "path": "3" + }, + "5464": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5465": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5466": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5467": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5468": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5469": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5470": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "5472": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MLOAD", + "path": "3" + }, + "5473": { + "op": "PUSH1", + "value": "0x20" + }, + "5475": { + "op": "DUP2" + }, + "5476": { + "op": "DUP4" + }, + "5477": { + "op": "SUB" + }, + "5478": { + "op": "SUB" + }, + "5479": { + "op": "DUP2" + }, + "5480": { + "op": "MSTORE" + }, + "5481": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP1", + "path": "3" + }, + "5482": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "5484": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MSTORE", + "path": "3" + }, + "5485": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP1", + "path": "3" + }, + "5486": { + "op": "PUSH1", + "value": "0x1" + }, + "5488": { + "op": "PUSH1", + "value": "0x1" + }, + "5490": { + "op": "PUSH1", + "value": "0xE0" + }, + "5492": { + "op": "SHL" + }, + "5493": { + "op": "SUB" + }, + "5494": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "NOT", + "path": "3" + }, + "5495": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "AND", + "path": "3" + }, + "5496": { + "op": "PUSH1", + "value": "0x20" + }, + "5498": { + "op": "DUP3" + }, + "5499": { + "op": "ADD" + }, + "5500": { + "op": "DUP1" + }, + "5501": { + "op": "MLOAD" + }, + "5502": { + "op": "PUSH1", + "value": "0x1" + }, + "5504": { + "op": "PUSH1", + "value": "0x1" + }, + "5506": { + "op": "PUSH1", + "value": "0xE0" + }, + "5508": { + "op": "SHL" + }, + "5509": { + "op": "SUB" + }, + "5510": { + "op": "DUP4" + }, + "5511": { + "op": "DUP2" + }, + "5512": { + "op": "DUP4" + }, + "5513": { + "op": "AND" + }, + "5514": { + "op": "OR" + }, + "5515": { + "op": "DUP4" + }, + "5516": { + "op": "MSTORE" + }, + "5517": { + "op": "POP" + }, + "5518": { + "op": "POP" + }, + "5519": { + "op": "POP" + }, + "5520": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5521": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "5523": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "MLOAD", + "path": "3" + }, + "5524": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "DUP1", + "path": "3" + }, + "5525": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "5527": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "ADD", + "path": "3" + }, + "5528": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "5530": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "MSTORE", + "path": "3" + }, + "5531": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "DUP1", + "path": "3" + }, + "5532": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH1", + "path": "3", + "value": "0x32" + }, + "5534": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "DUP2", + "path": "3" + }, + "5535": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "MSTORE", + "path": "3" + }, + "5536": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "5538": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "ADD", + "path": "3" + }, + "5539": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1B40" + }, + "5542": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH1", + "path": "3", + "value": "0x32" + }, + "5544": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "SWAP2", + "path": "3" + }, + "5545": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "CODECOPY", + "path": "3" + }, + "5546": { + "op": "PUSH1", + "value": "0x1" + }, + "5548": { + "op": "PUSH1", + "value": "0x1" + }, + "5550": { + "op": "PUSH1", + "value": "0xA0" + }, + "5552": { + "op": "SHL" + }, + "5553": { + "op": "SUB" + }, + "5554": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 15772 + ], + "op": "DUP9", + "path": "3" + }, + "5555": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 15772 + ], + "op": "AND", + "path": "3" + }, + "5556": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 15772 + ], + "op": "SWAP2", + "path": "3" + }, + "5557": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "SWAP1", + "path": "3" + }, + "5558": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "5563": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 15772 + ], + "op": "PUSH2", + "path": "3", + "value": "0x18F9" + }, + "5566": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "AND", + "path": "3" + }, + "5567": { + "fn": "ERC721._checkOnERC721Received", + "jump": "i", + "offset": [ + 15757, + 16003 + ], + "op": "JUMP", + "path": "3" + }, + "5568": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "JUMPDEST", + "path": "3" + }, + "5569": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15731, + 16003 + ], + "op": "SWAP1", + "path": "3" + }, + "5570": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15731, + 16003 + ], + "op": "POP", + "path": "3" + }, + "5571": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16013, + 16026 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "5573": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16040, + 16050 + ], + "op": "DUP2", + "path": "3" + }, + "5574": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16029, + 16061 + ], + "op": "DUP1", + "path": "3" + }, + "5575": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16029, + 16061 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "5577": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16029, + 16061 + ], + "op": "ADD", + "path": "3" + }, + "5578": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16029, + 16061 + ], + "op": "SWAP1", + "path": "3" + }, + "5579": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16029, + 16061 + ], + "op": "MLOAD", + "path": "3" + }, + "5580": { + "op": "PUSH1", + "value": "0x20" + }, + "5582": { + "op": "DUP2" + }, + "5583": { + "op": "LT" + }, + "5584": { + "op": "ISZERO" + }, + "5585": { + "op": "PUSH2", + "value": "0x15D9" + }, + "5588": { + "op": "JUMPI" + }, + "5589": { + "op": "PUSH1", + "value": "0x0" + }, + "5591": { + "op": "DUP1" + }, + "5592": { + "op": "REVERT" + }, + "5593": { + "op": "JUMPDEST" + }, + "5594": { + "op": "POP" + }, + "5595": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16029, + 16061 + ], + "op": "MLOAD", + "path": "3" + }, + "5596": { + "op": "PUSH1", + "value": "0x1" + }, + "5598": { + "op": "PUSH1", + "value": "0x1" + }, + "5600": { + "op": "PUSH1", + "value": "0xE0" + }, + "5602": { + "op": "SHL" + }, + "5603": { + "op": "SUB" + }, + "5604": { + "op": "NOT" + }, + "5605": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16079, + 16105 + ], + "op": "AND", + "path": "3", + "statement": 74 + }, + "5606": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "5611": { + "op": "PUSH1", + "value": "0xE1" + }, + "5613": { + "op": "SHL" + }, + "5614": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16079, + 16105 + ], + "op": "EQ", + "path": "3" + }, + "5615": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16079, + 16105 + ], + "op": "SWAP3", + "path": "3" + }, + "5616": { + "op": "POP" + }, + "5617": { + "op": "POP" + }, + "5618": { + "op": "POP" + }, + "5619": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15524, + 16113 + ], + "op": "SWAP5", + "path": "3" + }, + "5620": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15524, + 16113 + ], + "op": "SWAP4", + "path": "3" + }, + "5621": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15524, + 16113 + ], + "op": "POP", + "path": "3" + }, + "5622": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15524, + 16113 + ], + "op": "POP", + "path": "3" + }, + "5623": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15524, + 16113 + ], + "op": "POP", + "path": "3" + }, + "5624": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15524, + 16113 + ], + "op": "POP", + "path": "3" + }, + "5625": { + "fn": "ERC721._checkOnERC721Received", + "jump": "o", + "offset": [ + 15524, + 16113 + ], + "op": "JUMP", + "path": "3" + }, + "5626": { + "fn": "EnumerableMap._contains", + "offset": [ + 4278, + 4401 + ], + "op": "JUMPDEST", + "path": "10" + }, + "5627": { + "fn": "EnumerableMap._contains", + "offset": [ + 4349, + 4353 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "5629": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "SWAP1", + "path": "10", + "statement": 75 + }, + "5630": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "DUP2", + "path": "10" + }, + "5631": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "MSTORE", + "path": "10" + }, + "5632": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4384 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "5634": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4384 + ], + "op": "SWAP2", + "path": "10" + }, + "5635": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4384 + ], + "op": "SWAP1", + "path": "10" + }, + "5636": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4384 + ], + "op": "SWAP2", + "path": "10" + }, + "5637": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4384 + ], + "op": "ADD", + "path": "10" + }, + "5638": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "5640": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "MSTORE", + "path": "10" + }, + "5641": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "5643": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "SWAP1", + "path": "10" + }, + "5644": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "KECCAK256", + "path": "10" + }, + "5645": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "SLOAD", + "path": "10" + }, + "5646": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4394 + ], + "op": "ISZERO", + "path": "10" + }, + "5647": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4394 + ], + "op": "ISZERO", + "path": "10" + }, + "5648": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4394 + ], + "op": "SWAP1", + "path": "10" + }, + "5649": { + "fn": "EnumerableMap._contains", + "jump": "o", + "offset": [ + 4278, + 4401 + ], + "op": "JUMP", + "path": "10" + }, + "5650": { + "fn": "EnumerableSet._remove", + "offset": [ + 2212, + 3724 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5651": { + "fn": "EnumerableSet._remove", + "offset": [ + 2278, + 2282 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5653": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "DUP2", + "path": "11" + }, + "5654": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "DUP2", + "path": "11" + }, + "5655": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "MSTORE", + "path": "11" + }, + "5656": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2427 + ], + "op": "PUSH1", + "path": "11", + "value": "0x1" + }, + "5658": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2427 + ], + "op": "DUP4", + "path": "11" + }, + "5659": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2427 + ], + "op": "ADD", + "path": "11" + }, + "5660": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "5662": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "MSTORE", + "path": "11" + }, + "5663": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "5665": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "DUP2", + "path": "11" + }, + "5666": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "KECCAK256", + "path": "11" + }, + "5667": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "SLOAD", + "path": "11" + }, + "5668": { + "fn": "EnumerableSet._remove", + "offset": [ + 2449, + 2464 + ], + "op": "DUP1", + "path": "11" + }, + "5669": { + "branch": 130, + "fn": "EnumerableSet._remove", + "offset": [ + 2449, + 2464 + ], + "op": "ISZERO", + "path": "11" + }, + "5670": { + "fn": "EnumerableSet._remove", + "offset": [ + 2445, + 3718 + ], + "op": "PUSH2", + "path": "11", + "value": "0x16CE" + }, + "5673": { + "branch": 130, + "fn": "EnumerableSet._remove", + "offset": [ + 2445, + 3718 + ], + "op": "JUMPI", + "path": "11" + }, + "5674": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2896 + ], + "op": "DUP4", + "path": "11" + }, + "5675": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2896 + ], + "op": "SLOAD", + "path": "11" + }, + "5676": { + "op": "PUSH1", + "value": "0x0" + }, + "5678": { + "op": "NOT" + }, + "5679": { + "fn": "EnumerableSet._remove", + "offset": [ + 2830, + 2844 + ], + "op": "DUP1", + "path": "11" + }, + "5680": { + "fn": "EnumerableSet._remove", + "offset": [ + 2830, + 2844 + ], + "op": "DUP4", + "path": "11" + }, + "5681": { + "fn": "EnumerableSet._remove", + "offset": [ + 2830, + 2844 + ], + "op": "ADD", + "path": "11" + }, + "5682": { + "fn": "EnumerableSet._remove", + "offset": [ + 2830, + 2844 + ], + "op": "SWAP2", + "path": "11" + }, + "5683": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2900 + ], + "op": "SWAP1", + "path": "11" + }, + "5684": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2900 + ], + "op": "DUP2", + "path": "11" + }, + "5685": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2900 + ], + "op": "ADD", + "path": "11" + }, + "5686": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2900 + ], + "op": "SWAP1", + "path": "11" + }, + "5687": { + "fn": "EnumerableSet._remove", + "offset": [ + 2806, + 2827 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5689": { + "fn": "EnumerableSet._remove", + "offset": [ + 2806, + 2827 + ], + "op": "SWAP1", + "path": "11" + }, + "5690": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2881 + ], + "op": "DUP8", + "path": "11" + }, + "5691": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2881 + ], + "op": "SWAP1", + "path": "11" + }, + "5692": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2900 + ], + "op": "DUP4", + "path": "11" + }, + "5693": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2900 + ], + "op": "SWAP1", + "path": "11" + }, + "5694": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "DUP2", + "path": "11" + }, + "5695": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "LT", + "path": "11" + }, + "5696": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "PUSH2", + "path": "11", + "value": "0x1645" + }, + "5699": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "JUMPI", + "path": "11" + }, + "5700": { + "dev": "Index out of range", + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "INVALID", + "path": "11" + }, + "5701": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5702": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "SWAP1", + "path": "11" + }, + "5703": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5705": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "MSTORE", + "path": "11" + }, + "5706": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "5708": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5710": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "KECCAK256", + "path": "11" + }, + "5711": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "ADD", + "path": "11" + }, + "5712": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "SLOAD", + "path": "11" + }, + "5713": { + "fn": "EnumerableSet._remove", + "offset": [ + 3140, + 3182 + ], + "op": "SWAP1", + "path": "11" + }, + "5714": { + "fn": "EnumerableSet._remove", + "offset": [ + 3140, + 3182 + ], + "op": "POP", + "path": "11" + }, + "5715": { + "fn": "EnumerableSet._remove", + "offset": [ + 3303, + 3312 + ], + "op": "DUP1", + "path": "11", + "statement": 76 + }, + "5716": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3277 + ], + "op": "DUP8", + "path": "11" + }, + "5717": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3285 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5719": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3285 + ], + "op": "ADD", + "path": "11" + }, + "5720": { + "fn": "EnumerableSet._remove", + "offset": [ + 3286, + 3299 + ], + "op": "DUP5", + "path": "11" + }, + "5721": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "DUP2", + "path": "11" + }, + "5722": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "SLOAD", + "path": "11" + }, + "5723": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "DUP2", + "path": "11" + }, + "5724": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "LT", + "path": "11" + }, + "5725": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "PUSH2", + "path": "11", + "value": "0x1662" + }, + "5728": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "JUMPI", + "path": "11" + }, + "5729": { + "dev": "Index out of range", + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "INVALID", + "path": "11" + }, + "5730": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5731": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5733": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "SWAP2", + "path": "11" + }, + "5734": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "DUP3", + "path": "11" + }, + "5735": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "MSTORE", + "path": "11" + }, + "5736": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "5738": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "DUP1", + "path": "11" + }, + "5739": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "DUP4", + "path": "11" + }, + "5740": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "KECCAK256", + "path": "11" + }, + "5741": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "SWAP1", + "path": "11" + }, + "5742": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "SWAP2", + "path": "11" + }, + "5743": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "ADD", + "path": "11" + }, + "5744": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3312 + ], + "op": "SWAP3", + "path": "11" + }, + "5745": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3312 + ], + "op": "SWAP1", + "path": "11" + }, + "5746": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3312 + ], + "op": "SWAP3", + "path": "11" + }, + "5747": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3312 + ], + "op": "SSTORE", + "path": "11" + }, + "5748": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "DUP3", + "path": "11", + "statement": 77 + }, + "5749": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "DUP2", + "path": "11" + }, + "5750": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "MSTORE", + "path": "11" + }, + "5751": { + "fn": "EnumerableSet._remove", + "offset": [ + 3420, + 3421 + ], + "op": "PUSH1", + "path": "11", + "value": "0x1" + }, + "5753": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3390 + ], + "op": "DUP10", + "path": "11" + }, + "5754": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3390 + ], + "op": "DUP2", + "path": "11" + }, + "5755": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3390 + ], + "op": "ADD", + "path": "11" + }, + "5756": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "SWAP1", + "path": "11" + }, + "5757": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "SWAP3", + "path": "11" + }, + "5758": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "MSTORE", + "path": "11" + }, + "5759": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "5761": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "SWAP1", + "path": "11" + }, + "5762": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "KECCAK256", + "path": "11" + }, + "5763": { + "fn": "EnumerableSet._remove", + "offset": [ + 3404, + 3421 + ], + "op": "SWAP1", + "path": "11" + }, + "5764": { + "fn": "EnumerableSet._remove", + "offset": [ + 3404, + 3421 + ], + "op": "DUP5", + "path": "11" + }, + "5765": { + "fn": "EnumerableSet._remove", + "offset": [ + 3404, + 3421 + ], + "op": "ADD", + "path": "11" + }, + "5766": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3421 + ], + "op": "SWAP1", + "path": "11" + }, + "5767": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3421 + ], + "op": "SSTORE", + "path": "11" + }, + "5768": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "DUP7", + "path": "11", + "statement": 78 + }, + "5769": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SLOAD", + "path": "11" + }, + "5770": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3381 + ], + "op": "DUP8", + "path": "11" + }, + "5771": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3381 + ], + "op": "SWAP1", + "path": "11" + }, + "5772": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "DUP1", + "path": "11" + }, + "5773": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "PUSH2", + "path": "11", + "value": "0x1692" + }, + "5776": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "JUMPI", + "path": "11" + }, + "5777": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "INVALID", + "path": "11" + }, + "5778": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5779": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "PUSH1", + "path": "11", + "value": "0x1" + }, + "5781": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SWAP1", + "path": "11" + }, + "5782": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SUB", + "path": "11" + }, + "5783": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "DUP2", + "path": "11" + }, + "5784": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "DUP2", + "path": "11" + }, + "5785": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SWAP1", + "path": "11" + }, + "5786": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5788": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "MSTORE", + "path": "11" + }, + "5789": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "5791": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5793": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "KECCAK256", + "path": "11" + }, + "5794": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "ADD", + "path": "11" + }, + "5795": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5797": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SWAP1", + "path": "11" + }, + "5798": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SSTORE", + "path": "11" + }, + "5799": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SWAP1", + "path": "11" + }, + "5800": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SSTORE", + "path": "11" + }, + "5801": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3622 + ], + "op": "DUP7", + "path": "11", + "statement": 79 + }, + "5802": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3631 + ], + "op": "PUSH1", + "path": "11", + "value": "0x1" + }, + "5804": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3631 + ], + "op": "ADD", + "path": "11" + }, + "5805": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5807": { + "fn": "EnumerableSet._remove", + "offset": [ + 3632, + 3637 + ], + "op": "DUP8", + "path": "11" + }, + "5808": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "DUP2", + "path": "11" + }, + "5809": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "MSTORE", + "path": "11" + }, + "5810": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "5812": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "ADD", + "path": "11" + }, + "5813": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "SWAP1", + "path": "11" + }, + "5814": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "DUP2", + "path": "11" + }, + "5815": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "MSTORE", + "path": "11" + }, + "5816": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "5818": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "ADD", + "path": "11" + }, + "5819": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5821": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "KECCAK256", + "path": "11" + }, + "5822": { + "fn": "EnumerableSet._remove", + "offset": [ + 3612, + 3638 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5824": { + "fn": "EnumerableSet._remove", + "offset": [ + 3612, + 3638 + ], + "op": "SWAP1", + "path": "11" + }, + "5825": { + "fn": "EnumerableSet._remove", + "offset": [ + 3612, + 3638 + ], + "op": "SSTORE", + "path": "11" + }, + "5826": { + "fn": "EnumerableSet._remove", + "offset": [ + 3660, + 3664 + ], + "op": "PUSH1", + "path": "11", + "statement": 80, + "value": "0x1" + }, + "5828": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "SWAP5", + "path": "11" + }, + "5829": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "POP", + "path": "11" + }, + "5830": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "POP", + "path": "11" + }, + "5831": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "POP", + "path": "11" + }, + "5832": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "POP", + "path": "11" + }, + "5833": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "POP", + "path": "11" + }, + "5834": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "PUSH2", + "path": "11", + "value": "0x7E9" + }, + "5837": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "JUMP", + "path": "11" + }, + "5838": { + "fn": "EnumerableSet._remove", + "offset": [ + 2445, + 3718 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5839": { + "fn": "EnumerableSet._remove", + "offset": [ + 3702, + 3707 + ], + "op": "PUSH1", + "path": "11", + "statement": 81, + "value": "0x0" + }, + "5841": { + "fn": "EnumerableSet._remove", + "offset": [ + 3695, + 3707 + ], + "op": "SWAP2", + "path": "11" + }, + "5842": { + "fn": "EnumerableSet._remove", + "offset": [ + 3695, + 3707 + ], + "op": "POP", + "path": "11" + }, + "5843": { + "fn": "EnumerableSet._remove", + "offset": [ + 3695, + 3707 + ], + "op": "POP", + "path": "11" + }, + "5844": { + "fn": "EnumerableSet._remove", + "offset": [ + 3695, + 3707 + ], + "op": "PUSH2", + "path": "11", + "value": "0x7E9" + }, + "5847": { + "fn": "EnumerableSet._remove", + "offset": [ + 3695, + 3707 + ], + "op": "JUMP", + "path": "11" + }, + "5848": { + "fn": "EnumerableSet._add", + "offset": [ + 1640, + 2044 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5849": { + "fn": "EnumerableSet._add", + "offset": [ + 1703, + 1707 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5851": { + "fn": "EnumerableSet._add", + "offset": [ + 1724, + 1745 + ], + "op": "PUSH2", + "path": "11", + "value": "0x16E4" + }, + "5854": { + "fn": "EnumerableSet._add", + "offset": [ + 1734, + 1737 + ], + "op": "DUP4", + "path": "11" + }, + "5855": { + "fn": "EnumerableSet._add", + "offset": [ + 1739, + 1744 + ], + "op": "DUP4", + "path": "11" + }, + "5856": { + "fn": "EnumerableSet._add", + "offset": [ + 1724, + 1733 + ], + "op": "PUSH2", + "path": "11", + "value": "0x15FA" + }, + "5859": { + "fn": "EnumerableSet._add", + "jump": "i", + "offset": [ + 1724, + 1745 + ], + "op": "JUMP", + "path": "11" + }, + "5860": { + "branch": 131, + "fn": "EnumerableSet._add", + "offset": [ + 1724, + 1745 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5861": { + "fn": "EnumerableSet._add", + "offset": [ + 1719, + 2038 + ], + "op": "PUSH2", + "path": "11", + "value": "0x171A" + }, + "5864": { + "branch": 131, + "fn": "EnumerableSet._add", + "offset": [ + 1719, + 2038 + ], + "op": "JUMPI", + "path": "11" + }, + "5865": { + "op": "POP" + }, + "5866": { + "op": "DUP2" + }, + "5867": { + "op": "SLOAD" + }, + "5868": { + "op": "PUSH1", + "value": "0x1" + }, + "5870": { + "op": "DUP2" + }, + "5871": { + "op": "DUP2" + }, + "5872": { + "op": "ADD" + }, + "5873": { + "op": "DUP5" + }, + "5874": { + "op": "SSTORE" + }, + "5875": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1772 + ], + "op": "PUSH1", + "path": "11", + "statement": 82, + "value": "0x0" + }, + "5877": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "DUP5", + "path": "11" + }, + "5878": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "DUP2", + "path": "11" + }, + "5879": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "MSTORE", + "path": "11" + }, + "5880": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "5882": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "DUP1", + "path": "11" + }, + "5883": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "DUP3", + "path": "11" + }, + "5884": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "KECCAK256", + "path": "11" + }, + "5885": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "SWAP1", + "path": "11" + }, + "5886": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "SWAP4", + "path": "11" + }, + "5887": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "ADD", + "path": "11" + }, + "5888": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "DUP5", + "path": "11" + }, + "5889": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "SWAP1", + "path": "11" + }, + "5890": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "SSTORE", + "path": "11" + }, + "5891": { + "fn": "EnumerableSet._add", + "offset": [ + 1941, + 1959 + ], + "op": "DUP5", + "path": "11", + "statement": 83 + }, + "5892": { + "fn": "EnumerableSet._add", + "offset": [ + 1941, + 1959 + ], + "op": "SLOAD", + "path": "11" + }, + "5893": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "DUP5", + "path": "11" + }, + "5894": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "DUP3", + "path": "11" + }, + "5895": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "MSTORE", + "path": "11" + }, + "5896": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1931 + ], + "op": "DUP3", + "path": "11" + }, + "5897": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1931 + ], + "op": "DUP7", + "path": "11" + }, + "5898": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1931 + ], + "op": "ADD", + "path": "11" + }, + "5899": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "SWAP1", + "path": "11" + }, + "5900": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "SWAP4", + "path": "11" + }, + "5901": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "MSTORE", + "path": "11" + }, + "5902": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "5904": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "SWAP1", + "path": "11" + }, + "5905": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "KECCAK256", + "path": "11" + }, + "5906": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1959 + ], + "op": "SWAP2", + "path": "11" + }, + "5907": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1959 + ], + "op": "SWAP1", + "path": "11" + }, + "5908": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1959 + ], + "op": "SWAP2", + "path": "11" + }, + "5909": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1959 + ], + "op": "SSTORE", + "path": "11" + }, + "5910": { + "fn": "EnumerableSet._add", + "offset": [ + 1973, + 1984 + ], + "op": "PUSH2", + "path": "11", + "statement": 84, + "value": "0x7E9" + }, + "5913": { + "fn": "EnumerableSet._add", + "offset": [ + 1973, + 1984 + ], + "op": "JUMP", + "path": "11" + }, + "5914": { + "fn": "EnumerableSet._add", + "offset": [ + 1719, + 2038 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5915": { + "op": "POP" + }, + "5916": { + "fn": "EnumerableSet._add", + "offset": [ + 2022, + 2027 + ], + "op": "PUSH1", + "path": "11", + "statement": 85, + "value": "0x0" + }, + "5918": { + "fn": "EnumerableSet._add", + "offset": [ + 2015, + 2027 + ], + "op": "PUSH2", + "path": "11", + "value": "0x7E9" + }, + "5921": { + "fn": "EnumerableSet._add", + "offset": [ + 2015, + 2027 + ], + "op": "JUMP", + "path": "11" + }, + "5922": { + "fn": "EnumerableMap._set", + "offset": [ + 1836, + 2514 + ], + "op": "JUMPDEST", + "path": "10" + }, + "5923": { + "fn": "EnumerableMap._set", + "offset": [ + 1912, + 1916 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "5925": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "DUP3", + "path": "10" + }, + "5926": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "DUP2", + "path": "10" + }, + "5927": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "MSTORE", + "path": "10" + }, + "5928": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2057 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "5930": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2057 + ], + "op": "DUP5", + "path": "10" + }, + "5931": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2057 + ], + "op": "ADD", + "path": "10" + }, + "5932": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "5934": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "MSTORE", + "path": "10" + }, + "5935": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "5937": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "DUP2", + "path": "10" + }, + "5938": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "KECCAK256", + "path": "10" + }, + "5939": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "SLOAD", + "path": "10" + }, + "5940": { + "branch": 128, + "fn": "EnumerableMap._set", + "offset": [ + 2077, + 2090 + ], + "op": "DUP1", + "path": "10" + }, + "5941": { + "fn": "EnumerableMap._set", + "offset": [ + 2073, + 2508 + ], + "op": "PUSH2", + "path": "10", + "value": "0x1787" + }, + "5944": { + "branch": 128, + "fn": "EnumerableMap._set", + "offset": [ + 2073, + 2508 + ], + "op": "JUMPI", + "path": "10" + }, + "5945": { + "op": "POP" + }, + "5946": { + "op": "POP" + }, + "5947": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "PUSH1", + "path": "10", + "statement": 86, + "value": "0x40" + }, + "5949": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP1", + "path": "10" + }, + "5950": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "MLOAD", + "path": "10" + }, + "5951": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP1", + "path": "10" + }, + "5952": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP3", + "path": "10" + }, + "5953": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "ADD", + "path": "10" + }, + "5954": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP3", + "path": "10" + }, + "5955": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "MSTORE", + "path": "10" + }, + "5956": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP4", + "path": "10" + }, + "5957": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP2", + "path": "10" + }, + "5958": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "MSTORE", + "path": "10" + }, + "5959": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "5961": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP1", + "path": "10" + }, + "5962": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP3", + "path": "10" + }, + "5963": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "ADD", + "path": "10" + }, + "5964": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP5", + "path": "10" + }, + "5965": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP2", + "path": "10" + }, + "5966": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "MSTORE", + "path": "10" + }, + "5967": { + "op": "DUP7" + }, + "5968": { + "op": "SLOAD" + }, + "5969": { + "op": "PUSH1", + "value": "0x1" + }, + "5971": { + "op": "DUP2" + }, + "5972": { + "op": "DUP2" + }, + "5973": { + "op": "ADD" + }, + "5974": { + "op": "DUP10" + }, + "5975": { + "op": "SSTORE" + }, + "5976": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2155 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "5978": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "DUP10", + "path": "10" + }, + "5979": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "DUP2", + "path": "10" + }, + "5980": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "MSTORE", + "path": "10" + }, + "5981": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "DUP5", + "path": "10" + }, + "5982": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "DUP2", + "path": "10" + }, + "5983": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "KECCAK256", + "path": "10" + }, + "5984": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP6", + "path": "10" + }, + "5985": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "MLOAD", + "path": "10" + }, + "5986": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "PUSH1", + "path": "10", + "value": "0x2" + }, + "5988": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP1", + "path": "10" + }, + "5989": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP4", + "path": "10" + }, + "5990": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "MUL", + "path": "10" + }, + "5991": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP1", + "path": "10" + }, + "5992": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP6", + "path": "10" + }, + "5993": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "ADD", + "path": "10" + }, + "5994": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP2", + "path": "10" + }, + "5995": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "DUP3", + "path": "10" + }, + "5996": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SSTORE", + "path": "10" + }, + "5997": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP2", + "path": "10" + }, + "5998": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "MLOAD", + "path": "10" + }, + "5999": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP1", + "path": "10" + }, + "6000": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "DUP3", + "path": "10" + }, + "6001": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "ADD", + "path": "10" + }, + "6002": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SSTORE", + "path": "10" + }, + "6003": { + "fn": "EnumerableMap._set", + "offset": [ + 2355, + 2374 + ], + "op": "DUP7", + "path": "10", + "statement": 87 + }, + "6004": { + "fn": "EnumerableMap._set", + "offset": [ + 2355, + 2374 + ], + "op": "SLOAD", + "path": "10" + }, + "6005": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "DUP7", + "path": "10" + }, + "6006": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "DUP5", + "path": "10" + }, + "6007": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "MSTORE", + "path": "10" + }, + "6008": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2347 + ], + "op": "DUP2", + "path": "10" + }, + "6009": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2347 + ], + "op": "DUP9", + "path": "10" + }, + "6010": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2347 + ], + "op": "ADD", + "path": "10" + }, + "6011": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "SWAP1", + "path": "10" + }, + "6012": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "SWAP3", + "path": "10" + }, + "6013": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "MSTORE", + "path": "10" + }, + "6014": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "SWAP3", + "path": "10" + }, + "6015": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "SWAP1", + "path": "10" + }, + "6016": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "SWAP2", + "path": "10" + }, + "6017": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "KECCAK256", + "path": "10" + }, + "6018": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2374 + ], + "op": "SSTORE", + "path": "10" + }, + "6019": { + "fn": "EnumerableMap._set", + "offset": [ + 2388, + 2399 + ], + "op": "PUSH2", + "path": "10", + "statement": 88, + "value": "0x108C" + }, + "6022": { + "fn": "EnumerableMap._set", + "offset": [ + 2388, + 2399 + ], + "op": "JUMP", + "path": "10" + }, + "6023": { + "fn": "EnumerableMap._set", + "offset": [ + 2073, + 2508 + ], + "op": "JUMPDEST", + "path": "10" + }, + "6024": { + "fn": "EnumerableMap._set", + "offset": [ + 2466, + 2471 + ], + "op": "DUP3", + "path": "10", + "statement": 89 + }, + "6025": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2433 + ], + "op": "DUP6", + "path": "10" + }, + "6026": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2442 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "6028": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2442 + ], + "op": "ADD", + "path": "10" + }, + "6029": { + "fn": "EnumerableMap._set", + "offset": [ + 2454, + 2455 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "6031": { + "fn": "EnumerableMap._set", + "offset": [ + 2443, + 2451 + ], + "op": "DUP4", + "path": "10" + }, + "6032": { + "fn": "EnumerableMap._set", + "offset": [ + 2443, + 2455 + ], + "op": "SUB", + "path": "10" + }, + "6033": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "DUP2", + "path": "10" + }, + "6034": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "SLOAD", + "path": "10" + }, + "6035": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "DUP2", + "path": "10" + }, + "6036": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "LT", + "path": "10" + }, + "6037": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "PUSH2", + "path": "10", + "value": "0x179A" + }, + "6040": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "JUMPI", + "path": "10" + }, + "6041": { + "dev": "Index out of range", + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "INVALID", + "path": "10" + }, + "6042": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "JUMPDEST", + "path": "10" + }, + "6043": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "SWAP1", + "path": "10" + }, + "6044": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "6046": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "MSTORE", + "path": "10" + }, + "6047": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "6049": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "6051": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "KECCAK256", + "path": "10" + }, + "6052": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "SWAP1", + "path": "10" + }, + "6053": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "PUSH1", + "path": "10", + "value": "0x2" + }, + "6055": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "MUL", + "path": "10" + }, + "6056": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "ADD", + "path": "10" + }, + "6057": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2463 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "6059": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2463 + ], + "op": "ADD", + "path": "10" + }, + "6060": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2471 + ], + "op": "DUP2", + "path": "10" + }, + "6061": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2471 + ], + "op": "SWAP1", + "path": "10" + }, + "6062": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2471 + ], + "op": "SSTORE", + "path": "10" + }, + "6063": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2471 + ], + "op": "POP", + "path": "10" + }, + "6064": { + "fn": "EnumerableMap._set", + "offset": [ + 2492, + 2497 + ], + "op": "PUSH1", + "path": "10", + "statement": 90, + "value": "0x0" + }, + "6066": { + "fn": "EnumerableMap._set", + "offset": [ + 2485, + 2497 + ], + "op": "SWAP2", + "path": "10" + }, + "6067": { + "fn": "EnumerableMap._set", + "offset": [ + 2485, + 2497 + ], + "op": "POP", + "path": "10" + }, + "6068": { + "fn": "EnumerableMap._set", + "offset": [ + 2485, + 2497 + ], + "op": "POP", + "path": "10" + }, + "6069": { + "fn": "EnumerableMap._set", + "offset": [ + 2485, + 2497 + ], + "op": "PUSH2", + "path": "10", + "value": "0x108C" + }, + "6072": { + "fn": "EnumerableMap._set", + "offset": [ + 2485, + 2497 + ], + "op": "JUMP", + "path": "10" + }, + "6073": { + "fn": "ERC721._mint", + "offset": [ + 12246, + 12639 + ], + "op": "JUMPDEST", + "path": "3" + }, + "6074": { + "op": "PUSH1", + "value": "0x1" + }, + "6076": { + "op": "PUSH1", + "value": "0x1" + }, + "6078": { + "op": "PUSH1", + "value": "0xA0" + }, + "6080": { + "op": "SHL" + }, + "6081": { + "op": "SUB" + }, + "6082": { + "fn": "ERC721._mint", + "offset": [ + 12325, + 12341 + ], + "op": "DUP3", + "path": "3", + "statement": 91 + }, + "6083": { + "branch": 124, + "fn": "ERC721._mint", + "offset": [ + 12325, + 12341 + ], + "op": "AND", + "path": "3" + }, + "6084": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1814" + }, + "6087": { + "branch": 124, + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "JUMPI", + "path": "3" + }, + "6088": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "6090": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "DUP1", + "path": "3" + }, + "6091": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "MLOAD", + "path": "3" + }, + "6092": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "6096": { + "op": "PUSH1", + "value": "0xE5" + }, + "6098": { + "op": "SHL" + }, + "6099": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "DUP2", + "path": "3" + }, + "6100": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "MSTORE", + "path": "3" + }, + "6101": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "6103": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "6105": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "DUP3", + "path": "3" + }, + "6106": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "ADD", + "path": "3" + }, + "6107": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "DUP2", + "path": "3" + }, + "6108": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "SWAP1", + "path": "3" + }, + "6109": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "MSTORE", + "path": "3" + }, + "6110": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "PUSH1", + "path": "3", + "value": "0x24" + }, + "6112": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "DUP3", + "path": "3" + }, + "6113": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "ADD", + "path": "3" + }, + "6114": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "MSTORE", + "path": "3" + }, + "6115": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "PUSH32", + "path": "3", + "value": "0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373" + }, + "6148": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "PUSH1", + "path": "3", + "value": "0x44" + }, + "6150": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "DUP3", + "path": "3" + }, + "6151": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "ADD", + "path": "3" + }, + "6152": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "MSTORE", + "path": "3" + }, + "6153": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "SWAP1", + "path": "3" + }, + "6154": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "MLOAD", + "path": "3" + }, + "6155": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "SWAP1", + "path": "3" + }, + "6156": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "DUP2", + "path": "3" + }, + "6157": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "SWAP1", + "path": "3" + }, + "6158": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "SUB", + "path": "3" + }, + "6159": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "PUSH1", + "path": "3", + "value": "0x64" + }, + "6161": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "ADD", + "path": "3" + }, + "6162": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "SWAP1", + "path": "3" + }, + "6163": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "REVERT", + "path": "3" + }, + "6164": { + "fn": "ERC721._mint", + "offset": [ + 12317, + 12378 + ], + "op": "JUMPDEST", + "path": "3" + }, + "6165": { + "fn": "ERC721._mint", + "offset": [ + 12397, + 12413 + ], + "op": "PUSH2", + "path": "3", + "statement": 92, + "value": "0x181D" + }, + "6168": { + "fn": "ERC721._mint", + "offset": [ + 12405, + 12412 + ], + "op": "DUP2", + "path": "3" + }, + "6169": { + "fn": "ERC721._mint", + "offset": [ + 12397, + 12404 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDC2" + }, + "6172": { + "fn": "ERC721._mint", + "jump": "i", + "offset": [ + 12397, + 12413 + ], + "op": "JUMP", + "path": "3" + }, + "6173": { + "fn": "ERC721._mint", + "offset": [ + 12397, + 12413 + ], + "op": "JUMPDEST", + "path": "3" + }, + "6174": { + "branch": 125, + "fn": "ERC721._mint", + "offset": [ + 12396, + 12413 + ], + "op": "ISZERO", + "path": "3" + }, + "6175": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "PUSH2", + "path": "3", + "value": "0x186F" + }, + "6178": { + "branch": 125, + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "JUMPI", + "path": "3" + }, + "6179": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "6181": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "DUP1", + "path": "3" + }, + "6182": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "MLOAD", + "path": "3" + }, + "6183": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "6187": { + "op": "PUSH1", + "value": "0xE5" + }, + "6189": { + "op": "SHL" + }, + "6190": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "DUP2", + "path": "3" + }, + "6191": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "MSTORE", + "path": "3" + }, + "6192": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "6194": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "6196": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "DUP3", + "path": "3" + }, + "6197": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "ADD", + "path": "3" + }, + "6198": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "MSTORE", + "path": "3" + }, + "6199": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1C" + }, + "6201": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "PUSH1", + "path": "3", + "value": "0x24" + }, + "6203": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "DUP3", + "path": "3" + }, + "6204": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "ADD", + "path": "3" + }, + "6205": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "MSTORE", + "path": "3" + }, + "6206": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "PUSH32", + "path": "3", + "value": "0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000" + }, + "6239": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "PUSH1", + "path": "3", + "value": "0x44" + }, + "6241": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "DUP3", + "path": "3" + }, + "6242": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "ADD", + "path": "3" + }, + "6243": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "MSTORE", + "path": "3" + }, + "6244": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "SWAP1", + "path": "3" + }, + "6245": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "MLOAD", + "path": "3" + }, + "6246": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "SWAP1", + "path": "3" + }, + "6247": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "DUP2", + "path": "3" + }, + "6248": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "SWAP1", + "path": "3" + }, + "6249": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "SUB", + "path": "3" + }, + "6250": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "PUSH1", + "path": "3", + "value": "0x64" + }, + "6252": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "ADD", + "path": "3" + }, + "6253": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "SWAP1", + "path": "3" + }, + "6254": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "REVERT", + "path": "3" + }, + "6255": { + "fn": "ERC721._mint", + "offset": [ + 12388, + 12446 + ], + "op": "JUMPDEST", + "path": "3" + }, + "6256": { + "fn": "ERC721._mint", + "offset": [ + 12457, + 12502 + ], + "op": "PUSH2", + "path": "3", + "statement": 93, + "value": "0x187B" + }, + "6259": { + "fn": "ERC721._mint", + "offset": [ + 12486, + 12487 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "6261": { + "fn": "ERC721._mint", + "offset": [ + 12490, + 12492 + ], + "op": "DUP4", + "path": "3" + }, + "6262": { + "fn": "ERC721._mint", + "offset": [ + 12494, + 12501 + ], + "op": "DUP4", + "path": "3" + }, + "6263": { + "fn": "ERC721._mint", + "offset": [ + 12457, + 12477 + ], + "op": "PUSH2", + "path": "3", + "value": "0x751" + }, + "6266": { + "fn": "ERC721._mint", + "jump": "i", + "offset": [ + 12457, + 12502 + ], + "op": "JUMP", + "path": "3" + }, + "6267": { + "fn": "ERC721._mint", + "offset": [ + 12457, + 12502 + ], + "op": "JUMPDEST", + "path": "3" + }, + "6268": { + "op": "PUSH1", + "value": "0x1" + }, + "6270": { + "op": "PUSH1", + "value": "0x1" + }, + "6272": { + "op": "PUSH1", + "value": "0xA0" + }, + "6274": { + "op": "SHL" + }, + "6275": { + "op": "SUB" + }, + "6276": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12530 + ], + "op": "DUP3", + "path": "3", + "statement": 94 + }, + "6277": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12530 + ], + "op": "AND", + "path": "3" + }, + "6278": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12530 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "6280": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12530 + ], + "op": "SWAP1", + "path": "3" + }, + "6281": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12530 + ], + "op": "DUP2", + "path": "3" + }, + "6282": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12530 + ], + "op": "MSTORE", + "path": "3" + }, + "6283": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12526 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "6285": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12530 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "6287": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12530 + ], + "op": "MSTORE", + "path": "3" + }, + "6288": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12530 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "6290": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12530 + ], + "op": "SWAP1", + "path": "3" + }, + "6291": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12530 + ], + "op": "KECCAK256", + "path": "3" + }, + "6292": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12543 + ], + "op": "PUSH2", + "path": "3", + "value": "0x18A3" + }, + "6295": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12543 + ], + "op": "SWAP1", + "path": "3" + }, + "6296": { + "fn": "ERC721._mint", + "offset": [ + 12535, + 12542 + ], + "op": "DUP3", + "path": "3" + }, + "6297": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12543 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "6302": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12534 + ], + "op": "PUSH2", + "path": "3", + "value": "0x125D" + }, + "6305": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12543 + ], + "op": "AND", + "path": "3" + }, + "6306": { + "fn": "ERC721._mint", + "jump": "i", + "offset": [ + 12513, + 12543 + ], + "op": "JUMP", + "path": "3" + }, + "6307": { + "fn": "ERC721._mint", + "offset": [ + 12513, + 12543 + ], + "op": "JUMPDEST", + "path": "3" + }, + "6308": { + "op": "POP" + }, + "6309": { + "fn": "ERC721._mint", + "offset": [ + 12554, + 12583 + ], + "op": "PUSH2", + "path": "3", + "statement": 95, + "value": "0x18B6" + }, + "6312": { + "fn": "ERC721._mint", + "offset": [ + 12554, + 12566 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "6314": { + "fn": "ERC721._mint", + "offset": [ + 12571, + 12578 + ], + "op": "DUP3", + "path": "3" + }, + "6315": { + "fn": "ERC721._mint", + "offset": [ + 12580, + 12582 + ], + "op": "DUP5", + "path": "3" + }, + "6316": { + "fn": "ERC721._mint", + "offset": [ + 12554, + 12583 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "6321": { + "fn": "ERC721._mint", + "offset": [ + 12554, + 12570 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1269" + }, + "6324": { + "fn": "ERC721._mint", + "offset": [ + 12554, + 12583 + ], + "op": "AND", + "path": "3" + }, + "6325": { + "fn": "ERC721._mint", + "jump": "i", + "offset": [ + 12554, + 12583 + ], + "op": "JUMP", + "path": "3" + }, + "6326": { + "fn": "ERC721._mint", + "offset": [ + 12554, + 12583 + ], + "op": "JUMPDEST", + "path": "3" + }, + "6327": { + "op": "POP" + }, + "6328": { + "fn": "ERC721._mint", + "offset": [ + 12599, + 12632 + ], + "op": "PUSH1", + "path": "3", + "statement": 96, + "value": "0x40" + }, + "6330": { + "fn": "ERC721._mint", + "offset": [ + 12599, + 12632 + ], + "op": "MLOAD", + "path": "3" + }, + "6331": { + "fn": "ERC721._mint", + "offset": [ + 12624, + 12631 + ], + "op": "DUP2", + "path": "3" + }, + "6332": { + "fn": "ERC721._mint", + "offset": [ + 12624, + 12631 + ], + "op": "SWAP1", + "path": "3" + }, + "6333": { + "op": "PUSH1", + "value": "0x1" + }, + "6335": { + "op": "PUSH1", + "value": "0x1" + }, + "6337": { + "op": "PUSH1", + "value": "0xA0" + }, + "6339": { + "op": "SHL" + }, + "6340": { + "op": "SUB" + }, + "6341": { + "fn": "ERC721._mint", + "offset": [ + 12599, + 12632 + ], + "op": "DUP5", + "path": "3" + }, + "6342": { + "fn": "ERC721._mint", + "offset": [ + 12599, + 12632 + ], + "op": "AND", + "path": "3" + }, + "6343": { + "fn": "ERC721._mint", + "offset": [ + 12599, + 12632 + ], + "op": "SWAP1", + "path": "3" + }, + "6344": { + "fn": "ERC721._mint", + "offset": [ + 12616, + 12617 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "6346": { + "fn": "ERC721._mint", + "offset": [ + 12616, + 12617 + ], + "op": "SWAP1", + "path": "3" + }, + "6347": { + "fn": "ERC721._mint", + "offset": [ + 12599, + 12632 + ], + "op": "PUSH32", + "path": "3", + "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + "6380": { + "fn": "ERC721._mint", + "offset": [ + 12599, + 12632 + ], + "op": "SWAP1", + "path": "3" + }, + "6381": { + "fn": "ERC721._mint", + "offset": [ + 12616, + 12617 + ], + "op": "DUP3", + "path": "3" + }, + "6382": { + "fn": "ERC721._mint", + "offset": [ + 12616, + 12617 + ], + "op": "SWAP1", + "path": "3" + }, + "6383": { + "fn": "ERC721._mint", + "offset": [ + 12599, + 12632 + ], + "op": "LOG4", + "path": "3" + }, + "6384": { + "fn": "ERC721._mint", + "offset": [ + 12246, + 12639 + ], + "op": "POP", + "path": "3" + }, + "6385": { + "fn": "ERC721._mint", + "offset": [ + 12246, + 12639 + ], + "op": "POP", + "path": "3" + }, + "6386": { + "fn": "ERC721._mint", + "jump": "o", + "offset": [ + 12246, + 12639 + ], + "op": "JUMP", + "path": "3" + }, + "6387": { + "fn": "Address.isContract", + "offset": [ + 726, + 1139 + ], + "op": "JUMPDEST", + "path": "8" + }, + "6388": { + "fn": "Address.isContract", + "offset": [ + 1086, + 1106 + ], + "op": "EXTCODESIZE", + "path": "8" + }, + "6389": { + "fn": "Address.isContract", + "offset": [ + 1124, + 1132 + ], + "op": "ISZERO", + "path": "8", + "statement": 97 + }, + "6390": { + "fn": "Address.isContract", + "offset": [ + 1124, + 1132 + ], + "op": "ISZERO", + "path": "8" + }, + "6391": { + "fn": "Address.isContract", + "offset": [ + 1124, + 1132 + ], + "op": "SWAP1", + "path": "8" + }, + "6392": { + "fn": "Address.isContract", + "jump": "o", + "offset": [ + 726, + 1139 + ], + "op": "JUMP", + "path": "8" + }, + "6393": { + "fn": "Address.functionCall", + "offset": [ + 3581, + 3774 + ], + "op": "JUMPDEST", + "path": "8" + }, + "6394": { + "fn": "Address.functionCall", + "offset": [ + 3684, + 3696 + ], + "op": "PUSH1", + "path": "8", + "value": "0x60" + }, + "6396": { + "fn": "Address.functionCall", + "offset": [ + 3715, + 3767 + ], + "op": "PUSH2", + "path": "8", + "statement": 98, + "value": "0x1089" + }, + "6399": { + "fn": "Address.functionCall", + "offset": [ + 3737, + 3743 + ], + "op": "DUP5", + "path": "8" + }, + "6400": { + "fn": "Address.functionCall", + "offset": [ + 3745, + 3749 + ], + "op": "DUP5", + "path": "8" + }, + "6401": { + "fn": "Address.functionCall", + "offset": [ + 3751, + 3752 + ], + "op": "PUSH1", + "path": "8", + "value": "0x0" + }, + "6403": { + "fn": "Address.functionCall", + "offset": [ + 3754, + 3766 + ], + "op": "DUP6", + "path": "8" + }, + "6404": { + "fn": "Address.functionCall", + "offset": [ + 3684, + 3696 + ], + "op": "DUP6", + "path": "8" + }, + "6405": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4858, + 4876 + ], + "op": "PUSH2", + "path": "8", + "statement": 99, + "value": "0x190D" + }, + "6408": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4869, + 4875 + ], + "op": "DUP6", + "path": "8" + }, + "6409": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4858, + 4868 + ], + "op": "PUSH2", + "path": "8", + "value": "0x18F3" + }, + "6412": { + "fn": "Address.functionCallWithValue", + "jump": "i", + "offset": [ + 4858, + 4876 + ], + "op": "JUMP", + "path": "8" + }, + "6413": { + "branch": 103, + "fn": "Address.functionCallWithValue", + "offset": [ + 4858, + 4876 + ], + "op": "JUMPDEST", + "path": "8" + }, + "6414": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH2", + "path": "8", + "value": "0x195E" + }, + "6417": { + "branch": 103, + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "JUMPI", + "path": "8" + }, + "6418": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH1", + "path": "8", + "value": "0x40" + }, + "6420": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "DUP1", + "path": "8" + }, + "6421": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "MLOAD", + "path": "8" + }, + "6422": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "6426": { + "op": "PUSH1", + "value": "0xE5" + }, + "6428": { + "op": "SHL" + }, + "6429": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "DUP2", + "path": "8" + }, + "6430": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "MSTORE", + "path": "8" + }, + "6431": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH1", + "path": "8", + "value": "0x20" + }, + "6433": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH1", + "path": "8", + "value": "0x4" + }, + "6435": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "DUP3", + "path": "8" + }, + "6436": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "ADD", + "path": "8" + }, + "6437": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "MSTORE", + "path": "8" + }, + "6438": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH1", + "path": "8", + "value": "0x1D" + }, + "6440": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH1", + "path": "8", + "value": "0x24" + }, + "6442": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "DUP3", + "path": "8" + }, + "6443": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "ADD", + "path": "8" + }, + "6444": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "MSTORE", + "path": "8" + }, + "6445": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH32", + "path": "8", + "value": "0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000" + }, + "6478": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH1", + "path": "8", + "value": "0x44" + }, + "6480": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "DUP3", + "path": "8" + }, + "6481": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "ADD", + "path": "8" + }, + "6482": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "MSTORE", + "path": "8" + }, + "6483": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "SWAP1", + "path": "8" + }, + "6484": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "MLOAD", + "path": "8" + }, + "6485": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "SWAP1", + "path": "8" + }, + "6486": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "DUP2", + "path": "8" + }, + "6487": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "SWAP1", + "path": "8" + }, + "6488": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "SUB", + "path": "8" + }, + "6489": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH1", + "path": "8", + "value": "0x64" + }, + "6491": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "ADD", + "path": "8" + }, + "6492": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "SWAP1", + "path": "8" + }, + "6493": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "REVERT", + "path": "8" + }, + "6494": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "JUMPDEST", + "path": "8" + }, + "6495": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4981, + 4993 + ], + "op": "PUSH1", + "path": "8", + "value": "0x0" + }, + "6497": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4995, + 5018 + ], + "op": "PUSH1", + "path": "8", + "value": "0x60" + }, + "6499": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5028 + ], + "op": "DUP7", + "path": "8" + }, + "6500": { + "op": "PUSH1", + "value": "0x1" + }, + "6502": { + "op": "PUSH1", + "value": "0x1" + }, + "6504": { + "op": "PUSH1", + "value": "0xA0" + }, + "6506": { + "op": "SHL" + }, + "6507": { + "op": "SUB" + }, + "6508": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5033 + ], + "op": "AND", + "path": "8" + }, + "6509": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5042, + 5047 + ], + "op": "DUP6", + "path": "8" + }, + "6510": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5050, + 5054 + ], + "op": "DUP8", + "path": "8" + }, + "6511": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "PUSH1", + "path": "8", + "value": "0x40" + }, + "6513": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "MLOAD", + "path": "8" + }, + "6514": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP1", + "path": "8" + }, + "6515": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP3", + "path": "8" + }, + "6516": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP1", + "path": "8" + }, + "6517": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "MLOAD", + "path": "8" + }, + "6518": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "SWAP1", + "path": "8" + }, + "6519": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "PUSH1", + "path": "8", + "value": "0x20" + }, + "6521": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "ADD", + "path": "8" + }, + "6522": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "SWAP1", + "path": "8" + }, + "6523": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP1", + "path": "8" + }, + "6524": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP4", + "path": "8" + }, + "6525": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP4", + "path": "8" + }, + "6526": { + "op": "JUMPDEST" + }, + "6527": { + "op": "PUSH1", + "value": "0x20" + }, + "6529": { + "op": "DUP4" + }, + "6530": { + "op": "LT" + }, + "6531": { + "op": "PUSH2", + "value": "0x199D" + }, + "6534": { + "op": "JUMPI" + }, + "6535": { + "op": "DUP1" + }, + "6536": { + "op": "MLOAD" + }, + "6537": { + "op": "DUP3" + }, + "6538": { + "op": "MSTORE" + }, + "6539": { + "op": "PUSH1", + "value": "0x1F" + }, + "6541": { + "op": "NOT" + }, + "6542": { + "op": "SWAP1" + }, + "6543": { + "op": "SWAP3" + }, + "6544": { + "op": "ADD" + }, + "6545": { + "op": "SWAP2" + }, + "6546": { + "op": "PUSH1", + "value": "0x20" + }, + "6548": { + "op": "SWAP2" + }, + "6549": { + "op": "DUP3" + }, + "6550": { + "op": "ADD" + }, + "6551": { + "op": "SWAP2" + }, + "6552": { + "op": "ADD" + }, + "6553": { + "op": "PUSH2", + "value": "0x197E" + }, + "6556": { + "op": "JUMP" + }, + "6557": { + "op": "JUMPDEST" + }, + "6558": { + "op": "PUSH1", + "value": "0x1" + }, + "6560": { + "op": "DUP4" + }, + "6561": { + "op": "PUSH1", + "value": "0x20" + }, + "6563": { + "op": "SUB" + }, + "6564": { + "op": "PUSH2", + "value": "0x100" + }, + "6567": { + "op": "EXP" + }, + "6568": { + "op": "SUB" + }, + "6569": { + "op": "DUP1" + }, + "6570": { + "op": "NOT" + }, + "6571": { + "op": "DUP3" + }, + "6572": { + "op": "MLOAD" + }, + "6573": { + "op": "AND" + }, + "6574": { + "op": "DUP2" + }, + "6575": { + "op": "DUP5" + }, + "6576": { + "op": "MLOAD" + }, + "6577": { + "op": "AND" + }, + "6578": { + "op": "DUP1" + }, + "6579": { + "op": "DUP3" + }, + "6580": { + "op": "OR" + }, + "6581": { + "op": "DUP6" + }, + "6582": { + "op": "MSTORE" + }, + "6583": { + "op": "POP" + }, + "6584": { + "op": "POP" + }, + "6585": { + "op": "POP" + }, + "6586": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "6587": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "6588": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "6589": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "SWAP1", + "path": "8" + }, + "6590": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "6591": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "ADD", + "path": "8" + }, + "6592": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "SWAP2", + "path": "8" + }, + "6593": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "6594": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "6595": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "PUSH1", + "path": "8", + "value": "0x0" + }, + "6597": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "PUSH1", + "path": "8", + "value": "0x40" + }, + "6599": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "MLOAD", + "path": "8" + }, + "6600": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP1", + "path": "8" + }, + "6601": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP4", + "path": "8" + }, + "6602": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "SUB", + "path": "8" + }, + "6603": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP2", + "path": "8" + }, + "6604": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP6", + "path": "8" + }, + "6605": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP8", + "path": "8" + }, + "6606": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "GAS", + "path": "8" + }, + "6607": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "CALL", + "path": "8" + }, + "6608": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "SWAP3", + "path": "8" + }, + "6609": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "6610": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "6611": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "6612": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "RETURNDATASIZE", + "path": "8" + }, + "6613": { + "op": "DUP1" + }, + "6614": { + "op": "PUSH1", + "value": "0x0" + }, + "6616": { + "op": "DUP2" + }, + "6617": { + "op": "EQ" + }, + "6618": { + "op": "PUSH2", + "value": "0x19FF" + }, + "6621": { + "op": "JUMPI" + }, + "6622": { + "op": "PUSH1", + "value": "0x40" + }, + "6624": { + "op": "MLOAD" + }, + "6625": { + "op": "SWAP2" + }, + "6626": { + "op": "POP" + }, + "6627": { + "op": "PUSH1", + "value": "0x1F" + }, + "6629": { + "op": "NOT" + }, + "6630": { + "op": "PUSH1", + "value": "0x3F" + }, + "6632": { + "op": "RETURNDATASIZE" + }, + "6633": { + "op": "ADD" + }, + "6634": { + "op": "AND" + }, + "6635": { + "op": "DUP3" + }, + "6636": { + "op": "ADD" + }, + "6637": { + "op": "PUSH1", + "value": "0x40" + }, + "6639": { + "op": "MSTORE" + }, + "6640": { + "op": "RETURNDATASIZE" + }, + "6641": { + "op": "DUP3" + }, + "6642": { + "op": "MSTORE" + }, + "6643": { + "op": "RETURNDATASIZE" + }, + "6644": { + "op": "PUSH1", + "value": "0x0" + }, + "6646": { + "op": "PUSH1", + "value": "0x20" + }, + "6648": { + "op": "DUP5" + }, + "6649": { + "op": "ADD" + }, + "6650": { + "op": "RETURNDATACOPY" + }, + "6651": { + "op": "PUSH2", + "value": "0x1A04" + }, + "6654": { + "op": "JUMP" + }, + "6655": { + "op": "JUMPDEST" + }, + "6656": { + "op": "PUSH1", + "value": "0x60" + }, + "6658": { + "op": "SWAP2" + }, + "6659": { + "op": "POP" + }, + "6660": { + "op": "JUMPDEST" + }, + "6661": { + "op": "POP" + }, + "6662": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4980, + 5055 + ], + "op": "SWAP2", + "path": "8" + }, + "6663": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4980, + 5055 + ], + "op": "POP", + "path": "8" + }, + "6664": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4980, + 5055 + ], + "op": "SWAP2", + "path": "8" + }, + "6665": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4980, + 5055 + ], + "op": "POP", + "path": "8" + }, + "6666": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5072, + 5124 + ], + "op": "PUSH2", + "path": "8", + "statement": 100, + "value": "0x1A14" + }, + "6669": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5090, + 5097 + ], + "op": "DUP3", + "path": "8" + }, + "6670": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5099, + 5109 + ], + "op": "DUP3", + "path": "8" + }, + "6671": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5111, + 5123 + ], + "op": "DUP7", + "path": "8" + }, + "6672": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5072, + 5089 + ], + "op": "PUSH2", + "path": "8", + "value": "0x1A1F" + }, + "6675": { + "fn": "Address.functionCallWithValue", + "jump": "i", + "offset": [ + 5072, + 5124 + ], + "op": "JUMP", + "path": "8" + }, + "6676": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5072, + 5124 + ], + "op": "JUMPDEST", + "path": "8" + }, + "6677": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5065, + 5124 + ], + "op": "SWAP8", + "path": "8" + }, + "6678": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4608, + 5131 + ], + "op": "SWAP7", + "path": "8" + }, + "6679": { + "op": "POP" + }, + "6680": { + "op": "POP" + }, + "6681": { + "op": "POP" + }, + "6682": { + "op": "POP" + }, + "6683": { + "op": "POP" + }, + "6684": { + "op": "POP" + }, + "6685": { + "op": "POP" + }, + "6686": { + "fn": "Address.functionCallWithValue", + "jump": "o", + "offset": [ + 4608, + 5131 + ], + "op": "JUMP", + "path": "8" + }, + "6687": { + "fn": "Address._verifyCallResult", + "offset": [ + 7091, + 7816 + ], + "op": "JUMPDEST", + "path": "8" + }, + "6688": { + "fn": "Address._verifyCallResult", + "offset": [ + 7206, + 7218 + ], + "op": "PUSH1", + "path": "8", + "value": "0x60" + }, + "6690": { + "branch": 104, + "fn": "Address._verifyCallResult", + "offset": [ + 7234, + 7241 + ], + "op": "DUP4", + "path": "8" + }, + "6691": { + "fn": "Address._verifyCallResult", + "offset": [ + 7230, + 7810 + ], + "op": "ISZERO", + "path": "8" + }, + "6692": { + "fn": "Address._verifyCallResult", + "offset": [ + 7230, + 7810 + ], + "op": "PUSH2", + "path": "8", + "value": "0x1A2E" + }, + "6695": { + "branch": 104, + "fn": "Address._verifyCallResult", + "offset": [ + 7230, + 7810 + ], + "op": "JUMPI", + "path": "8" + }, + "6696": { + "op": "POP" + }, + "6697": { + "fn": "Address._verifyCallResult", + "offset": [ + 7264, + 7274 + ], + "op": "DUP2", + "path": "8", + "statement": 101 + }, + "6698": { + "fn": "Address._verifyCallResult", + "offset": [ + 7257, + 7274 + ], + "op": "PUSH2", + "path": "8", + "value": "0x108C" + }, + "6701": { + "fn": "Address._verifyCallResult", + "offset": [ + 7257, + 7274 + ], + "op": "JUMP", + "path": "8" + }, + "6702": { + "fn": "Address._verifyCallResult", + "offset": [ + 7230, + 7810 + ], + "op": "JUMPDEST", + "path": "8" + }, + "6703": { + "fn": "Address._verifyCallResult", + "offset": [ + 7375, + 7392 + ], + "op": "DUP3", + "path": "8" + }, + "6704": { + "fn": "Address._verifyCallResult", + "offset": [ + 7375, + 7392 + ], + "op": "MLOAD", + "path": "8" + }, + "6705": { + "branch": 105, + "fn": "Address._verifyCallResult", + "offset": [ + 7375, + 7396 + ], + "op": "ISZERO", + "path": "8" + }, + "6706": { + "fn": "Address._verifyCallResult", + "offset": [ + 7371, + 7800 + ], + "op": "PUSH2", + "path": "8", + "value": "0x1A3E" + }, + "6709": { + "branch": 105, + "fn": "Address._verifyCallResult", + "offset": [ + 7371, + 7800 + ], + "op": "JUMPI", + "path": "8" + }, + "6710": { + "fn": "Address._verifyCallResult", + "offset": [ + 7633, + 7643 + ], + "op": "DUP3", + "path": "8" + }, + "6711": { + "fn": "Address._verifyCallResult", + "offset": [ + 7627, + 7644 + ], + "op": "MLOAD", + "path": "8" + }, + "6712": { + "fn": "Address._verifyCallResult", + "offset": [ + 7693, + 7708 + ], + "op": "DUP1", + "path": "8" + }, + "6713": { + "fn": "Address._verifyCallResult", + "offset": [ + 7680, + 7690 + ], + "op": "DUP5", + "path": "8" + }, + "6714": { + "fn": "Address._verifyCallResult", + "offset": [ + 7676, + 7678 + ], + "op": "PUSH1", + "path": "8", + "value": "0x20" + }, + "6716": { + "fn": "Address._verifyCallResult", + "offset": [ + 7672, + 7691 + ], + "op": "ADD", + "path": "8" + }, + "6717": { + "fn": "Address._verifyCallResult", + "offset": [ + 7665, + 7709 + ], + "op": "REVERT", + "path": "8" + }, + "6718": { + "fn": "Address._verifyCallResult", + "offset": [ + 7582, + 7727 + ], + "op": "JUMPDEST", + "path": "8" + }, + "6719": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "PUSH1", + "path": "8", + "statement": 102, + "value": "0x40" + }, + "6721": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "MLOAD", + "path": "8" + }, + "6722": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "6726": { + "op": "PUSH1", + "value": "0xE5" + }, + "6728": { + "op": "SHL" + }, + "6729": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP2", + "path": "8" + }, + "6730": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "MSTORE", + "path": "8" + }, + "6731": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "PUSH1", + "path": "8", + "value": "0x20" + }, + "6733": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "PUSH1", + "path": "8", + "value": "0x4" + }, + "6735": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP3", + "path": "8" + }, + "6736": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "ADD", + "path": "8" + }, + "6737": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP2", + "path": "8" + }, + "6738": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP2", + "path": "8" + }, + "6739": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "MSTORE", + "path": "8" + }, + "6740": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP5", + "path": "8" + }, + "6741": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "MLOAD", + "path": "8" + }, + "6742": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "PUSH1", + "path": "8", + "value": "0x24" + }, + "6744": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP5", + "path": "8" + }, + "6745": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "ADD", + "path": "8" + }, + "6746": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "MSTORE", + "path": "8" + }, + "6747": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP5", + "path": "8" + }, + "6748": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "MLOAD", + "path": "8" + }, + "6749": { + "fn": "Address._verifyCallResult", + "offset": [ + 7772, + 7784 + ], + "op": "DUP6", + "path": "8" + }, + "6750": { + "fn": "Address._verifyCallResult", + "offset": [ + 7772, + 7784 + ], + "op": "SWAP4", + "path": "8" + }, + "6751": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "SWAP2", + "path": "8" + }, + "6752": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "SWAP3", + "path": "8" + }, + "6753": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP4", + "path": "8" + }, + "6754": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "SWAP3", + "path": "8" + }, + "6755": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "PUSH1", + "path": "8", + "value": "0x44" + }, + "6757": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "ADD", + "path": "8" + }, + "6758": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "SWAP2", + "path": "8" + }, + "6759": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "SWAP1", + "path": "8" + }, + "6760": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP6", + "path": "8" + }, + "6761": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "ADD", + "path": "8" + }, + "6762": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "SWAP1", + "path": "8" + }, + "6763": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP1", + "path": "8" + }, + "6764": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP4", + "path": "8" + }, + "6765": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP4", + "path": "8" + }, + "6766": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "PUSH1", + "path": "8", + "value": "0x0" + }, + "6768": { + "op": "DUP4" + }, + "6769": { + "op": "ISZERO" + }, + "6770": { + "op": "PUSH2", + "value": "0x13BE" + }, + "6773": { + "op": "JUMPI" + }, + "6774": { + "op": "DUP2" + }, + "6775": { + "op": "DUP2" + }, + "6776": { + "op": "ADD" + }, + "6777": { + "op": "MLOAD" + }, + "6778": { + "op": "DUP4" + }, + "6779": { + "op": "DUP3" + }, + "6780": { + "op": "ADD" + }, + "6781": { + "op": "MSTORE" + }, + "6782": { + "op": "PUSH1", + "value": "0x20" + }, + "6784": { + "op": "ADD" + }, + "6785": { + "op": "PUSH2", + "value": "0x13A6" + }, + "6788": { + "op": "JUMP" + }, + "6789": { + "offset": [ + 115, + 631 + ], + "op": "JUMPDEST", + "path": "13" + }, + "6790": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP3", + "path": "13" + }, + "6791": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "6792": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SLOAD", + "path": "13" + }, + "6793": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x1" + }, + "6795": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP2", + "path": "13" + }, + "6796": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x1" + }, + "6798": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "AND", + "path": "13" + }, + "6799": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "ISZERO", + "path": "13" + }, + "6800": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x100" + }, + "6803": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "MUL", + "path": "13" + }, + "6804": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SUB", + "path": "13" + }, + "6805": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "AND", + "path": "13" + }, + "6806": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x2" + }, + "6808": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SWAP1", + "path": "13" + }, + "6809": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DIV", + "path": "13" + }, + "6810": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SWAP1", + "path": "13" + }, + "6811": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x0" + }, + "6813": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "MSTORE", + "path": "13" + }, + "6814": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x20" + }, + "6816": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x0" + }, + "6818": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "KECCAK256", + "path": "13" + }, + "6819": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SWAP1", + "path": "13" + }, + "6820": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x1F" + }, + "6822": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "ADD", + "path": "13" + }, + "6823": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x20" + }, + "6825": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SWAP1", + "path": "13" + }, + "6826": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DIV", + "path": "13" + }, + "6827": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP2", + "path": "13" + }, + "6828": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "ADD", + "path": "13" + }, + "6829": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SWAP3", + "path": "13" + }, + "6830": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP3", + "path": "13" + }, + "6831": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x1F" + }, + "6833": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "LT", + "path": "13" + }, + "6834": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x1AC6" + }, + "6837": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "6838": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "6839": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "MLOAD", + "path": "13" + }, + "6840": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0xFF" + }, + "6842": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "NOT", + "path": "13" + }, + "6843": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "AND", + "path": "13" + }, + "6844": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP4", + "path": "13" + }, + "6845": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "6846": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "ADD", + "path": "13" + }, + "6847": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "OR", + "path": "13" + }, + "6848": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP6", + "path": "13" + }, + "6849": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SSTORE", + "path": "13" + }, + "6850": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x1AF3" + }, + "6853": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "JUMP", + "path": "13" + }, + "6854": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "JUMPDEST", + "path": "13" + }, + "6855": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP3", + "path": "13" + }, + "6856": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "6857": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "ADD", + "path": "13" + }, + "6858": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x1" + }, + "6860": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "ADD", + "path": "13" + }, + "6861": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP6", + "path": "13" + }, + "6862": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SSTORE", + "path": "13" + }, + "6863": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP3", + "path": "13" + }, + "6864": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "ISZERO", + "path": "13" + }, + "6865": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x1AF3" + }, + "6868": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "6869": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SWAP2", + "path": "13" + }, + "6870": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP3", + "path": "13" + }, + "6871": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "ADD", + "path": "13" + }, + "6872": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "JUMPDEST", + "path": "13" + }, + "6873": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP3", + "path": "13" + }, + "6874": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP2", + "path": "13" + }, + "6875": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "GT", + "path": "13" + }, + "6876": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "ISZERO", + "path": "13" + }, + "6877": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x1AF3" + }, + "6880": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "6881": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP3", + "path": "13" + }, + "6882": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "MLOAD", + "path": "13" + }, + "6883": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP3", + "path": "13" + }, + "6884": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SSTORE", + "path": "13" + }, + "6885": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SWAP2", + "path": "13" + }, + "6886": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x20" + }, + "6888": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "ADD", + "path": "13" + }, + "6889": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SWAP2", + "path": "13" + }, + "6890": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SWAP1", + "path": "13" + }, + "6891": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x1" + }, + "6893": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "ADD", + "path": "13" + }, + "6894": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SWAP1", + "path": "13" + }, + "6895": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x1AD8" + }, + "6898": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "JUMP", + "path": "13" + }, + "6899": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "JUMPDEST", + "path": "13" + }, + "6900": { + "op": "POP" + }, + "6901": { + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x1AFF" + }, + "6904": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SWAP3", + "path": "13" + }, + "6905": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SWAP2", + "path": "13" + }, + "6906": { + "op": "POP" + }, + "6907": { + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x1B03" + }, + "6910": { + "fn": "Address._verifyCallResult", + "jump": "i", + "offset": [ + 115, + 631 + ], + "op": "JUMP", + "path": "13" + }, + "6911": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "JUMPDEST", + "path": "13" + }, + "6912": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "POP", + "path": "13" + }, + "6913": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SWAP1", + "path": "13" + }, + "6914": { + "fn": "Address._verifyCallResult", + "jump": "o", + "offset": [ + 115, + 631 + ], + "op": "JUMP", + "path": "13" + }, + "6915": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "JUMPDEST", + "path": "13" + }, + "6916": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x616" + }, + "6919": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SWAP2", + "path": "13" + }, + "6920": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SWAP1", + "path": "13" + }, + "6921": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "JUMPDEST", + "path": "13" + }, + "6922": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP1", + "path": "13" + }, + "6923": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP3", + "path": "13" + }, + "6924": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "GT", + "path": "13" + }, + "6925": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "ISZERO", + "path": "13" + }, + "6926": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x1AFF" + }, + "6929": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "JUMPI", + "path": "13" + }, + "6930": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x0" + }, + "6932": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "DUP2", + "path": "13" + }, + "6933": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "SSTORE", + "path": "13" + }, + "6934": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH1", + "path": "13", + "value": "0x1" + }, + "6936": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "ADD", + "path": "13" + }, + "6937": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "PUSH2", + "path": "13", + "value": "0x1B09" + }, + "6940": { + "fn": "Address._verifyCallResult", + "offset": [ + 115, + 631 + ], + "op": "JUMP", + "path": "13" + } + }, + "sha1": "0ce9dcc0f4c3f5296c7cb2ba5fb40da0468fd664", + "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.6.6;\n\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\n\ncontract SimpleCollectible is ERC721 {\n uint256 public tokenCounter;\n\n constructor() public ERC721(\"Certificate\", \"DeepFakeCertification\") {\n tokenCounter = 0;\n }\n\n function createCollectible(\n string memory tokenURI,\n address recipient\n ) public returns (uint256) {\n uint256 newTokenId = tokenCounter;\n _safeMint(address(recipient), newTokenId);\n _setTokenURI(newTokenId, tokenURI);\n tokenCounter = tokenCounter + 1;\n return newTokenId;\n }\n}", + "sourceMap": "115:516:13:-:0;;;192:101;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;3577:369:3;;;;;;;;;;;-1:-1:-1;;;3577:369:3;;;;;;;;;;;;;;;;;;;;;;;;;768:40:0;-1:-1:-1;;;;;;;;768:18:0;:40;:::i;:::-;3651:13:3;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;3674:17:3;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;3779:40:3;-1:-1:-1;;;;;;;;3779:18:3;:40;:::i;:::-;3829:49;-1:-1:-1;;;;;;;;3829:18:3;:49;:::i;:::-;3888:51;-1:-1:-1;;;;;;;;3888:18:3;:51;:::i;:::-;-1:-1:-1;;285:1:13::1;270:12;:16:::0;115:516;;1507:198:0;-1:-1:-1;;;;;;1590:25:0;;;;;1582:66;;;;;-1:-1:-1;;;1582:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1658:33:0;:20;:33;;;;;;;;;;:40;;-1:-1:-1;;1658:40:0;1694:4;1658:40;;;1507:198::o;115:516:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;115:516:13;;;-1:-1:-1;115:516:13;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "sourcePath": "contracts/NFTmint.sol", + "type": "contract" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/Address.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/Address.json new file mode 100644 index 00000000..8de1941f --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/Address.json @@ -0,0 +1,4274 @@ +{ + "abi": [], + "allSourcePaths": { + "8": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Address.sol" + }, + "ast": { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Address.sol", + "exportedSymbols": { + "Address": [ + 1896 + ] + }, + "id": 1897, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1602, + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:31:8" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1603, + "nodeType": "StructuredDocumentation", + "src": "66:67:8", + "text": "@dev Collection of functions related to the address type" + }, + "fullyImplemented": true, + "id": 1896, + "linearizedBaseContracts": [ + 1896 + ], + "name": "Address", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1619, + "nodeType": "Block", + "src": "792:347:8", + "statements": [ + { + "assignments": [ + 1612 + ], + "declarations": [ + { + "constant": false, + "id": 1612, + "mutability": "mutable", + "name": "size", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1619, + "src": "989:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1611, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "989:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1613, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "989:12:8" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "1076:32:8", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1078:28:8", + "value": { + "arguments": [ + { + "name": "account", + "nodeType": "YulIdentifier", + "src": "1098:7:8" + } + ], + "functionName": { + "name": "extcodesize", + "nodeType": "YulIdentifier", + "src": "1086:11:8" + }, + "nodeType": "YulFunctionCall", + "src": "1086:20:8" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1078:4:8" + } + ] + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1606, + "isOffset": false, + "isSlot": false, + "src": "1098:7:8", + "valueSize": 1 + }, + { + "declaration": 1612, + "isOffset": false, + "isSlot": false, + "src": "1078:4:8", + "valueSize": 1 + } + ], + "id": 1614, + "nodeType": "InlineAssembly", + "src": "1067:41:8" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1615, + "name": "size", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1612, + "src": "1124:4:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1616, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1131:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1124:8:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1610, + "id": 1618, + "nodeType": "Return", + "src": "1117:15:8" + } + ] + }, + "documentation": { + "id": 1604, + "nodeType": "StructuredDocumentation", + "src": "156:565:8", + "text": "@dev Returns true if `account` is a contract.\n * [IMPORTANT]\n====\nIt is unsafe to assume that an address for which this function returns\nfalse is an externally-owned account (EOA) and not a contract.\n * Among others, `isContract` will return false for the following\ntypes of addresses:\n * - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n====" + }, + "id": 1620, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isContract", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1606, + "mutability": "mutable", + "name": "account", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1620, + "src": "746:15:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1605, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "746:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "745:17:8" + }, + "returnParameters": { + "id": 1610, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1609, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1620, + "src": "786:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1608, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "786:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "785:6:8" + }, + "scope": 1896, + "src": "726:413:8", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1653, + "nodeType": "Block", + "src": "2127:320:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1631, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2153:4:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$1896", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$1896", + "typeString": "library Address" + } + ], + "id": 1630, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2145:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1629, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2145:7:8", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 1632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2145:13:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2145:21:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 1634, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1625, + "src": "2170:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2145:31:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", + "id": 1636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2178:31:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", + "typeString": "literal_string \"Address: insufficient balance\"" + }, + "value": "Address: insufficient balance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", + "typeString": "literal_string \"Address: insufficient balance\"" + } + ], + "id": 1628, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2137:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2137:73:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1638, + "nodeType": "ExpressionStatement", + "src": "2137:73:8" + }, + { + "assignments": [ + 1640, + null + ], + "declarations": [ + { + "constant": false, + "id": 1640, + "mutability": "mutable", + "name": "success", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1653, + "src": "2299:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1639, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2299:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + null + ], + "id": 1647, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "", + "id": 1645, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2349:2:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1641, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1623, + "src": "2317:9:8", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2317:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 1644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "argumentTypes": null, + "id": 1643, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1625, + "src": "2340:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "2317:31:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 1646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2317:35:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2298:54:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1649, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1640, + "src": "2370:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", + "id": 1650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2379:60:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", + "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" + }, + "value": "Address: unable to send value, recipient may have reverted" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", + "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" + } + ], + "id": 1648, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2362:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2362:78:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1652, + "nodeType": "ExpressionStatement", + "src": "2362:78:8" + } + ] + }, + "documentation": { + "id": 1621, + "nodeType": "StructuredDocumentation", + "src": "1145:906:8", + "text": "@dev Replacement for Solidity's `transfer`: sends `amount` wei to\n`recipient`, forwarding all available gas and reverting on errors.\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\nof certain opcodes, possibly making contracts go over the 2300 gas limit\nimposed by `transfer`, making them unable to receive funds via\n`transfer`. {sendValue} removes this limitation.\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n * IMPORTANT: because control is transferred to `recipient`, care must be\ntaken to not create reentrancy vulnerabilities. Consider using\n{ReentrancyGuard} or the\nhttps://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." + }, + "id": 1654, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sendValue", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1626, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1623, + "mutability": "mutable", + "name": "recipient", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1654, + "src": "2075:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1622, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2075:15:8", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1625, + "mutability": "mutable", + "name": "amount", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1654, + "src": "2102:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1624, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2102:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2074:43:8" + }, + "returnParameters": { + "id": 1627, + "nodeType": "ParameterList", + "parameters": [], + "src": "2127:0:8" + }, + "scope": 1896, + "src": "2056:391:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1670, + "nodeType": "Block", + "src": "3277:82:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1665, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1657, + "src": "3305:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1666, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1659, + "src": "3313:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", + "id": 1667, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3319:32:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", + "typeString": "literal_string \"Address: low-level call failed\"" + }, + "value": "Address: low-level call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", + "typeString": "literal_string \"Address: low-level call failed\"" + } + ], + "id": 1664, + "name": "functionCall", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1671, + 1691 + ], + "referencedDeclaration": 1691, + "src": "3292:12:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" + } + }, + "id": 1668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3292:60:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1663, + "id": 1669, + "nodeType": "Return", + "src": "3285:67:8" + } + ] + }, + "documentation": { + "id": 1655, + "nodeType": "StructuredDocumentation", + "src": "2453:730:8", + "text": "@dev Performs a Solidity function call using a low level `call`. A\nplain`call` is an unsafe replacement for a function call: use this\nfunction instead.\n * If `target` reverts with a revert reason, it is bubbled up by this\nfunction (like regular Solidity function calls).\n * Returns the raw returned data. To convert to the expected return value,\nuse https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n * Requirements:\n * - `target` must be a contract.\n- calling `target` with `data` must not revert.\n * _Available since v3.1._" + }, + "id": 1671, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCall", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1660, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1657, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1671, + "src": "3210:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1656, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3210:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1659, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1671, + "src": "3226:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1658, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3226:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3209:35:8" + }, + "returnParameters": { + "id": 1663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1662, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1671, + "src": "3263:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1661, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3263:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3262:14:8" + }, + "scope": 1896, + "src": "3188:171:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1690, + "nodeType": "Block", + "src": "3698:76:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1684, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1674, + "src": "3737:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1685, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1676, + "src": "3745:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1686, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3751:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "argumentTypes": null, + "id": 1687, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1678, + "src": "3754:12:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1683, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1711, + 1761 + ], + "referencedDeclaration": 1761, + "src": "3715:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 1688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3715:52:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1682, + "id": 1689, + "nodeType": "Return", + "src": "3708:59:8" + } + ] + }, + "documentation": { + "id": 1672, + "nodeType": "StructuredDocumentation", + "src": "3365:211:8", + "text": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n`errorMessage` as a fallback revert reason when `target` reverts.\n * _Available since v3.1._" + }, + "id": 1691, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCall", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1679, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1674, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1691, + "src": "3603:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1673, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3603:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1676, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1691, + "src": "3619:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1675, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3619:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1678, + "mutability": "mutable", + "name": "errorMessage", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1691, + "src": "3638:26:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1677, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3638:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3602:63:8" + }, + "returnParameters": { + "id": 1682, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1681, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1691, + "src": "3684:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1680, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3684:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3683:14:8" + }, + "scope": 1896, + "src": "3581:193:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1710, + "nodeType": "Block", + "src": "4249:111:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1704, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1694, + "src": "4288:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1705, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1696, + "src": "4296:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 1706, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1698, + "src": "4302:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", + "id": 1707, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4309:43:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", + "typeString": "literal_string \"Address: low-level call with value failed\"" + }, + "value": "Address: low-level call with value failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", + "typeString": "literal_string \"Address: low-level call with value failed\"" + } + ], + "id": 1703, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1711, + 1761 + ], + "referencedDeclaration": 1761, + "src": "4266:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 1708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4266:87:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1702, + "id": 1709, + "nodeType": "Return", + "src": "4259:94:8" + } + ] + }, + "documentation": { + "id": 1692, + "nodeType": "StructuredDocumentation", + "src": "3780:351:8", + "text": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\nbut also transferring `value` wei to `target`.\n * Requirements:\n * - the calling contract must have an ETH balance of at least `value`.\n- the called Solidity function must be `payable`.\n * _Available since v3.1._" + }, + "id": 1711, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCallWithValue", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1699, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1694, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1711, + "src": "4167:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1693, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4167:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1696, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1711, + "src": "4183:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1695, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4183:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1698, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1711, + "src": "4202:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1697, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4202:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4166:50:8" + }, + "returnParameters": { + "id": 1702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1701, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1711, + "src": "4235:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1700, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4235:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4234:14:8" + }, + "scope": 1896, + "src": "4136:224:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1760, + "nodeType": "Block", + "src": "4749:382:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1728, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4775:4:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$1896", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$1896", + "typeString": "library Address" + } + ], + "id": 1727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4767:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1726, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4767:7:8", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 1729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4767:13:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4767:21:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 1731, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1718, + "src": "4792:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4767:30:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", + "id": 1733, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4799:40:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "typeString": "literal_string \"Address: insufficient balance for call\"" + }, + "value": "Address: insufficient balance for call" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "typeString": "literal_string \"Address: insufficient balance for call\"" + } + ], + "id": 1725, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4759:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4759:81:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1735, + "nodeType": "ExpressionStatement", + "src": "4759:81:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1738, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "4869:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1737, + "name": "isContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1620, + "src": "4858:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 1739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4858:18:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "id": 1740, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4878:31:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "typeString": "literal_string \"Address: call to non-contract\"" + }, + "value": "Address: call to non-contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "typeString": "literal_string \"Address: call to non-contract\"" + } + ], + "id": 1736, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4850:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4850:60:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1742, + "nodeType": "ExpressionStatement", + "src": "4850:60:8" + }, + { + "assignments": [ + 1744, + 1746 + ], + "declarations": [ + { + "constant": false, + "id": 1744, + "mutability": "mutable", + "name": "success", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1760, + "src": "4981:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1743, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4981:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1746, + "mutability": "mutable", + "name": "returndata", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1760, + "src": "4995:23:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1745, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4995:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1753, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1751, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1716, + "src": "5050:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1747, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "5022:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5022:11:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 1750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "argumentTypes": null, + "id": 1749, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1718, + "src": "5042:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "5022:27:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 1752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5022:33:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4980:75:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1755, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1744, + "src": "5090:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 1756, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1746, + "src": "5099:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 1757, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1720, + "src": "5111:12:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1754, + "name": "_verifyCallResult", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1895, + "src": "5072:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" + } + }, + "id": 1758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5072:52:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1724, + "id": 1759, + "nodeType": "Return", + "src": "5065:59:8" + } + ] + }, + "documentation": { + "id": 1712, + "nodeType": "StructuredDocumentation", + "src": "4366:237:8", + "text": "@dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\nwith `errorMessage` as a fallback revert reason when `target` reverts.\n * _Available since v3.1._" + }, + "id": 1761, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCallWithValue", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1721, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1714, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1761, + "src": "4639:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1713, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4639:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1716, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1761, + "src": "4655:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1715, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4655:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1718, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1761, + "src": "4674:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1717, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4674:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1720, + "mutability": "mutable", + "name": "errorMessage", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1761, + "src": "4689:26:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1719, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4689:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4638:78:8" + }, + "returnParameters": { + "id": 1724, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1723, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1761, + "src": "4735:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1722, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4735:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4734:14:8" + }, + "scope": 1896, + "src": "4608:523:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1777, + "nodeType": "Block", + "src": "5408:97:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1772, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1764, + "src": "5444:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1773, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1766, + "src": "5452:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", + "id": 1774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5458:39:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", + "typeString": "literal_string \"Address: low-level static call failed\"" + }, + "value": "Address: low-level static call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", + "typeString": "literal_string \"Address: low-level static call failed\"" + } + ], + "id": 1771, + "name": "functionStaticCall", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1778, + 1813 + ], + "referencedDeclaration": 1813, + "src": "5425:18:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 1775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5425:73:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1770, + "id": 1776, + "nodeType": "Return", + "src": "5418:80:8" + } + ] + }, + "documentation": { + "id": 1762, + "nodeType": "StructuredDocumentation", + "src": "5137:166:8", + "text": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\nbut performing a static call.\n * _Available since v3.3._" + }, + "id": 1778, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionStaticCall", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1767, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1764, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1778, + "src": "5336:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1763, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5336:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1766, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1778, + "src": "5352:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1765, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5352:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5335:35:8" + }, + "returnParameters": { + "id": 1770, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1769, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1778, + "src": "5394:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1768, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5394:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5393:14:8" + }, + "scope": 1896, + "src": "5308:197:8", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1812, + "nodeType": "Block", + "src": "5817:288:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1792, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1781, + "src": "5846:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1791, + "name": "isContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1620, + "src": "5835:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 1793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5835:18:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7472616374", + "id": 1794, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5855:38:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c79cc78e4f16ce3933a42b84c73868f93bb4a59c031a0acf576679de98c608a9", + "typeString": "literal_string \"Address: static call to non-contract\"" + }, + "value": "Address: static call to non-contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c79cc78e4f16ce3933a42b84c73868f93bb4a59c031a0acf576679de98c608a9", + "typeString": "literal_string \"Address: static call to non-contract\"" + } + ], + "id": 1790, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5827:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5827:67:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1796, + "nodeType": "ExpressionStatement", + "src": "5827:67:8" + }, + { + "assignments": [ + 1798, + 1800 + ], + "declarations": [ + { + "constant": false, + "id": 1798, + "mutability": "mutable", + "name": "success", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1812, + "src": "5965:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1797, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5965:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1800, + "mutability": "mutable", + "name": "returndata", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1812, + "src": "5979:23:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1799, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5979:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1805, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1803, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1783, + "src": "6024:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 1801, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1781, + "src": "6006:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6006:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 1804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6006:23:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5964:65:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1807, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1798, + "src": "6064:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 1808, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1800, + "src": "6073:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 1809, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1785, + "src": "6085:12:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1806, + "name": "_verifyCallResult", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1895, + "src": "6046:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" + } + }, + "id": 1810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6046:52:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1789, + "id": 1811, + "nodeType": "Return", + "src": "6039:59:8" + } + ] + }, + "documentation": { + "id": 1779, + "nodeType": "StructuredDocumentation", + "src": "5511:173:8", + "text": "@dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\nbut performing a static call.\n * _Available since v3.3._" + }, + "id": 1813, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionStaticCall", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1781, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1813, + "src": "5717:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1780, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5717:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1783, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1813, + "src": "5733:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1782, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5733:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1785, + "mutability": "mutable", + "name": "errorMessage", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1813, + "src": "5752:26:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1784, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5752:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5716:63:8" + }, + "returnParameters": { + "id": 1789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1788, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1813, + "src": "5803:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1787, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5803:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5802:14:8" + }, + "scope": 1896, + "src": "5689:416:8", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1829, + "nodeType": "Block", + "src": "6381:101:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1824, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1816, + "src": "6419:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 1825, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1818, + "src": "6427:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "id": 1826, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6433:41:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", + "typeString": "literal_string \"Address: low-level delegate call failed\"" + }, + "value": "Address: low-level delegate call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", + "typeString": "literal_string \"Address: low-level delegate call failed\"" + } + ], + "id": 1823, + "name": "functionDelegateCall", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1830, + 1865 + ], + "referencedDeclaration": 1865, + "src": "6398:20:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" + } + }, + "id": 1827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6398:77:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1822, + "id": 1828, + "nodeType": "Return", + "src": "6391:84:8" + } + ] + }, + "documentation": { + "id": 1814, + "nodeType": "StructuredDocumentation", + "src": "6111:168:8", + "text": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\nbut performing a delegate call.\n * _Available since v3.4._" + }, + "id": 1830, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionDelegateCall", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1819, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1816, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1830, + "src": "6314:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6314:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1818, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1830, + "src": "6330:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1817, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6330:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6313:35:8" + }, + "returnParameters": { + "id": 1822, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1821, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1830, + "src": "6367:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1820, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6367:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6366:14:8" + }, + "scope": 1896, + "src": "6284:198:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1864, + "nodeType": "Block", + "src": "6793:292:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1844, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1833, + "src": "6822:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1843, + "name": "isContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1620, + "src": "6811:10:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 1845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6811:18:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374", + "id": 1846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6831:40:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520", + "typeString": "literal_string \"Address: delegate call to non-contract\"" + }, + "value": "Address: delegate call to non-contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520", + "typeString": "literal_string \"Address: delegate call to non-contract\"" + } + ], + "id": 1842, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6803:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6803:69:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1848, + "nodeType": "ExpressionStatement", + "src": "6803:69:8" + }, + { + "assignments": [ + 1850, + 1852 + ], + "declarations": [ + { + "constant": false, + "id": 1850, + "mutability": "mutable", + "name": "success", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1864, + "src": "6943:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1849, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6943:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1852, + "mutability": "mutable", + "name": "returndata", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1864, + "src": "6957:23:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1851, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6957:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1857, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1855, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1835, + "src": "7004:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 1853, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1833, + "src": "6984:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "delegatecall", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "6984:19:8", + "typeDescriptions": { + "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) returns (bool,bytes memory)" + } + }, + "id": 1856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6984:25:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6942:67:8" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1859, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1850, + "src": "7044:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 1860, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1852, + "src": "7053:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "id": 1861, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1837, + "src": "7065:12:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1858, + "name": "_verifyCallResult", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1895, + "src": "7026:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" + } + }, + "id": 1862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7026:52:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1841, + "id": 1863, + "nodeType": "Return", + "src": "7019:59:8" + } + ] + }, + "documentation": { + "id": 1831, + "nodeType": "StructuredDocumentation", + "src": "6488:175:8", + "text": "@dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\nbut performing a delegate call.\n * _Available since v3.4._" + }, + "id": 1865, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionDelegateCall", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1838, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1833, + "mutability": "mutable", + "name": "target", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1865, + "src": "6698:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1832, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6698:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1835, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1865, + "src": "6714:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1834, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6714:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1837, + "mutability": "mutable", + "name": "errorMessage", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1865, + "src": "6733:26:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1836, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6733:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6697:63:8" + }, + "returnParameters": { + "id": 1841, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1840, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1865, + "src": "6779:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1839, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6779:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6778:14:8" + }, + "scope": 1896, + "src": "6668:417:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1894, + "nodeType": "Block", + "src": "7220:596:8", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 1876, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1867, + "src": "7234:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1892, + "nodeType": "Block", + "src": "7291:519:8", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1880, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1869, + "src": "7375:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "7375:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1882, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7395:1:8", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7375:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1890, + "nodeType": "Block", + "src": "7747:53:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1887, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1871, + "src": "7772:12:8", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1886, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "7765:6:8", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 1888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7765:20:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1889, + "nodeType": "ExpressionStatement", + "src": "7765:20:8" + } + ] + }, + "id": 1891, + "nodeType": "IfStatement", + "src": "7371:429:8", + "trueBody": { + "id": 1885, + "nodeType": "Block", + "src": "7398:343:8", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "7582:145:8", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7604:40:8", + "value": { + "arguments": [ + { + "name": "returndata", + "nodeType": "YulIdentifier", + "src": "7633:10:8" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "7627:5:8" + }, + "nodeType": "YulFunctionCall", + "src": "7627:17:8" + }, + "variables": [ + { + "name": "returndata_size", + "nodeType": "YulTypedName", + "src": "7608:15:8", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7676:2:8", + "type": "", + "value": "32" + }, + { + "name": "returndata", + "nodeType": "YulIdentifier", + "src": "7680:10:8" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7672:3:8" + }, + "nodeType": "YulFunctionCall", + "src": "7672:19:8" + }, + { + "name": "returndata_size", + "nodeType": "YulIdentifier", + "src": "7693:15:8" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7665:6:8" + }, + "nodeType": "YulFunctionCall", + "src": "7665:44:8" + }, + "nodeType": "YulExpressionStatement", + "src": "7665:44:8" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1869, + "isOffset": false, + "isSlot": false, + "src": "7633:10:8", + "valueSize": 1 + }, + { + "declaration": 1869, + "isOffset": false, + "isSlot": false, + "src": "7680:10:8", + "valueSize": 1 + } + ], + "id": 1884, + "nodeType": "InlineAssembly", + "src": "7573:154:8" + } + ] + } + } + ] + }, + "id": 1893, + "nodeType": "IfStatement", + "src": "7230:580:8", + "trueBody": { + "id": 1879, + "nodeType": "Block", + "src": "7243:42:8", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1877, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1869, + "src": "7264:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1875, + "id": 1878, + "nodeType": "Return", + "src": "7257:17:8" + } + ] + } + } + ] + }, + "documentation": null, + "id": 1895, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_verifyCallResult", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1872, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1867, + "mutability": "mutable", + "name": "success", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1895, + "src": "7118:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1866, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7118:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1869, + "mutability": "mutable", + "name": "returndata", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1895, + "src": "7132:23:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1868, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7132:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1871, + "mutability": "mutable", + "name": "errorMessage", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1895, + "src": "7157:26:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1870, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7157:6:8", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7117:67:8" + }, + "returnParameters": { + "id": 1875, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1874, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1895, + "src": "7206:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1873, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7206:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7205:14:8" + }, + "scope": 1896, + "src": "7091:725:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 1897, + "src": "134:7684:8" + } + ], + "src": "33:7786:8" + }, + "bytecode": "60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ade3e4bb480cc2877bc604c923e5d4e3cc39796ec5b8ec7cf6116e63d290f18d64736f6c63430006060033", + "bytecodeSha1": "3b4158955f564edb18bd7a8ffdb49859c904f0b7", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.6+commit.6c089d02" + }, + "contractName": "Address", + "coverageMap": { + "branches": { + "8": {} + }, + "statements": { + "8": {} + } + }, + "dependencies": [], + "deployedBytecode": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ade3e4bb480cc2877bc604c923e5d4e3cc39796ec5b8ec7cf6116e63d290f18d64736f6c63430006060033", + "deployedSourceMap": "134:7684:8:-:0;;;;;;12:1:-1;9;2:12", + "language": "Solidity", + "natspec": { + "details": "Collection of functions related to the address type", + "methods": {} + }, + "offset": [ + 134, + 7818 + ], + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xAD 0xE3 0xE4 0xBB 0x48 0xC 0xC2 DUP8 PUSH28 0xC604C923E5D4E3CC39796EC5B8EC7CF6116E63D290F18D64736F6C63 NUMBER STOP MOD MOD STOP CALLER ", + "pcMap": { + "0": { + "offset": [ + 134, + 7818 + ], + "op": "PUSH20", + "path": "8", + "value": "0x0" + }, + "21": { + "fn": null, + "offset": [ + 134, + 7818 + ], + "op": "ADDRESS", + "path": "8" + }, + "22": { + "fn": null, + "offset": [ + 134, + 7818 + ], + "op": "EQ", + "path": "8" + }, + "23": { + "fn": null, + "offset": [ + 134, + 7818 + ], + "op": "PUSH1", + "path": "8", + "value": "0x80" + }, + "25": { + "fn": null, + "offset": [ + 134, + 7818 + ], + "op": "PUSH1", + "path": "8", + "value": "0x40" + }, + "27": { + "fn": null, + "offset": [ + 134, + 7818 + ], + "op": "MSTORE", + "path": "8" + }, + "28": { + "op": "PUSH1", + "value": "0x0" + }, + "30": { + "op": "DUP1" + }, + "31": { + "op": "REVERT" + } + }, + "sha1": "66db1de364ee244b292cf4cc5e63385e8f6b9420", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.2 <0.8.0;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize, which returns 0 for contracts in\n // construction, since the code is only stored at the end of the\n // constructor execution.\n\n uint256 size;\n // solhint-disable-next-line no-inline-assembly\n assembly { size := extcodesize(account) }\n return size > 0;\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n // solhint-disable-next-line avoid-low-level-calls, avoid-call-value\n (bool success, ) = recipient.call{ value: amount }(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain`call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCall(target, data, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n require(isContract(target), \"Address: call to non-contract\");\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = target.call{ value: value }(data);\n return _verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n return functionStaticCall(target, data, \"Address: low-level static call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {\n require(isContract(target), \"Address: static call to non-contract\");\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = target.staticcall(data);\n return _verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionDelegateCall(target, data, \"Address: low-level delegate call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {\n require(isContract(target), \"Address: delegate call to non-contract\");\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return _verifyCallResult(success, returndata, errorMessage);\n }\n\n function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {\n if (success) {\n return returndata;\n } else {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n\n // solhint-disable-next-line no-inline-assembly\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n }\n}\n", + "sourceMap": "134:7684:8:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", + "sourcePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Address.sol", + "type": "library" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/Context.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/Context.json new file mode 100644 index 00000000..43e8c847 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/Context.json @@ -0,0 +1,299 @@ +{ + "abi": [], + "allSourcePaths": { + "9": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Context.sol" + }, + "ast": { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Context.sol", + "exportedSymbols": { + "Context": [ + 1919 + ] + }, + "id": 1920, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1898, + "literals": [ + "solidity", + ">=", + "0.6", + ".0", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:31:9" + }, + { + "abstract": true, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 1919, + "linearizedBaseContracts": [ + 1919 + ], + "name": "Context", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1906, + "nodeType": "Block", + "src": "668:34:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1903, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "685:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "685:10:9", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 1902, + "id": 1905, + "nodeType": "Return", + "src": "678:17:9" + } + ] + }, + "documentation": null, + "id": 1907, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgSender", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1899, + "nodeType": "ParameterList", + "parameters": [], + "src": "617:2:9" + }, + "returnParameters": { + "id": 1902, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1901, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1907, + "src": "651:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1900, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "651:15:9", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "650:17:9" + }, + "scope": 1919, + "src": "598:104:9", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1917, + "nodeType": "Block", + "src": "773:165:9", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1912, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "783:4:9", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Context_$1919", + "typeString": "contract Context" + } + }, + "id": 1913, + "nodeType": "ExpressionStatement", + "src": "783:4:9" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1914, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "923:3:9", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "923:8:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "functionReturnParameters": 1911, + "id": 1916, + "nodeType": "Return", + "src": "916:15:9" + } + ] + }, + "documentation": null, + "id": 1918, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgData", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1908, + "nodeType": "ParameterList", + "parameters": [], + "src": "725:2:9" + }, + "returnParameters": { + "id": 1911, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1910, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1918, + "src": "759:12:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1909, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "759:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "758:14:9" + }, + "scope": 1919, + "src": "708:230:9", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 1920, + "src": "566:374:9" + } + ], + "src": "33:908:9" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.6+commit.6c089d02" + }, + "contractName": "Context", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "methods": {} + }, + "offset": [ + 566, + 940 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "02ebe0e93c5d1da25b91ba7f4cfb990a949263f8", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/*\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with GSN meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address payable) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes memory) {\n this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691\n return msg.data;\n }\n}\n", + "sourceMap": "", + "sourcePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Context.sol", + "type": "contract" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/ERC165.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/ERC165.json new file mode 100644 index 00000000..e9aa4b21 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/ERC165.json @@ -0,0 +1,751 @@ +{ + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "allSourcePaths": { + "0": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/ERC165.sol", + "1": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/ERC165.sol", + "exportedSymbols": { + "ERC165": [ + 1053 + ] + }, + "id": 1054, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 999, + "literals": [ + "solidity", + ">=", + "0.6", + ".0", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:31:0" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/IERC165.sol", + "file": "./IERC165.sol", + "id": 1000, + "nodeType": "ImportDirective", + "scope": 1054, + "sourceUnit": 3071, + "src": "66:23:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1002, + "name": "IERC165", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3070, + "src": "291:7:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC165_$3070", + "typeString": "contract IERC165" + } + }, + "id": 1003, + "nodeType": "InheritanceSpecifier", + "src": "291:7:0" + } + ], + "contractDependencies": [ + 3070 + ], + "contractKind": "contract", + "documentation": { + "id": 1001, + "nodeType": "StructuredDocumentation", + "src": "91:171:0", + "text": "@dev Implementation of the {IERC165} interface.\n * Contracts may inherit from this and call {_registerInterface} to declare\ntheir support of an interface." + }, + "fullyImplemented": true, + "id": 1053, + "linearizedBaseContracts": [ + 1053, + 3070 + ], + "name": "ERC165", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1006, + "mutability": "constant", + "name": "_INTERFACE_ID_ERC165", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1053, + "src": "388:57:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1004, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "388:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783031666663396137", + "id": 1005, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "435:10:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_33540519_by_1", + "typeString": "int_const 33540519" + }, + "value": "0x01ffc9a7" + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1010, + "mutability": "mutable", + "name": "_supportedInterfaces", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1053, + "src": "539:52:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", + "typeString": "mapping(bytes4 => bool)" + }, + "typeName": { + "id": 1009, + "keyType": { + "id": 1007, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "547:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "Mapping", + "src": "539:23:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", + "typeString": "mapping(bytes4 => bool)" + }, + "valueType": { + "id": 1008, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "557:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "body": { + "id": 1017, + "nodeType": "Block", + "src": "622:193:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1014, + "name": "_INTERFACE_ID_ERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1006, + "src": "787:20:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 1013, + "name": "_registerInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1052, + "src": "768:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4)" + } + }, + "id": 1015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "768:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1016, + "nodeType": "ExpressionStatement", + "src": "768:40:0" + } + ] + }, + "documentation": null, + "id": 1018, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1011, + "nodeType": "ParameterList", + "parameters": [], + "src": "610:2:0" + }, + "returnParameters": { + "id": 1012, + "nodeType": "ParameterList", + "parameters": [], + "src": "622:0:0" + }, + "scope": 1053, + "src": "598:217:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 3069 + ], + "body": { + "id": 1031, + "nodeType": "Block", + "src": "1056:57:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1027, + "name": "_supportedInterfaces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1010, + "src": "1073:20:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", + "typeString": "mapping(bytes4 => bool)" + } + }, + "id": 1029, + "indexExpression": { + "argumentTypes": null, + "id": 1028, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1021, + "src": "1094:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1073:33:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1026, + "id": 1030, + "nodeType": "Return", + "src": "1066:40:0" + } + ] + }, + "documentation": { + "id": 1019, + "nodeType": "StructuredDocumentation", + "src": "821:139:0", + "text": "@dev See {IERC165-supportsInterface}.\n * Time complexity O(1), guaranteed to always use less than 30 000 gas." + }, + "functionSelector": "01ffc9a7", + "id": 1032, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1023, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1032:8:0" + }, + "parameters": { + "id": 1022, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1021, + "mutability": "mutable", + "name": "interfaceId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1032, + "src": "992:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1020, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "992:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "991:20:0" + }, + "returnParameters": { + "id": 1026, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1025, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1032, + "src": "1050:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1024, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1050:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1049:6:0" + }, + "scope": 1053, + "src": "965:148:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1051, + "nodeType": "Block", + "src": "1572:133:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 1041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1039, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1035, + "src": "1590:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30786666666666666666", + "id": 1040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1605:10:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_4294967295_by_1", + "typeString": "int_const 4294967295" + }, + "value": "0xffffffff" + }, + "src": "1590:25:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433136353a20696e76616c696420696e74657266616365206964", + "id": 1042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1617:30:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_282912c0dfceceb28d77d0333f496b83948f9ba5b3154358a8b140b849289dee", + "typeString": "literal_string \"ERC165: invalid interface id\"" + }, + "value": "ERC165: invalid interface id" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_282912c0dfceceb28d77d0333f496b83948f9ba5b3154358a8b140b849289dee", + "typeString": "literal_string \"ERC165: invalid interface id\"" + } + ], + "id": 1038, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1582:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1582:66:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1044, + "nodeType": "ExpressionStatement", + "src": "1582:66:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 1049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 1045, + "name": "_supportedInterfaces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1010, + "src": "1658:20:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", + "typeString": "mapping(bytes4 => bool)" + } + }, + "id": 1047, + "indexExpression": { + "argumentTypes": null, + "id": 1046, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1035, + "src": "1679:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1658:33:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1694:4:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1658:40:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1050, + "nodeType": "ExpressionStatement", + "src": "1658:40:0" + } + ] + }, + "documentation": { + "id": 1033, + "nodeType": "StructuredDocumentation", + "src": "1119:383:0", + "text": "@dev Registers the contract as an implementer of the interface defined by\n`interfaceId`. Support of the actual ERC165 interface is automatic and\nregistering its interface id is not required.\n * See {IERC165-supportsInterface}.\n * Requirements:\n * - `interfaceId` cannot be the ERC165 invalid interface (`0xffffffff`)." + }, + "id": 1052, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_registerInterface", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1036, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1035, + "mutability": "mutable", + "name": "interfaceId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1052, + "src": "1535:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1034, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1535:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1534:20:0" + }, + "returnParameters": { + "id": 1037, + "nodeType": "ParameterList", + "parameters": [], + "src": "1572:0:0" + }, + "scope": 1053, + "src": "1507:198:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 1054, + "src": "263:1444:0" + } + ], + "src": "33:1675:0" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.6+commit.6c089d02" + }, + "contractName": "ERC165", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC165" + ], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "Implementation of the {IERC165} interface. * Contracts may inherit from this and call {_registerInterface} to declare their support of an interface.", + "methods": { + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas." + } + } + }, + "offset": [ + 263, + 1707 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "21044f73b4ba2efbb793b44ecc3dee9529ccea0d", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts may inherit from this and call {_registerInterface} to declare\n * their support of an interface.\n */\nabstract contract ERC165 is IERC165 {\n /*\n * bytes4(keccak256('supportsInterface(bytes4)')) == 0x01ffc9a7\n */\n bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7;\n\n /**\n * @dev Mapping of interface ids to whether or not it's supported.\n */\n mapping(bytes4 => bool) private _supportedInterfaces;\n\n constructor () internal {\n // Derived contracts need only register support for their own interfaces,\n // we register support for ERC165 itself here\n _registerInterface(_INTERFACE_ID_ERC165);\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n *\n * Time complexity O(1), guaranteed to always use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return _supportedInterfaces[interfaceId];\n }\n\n /**\n * @dev Registers the contract as an implementer of the interface defined by\n * `interfaceId`. Support of the actual ERC165 interface is automatic and\n * registering its interface id is not required.\n *\n * See {IERC165-supportsInterface}.\n *\n * Requirements:\n *\n * - `interfaceId` cannot be the ERC165 invalid interface (`0xffffffff`).\n */\n function _registerInterface(bytes4 interfaceId) internal virtual {\n require(interfaceId != 0xffffffff, \"ERC165: invalid interface id\");\n _supportedInterfaces[interfaceId] = true;\n }\n}\n", + "sourceMap": "", + "sourcePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/ERC165.sol", + "type": "contract" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/ERC721.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/ERC721.json new file mode 100644 index 00000000..9c81d2cb --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/ERC721.json @@ -0,0 +1,48027 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "baseURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "0": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/ERC165.sol", + "1": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/IERC165.sol", + "10": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableMap.sol", + "11": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableSet.sol", + "12": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Strings.sol", + "2": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol", + "3": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/ERC721.sol", + "4": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721.sol", + "5": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Enumerable.sol", + "6": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Metadata.sol", + "7": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Receiver.sol", + "8": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Address.sol", + "9": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Context.sol" + }, + "ast": { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/ERC721.sol", + "exportedSymbols": { + "ERC721": [ + 997 + ] + }, + "id": 998, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 56, + "literals": [ + "solidity", + ">=", + "0.6", + ".0", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:31:3" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Context.sol", + "file": "../../utils/Context.sol", + "id": 57, + "nodeType": "ImportDirective", + "scope": 998, + "sourceUnit": 1920, + "src": "66:33:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721.sol", + "file": "./IERC721.sol", + "id": 58, + "nodeType": "ImportDirective", + "scope": 998, + "sourceUnit": 1525, + "src": "100:23:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Metadata.sol", + "file": "./IERC721Metadata.sol", + "id": 59, + "nodeType": "ImportDirective", + "scope": 998, + "sourceUnit": 1583, + "src": "124:31:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Enumerable.sol", + "file": "./IERC721Enumerable.sol", + "id": 60, + "nodeType": "ImportDirective", + "scope": 998, + "sourceUnit": 1556, + "src": "156:33:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Receiver.sol", + "file": "./IERC721Receiver.sol", + "id": 61, + "nodeType": "ImportDirective", + "scope": 998, + "sourceUnit": 1601, + "src": "190:31:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/ERC165.sol", + "file": "../../introspection/ERC165.sol", + "id": 62, + "nodeType": "ImportDirective", + "scope": 998, + "sourceUnit": 1054, + "src": "222:40:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol", + "file": "../../math/SafeMath.sol", + "id": 63, + "nodeType": "ImportDirective", + "scope": 998, + "sourceUnit": 1409, + "src": "263:33:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Address.sol", + "file": "../../utils/Address.sol", + "id": 64, + "nodeType": "ImportDirective", + "scope": 998, + "sourceUnit": 1897, + "src": "297:33:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableSet.sol", + "file": "../../utils/EnumerableSet.sol", + "id": 65, + "nodeType": "ImportDirective", + "scope": 998, + "sourceUnit": 2972, + "src": "331:39:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableMap.sol", + "file": "../../utils/EnumerableMap.sol", + "id": 66, + "nodeType": "ImportDirective", + "scope": 998, + "sourceUnit": 2480, + "src": "371:39:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Strings.sol", + "file": "../../utils/Strings.sol", + "id": 67, + "nodeType": "ImportDirective", + "scope": 998, + "sourceUnit": 3059, + "src": "411:33:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 69, + "name": "Context", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1919, + "src": "590:7:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Context_$1919", + "typeString": "contract Context" + } + }, + "id": 70, + "nodeType": "InheritanceSpecifier", + "src": "590:7:3" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 71, + "name": "ERC165", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1053, + "src": "599:6:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC165_$1053", + "typeString": "contract ERC165" + } + }, + "id": 72, + "nodeType": "InheritanceSpecifier", + "src": "599:6:3" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 73, + "name": "IERC721", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1524, + "src": "607:7:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721_$1524", + "typeString": "contract IERC721" + } + }, + "id": 74, + "nodeType": "InheritanceSpecifier", + "src": "607:7:3" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 75, + "name": "IERC721Metadata", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1582, + "src": "616:15:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721Metadata_$1582", + "typeString": "contract IERC721Metadata" + } + }, + "id": 76, + "nodeType": "InheritanceSpecifier", + "src": "616:15:3" + }, + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 77, + "name": "IERC721Enumerable", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1555, + "src": "633:17:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721Enumerable_$1555", + "typeString": "contract IERC721Enumerable" + } + }, + "id": 78, + "nodeType": "InheritanceSpecifier", + "src": "633:17:3" + } + ], + "contractDependencies": [ + 1053, + 1524, + 1555, + 1582, + 1919, + 3070 + ], + "contractKind": "contract", + "documentation": { + "id": 68, + "nodeType": "StructuredDocumentation", + "src": "446:124:3", + "text": "@title ERC721 Non-Fungible Token Standard basic implementation\n@dev see https://eips.ethereum.org/EIPS/eip-721" + }, + "fullyImplemented": true, + "id": 997, + "linearizedBaseContracts": [ + 997, + 1555, + 1582, + 1524, + 1053, + 3070, + 1919 + ], + "name": "ERC721", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 81, + "libraryName": { + "contractScope": null, + "id": 79, + "name": "SafeMath", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1408, + "src": "663:8:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SafeMath_$1408", + "typeString": "library SafeMath" + } + }, + "nodeType": "UsingForDirective", + "src": "657:27:3", + "typeName": { + "id": 80, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "676:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 84, + "libraryName": { + "contractScope": null, + "id": 82, + "name": "Address", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1896, + "src": "695:7:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$1896", + "typeString": "library Address" + } + }, + "nodeType": "UsingForDirective", + "src": "689:26:3", + "typeName": { + "id": 83, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "707:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "id": 87, + "libraryName": { + "contractScope": null, + "id": 85, + "name": "EnumerableSet", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2971, + "src": "726:13:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EnumerableSet_$2971", + "typeString": "library EnumerableSet" + } + }, + "nodeType": "UsingForDirective", + "src": "720:46:3", + "typeName": { + "contractScope": null, + "id": 86, + "name": "EnumerableSet.UintSet", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2876, + "src": "744:21:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + } + } + }, + { + "id": 90, + "libraryName": { + "contractScope": null, + "id": 88, + "name": "EnumerableMap", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2479, + "src": "777:13:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_EnumerableMap_$2479", + "typeString": "library EnumerableMap" + } + }, + "nodeType": "UsingForDirective", + "src": "771:55:3", + "typeName": { + "contractScope": null, + "id": 89, + "name": "EnumerableMap.UintToAddressMap", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2253, + "src": "795:30:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + } + } + }, + { + "id": 93, + "libraryName": { + "contractScope": null, + "id": 91, + "name": "Strings", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3058, + "src": "837:7:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Strings_$3058", + "typeString": "library Strings" + } + }, + "nodeType": "UsingForDirective", + "src": "831:26:3", + "typeName": { + "id": 92, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "849:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": true, + "id": 96, + "mutability": "constant", + "name": "_ERC721_RECEIVED", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 997, + "src": "1035:53:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 94, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1035:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783135306237613032", + "id": 95, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1078:10:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_353073666_by_1", + "typeString": "int_const 353073666" + }, + "value": "0x150b7a02" + }, + "visibility": "private" + }, + { + "constant": false, + "id": 100, + "mutability": "mutable", + "name": "_holderTokens", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 997, + "src": "1172:64:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$2876_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet)" + }, + "typeName": { + "id": 99, + "keyType": { + "id": 97, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1181:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1172:42:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$2876_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet)" + }, + "valueType": { + "contractScope": null, + "id": 98, + "name": "EnumerableSet.UintSet", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2876, + "src": "1192:21:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 102, + "mutability": "mutable", + "name": "_tokenOwners", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 997, + "src": "1300:51:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage", + "typeString": "struct EnumerableMap.UintToAddressMap" + }, + "typeName": { + "contractScope": null, + "id": 101, + "name": "EnumerableMap.UintToAddressMap", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2253, + "src": "1300:30:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 106, + "mutability": "mutable", + "name": "_tokenApprovals", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 997, + "src": "1407:52:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 105, + "keyType": { + "id": 103, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1416:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1407:28:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 104, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1427:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 112, + "mutability": "mutable", + "name": "_operatorApprovals", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 997, + "src": "1514:73:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "typeName": { + "id": 111, + "keyType": { + "id": 107, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1523:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1514:46:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "valueType": { + "id": 110, + "keyType": { + "id": 108, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1543:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1534:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 109, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1554:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 114, + "mutability": "mutable", + "name": "_name", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 997, + "src": "1612:20:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 113, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1612:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 116, + "mutability": "mutable", + "name": "_symbol", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 997, + "src": "1659:22:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 115, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1659:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 120, + "mutability": "mutable", + "name": "_tokenURIs", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 997, + "src": "1727:46:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "typeName": { + "id": 119, + "keyType": { + "id": 117, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1736:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1727:27:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "valueType": { + "id": 118, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1747:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": false, + "id": 122, + "mutability": "mutable", + "name": "_baseURI", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 997, + "src": "1796:23:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 121, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1796:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "private" + }, + { + "constant": true, + "id": 125, + "mutability": "constant", + "name": "_INTERFACE_ID_ERC721", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 997, + "src": "2695:57:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 123, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2695:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783830616335386364", + "id": 124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2742:10:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2158778573_by_1", + "typeString": "int_const 2158778573" + }, + "value": "0x80ac58cd" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 128, + "mutability": "constant", + "name": "_INTERFACE_ID_ERC721_METADATA", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 997, + "src": "3018:66:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 126, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "3018:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783562356531333966", + "id": 127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3074:10:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1532892063_by_1", + "typeString": "int_const 1532892063" + }, + "value": "0x5b5e139f" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 131, + "mutability": "constant", + "name": "_INTERFACE_ID_ERC721_ENUMERABLE", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 997, + "src": "3389:68:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 129, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "3389:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "argumentTypes": null, + "hexValue": "30783738306539643633", + "id": 130, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3447:10:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_2014223715_by_1", + "typeString": "int_const 2014223715" + }, + "value": "0x780e9d63" + }, + "visibility": "private" + }, + { + "body": { + "id": 159, + "nodeType": "Block", + "src": "3641:305:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 139, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114, + "src": "3651:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 140, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "3659:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3651:13:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 142, + "nodeType": "ExpressionStatement", + "src": "3651:13:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 143, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 116, + "src": "3674:7:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 144, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 136, + "src": "3684:7:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3674:17:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 146, + "nodeType": "ExpressionStatement", + "src": "3674:17:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 148, + "name": "_INTERFACE_ID_ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 125, + "src": "3798:20:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 147, + "name": "_registerInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1052, + "src": "3779:18:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4)" + } + }, + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3779:40:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 150, + "nodeType": "ExpressionStatement", + "src": "3779:40:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 152, + "name": "_INTERFACE_ID_ERC721_METADATA", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 128, + "src": "3848:29:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 151, + "name": "_registerInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1052, + "src": "3829:18:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4)" + } + }, + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3829:49:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 154, + "nodeType": "ExpressionStatement", + "src": "3829:49:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 156, + "name": "_INTERFACE_ID_ERC721_ENUMERABLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 131, + "src": "3907:31:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 155, + "name": "_registerInterface", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1052, + "src": "3888:18:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", + "typeString": "function (bytes4)" + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3888:51:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 158, + "nodeType": "ExpressionStatement", + "src": "3888:51:3" + } + ] + }, + "documentation": { + "id": 132, + "nodeType": "StructuredDocumentation", + "src": "3464:108:3", + "text": "@dev Initializes the contract by setting a `name` and a `symbol` to the token collection." + }, + "id": 160, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 134, + "mutability": "mutable", + "name": "name_", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 160, + "src": "3590:19:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 133, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3590:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 136, + "mutability": "mutable", + "name": "symbol_", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 160, + "src": "3611:21:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 135, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3611:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3589:44:3" + }, + "returnParameters": { + "id": 138, + "nodeType": "ParameterList", + "parameters": [], + "src": "3641:0:3" + }, + "scope": 997, + "src": "3577:369:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 1449 + ], + "body": { + "id": 185, + "nodeType": "Block", + "src": "4086:137:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 170, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 163, + "src": "4104:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 173, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4121:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4113:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 171, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4113:7:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4113:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "4104:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65726f2061646472657373", + "id": 176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4125:44:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", + "typeString": "literal_string \"ERC721: balance query for the zero address\"" + }, + "value": "ERC721: balance query for the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", + "typeString": "literal_string \"ERC721: balance query for the zero address\"" + } + ], + "id": 169, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4096:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4096:74:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 178, + "nodeType": "ExpressionStatement", + "src": "4096:74:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 179, + "name": "_holderTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 100, + "src": "4187:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$2876_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 181, + "indexExpression": { + "argumentTypes": null, + "id": 180, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 163, + "src": "4201:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4187:20:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 182, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": 2950, + "src": "4187:27:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$2876_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$2876_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)" + } + }, + "id": 183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4187:29:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 168, + "id": 184, + "nodeType": "Return", + "src": "4180:36:3" + } + ] + }, + "documentation": { + "id": 161, + "nodeType": "StructuredDocumentation", + "src": "3952:48:3", + "text": "@dev See {IERC721-balanceOf}." + }, + "functionSelector": "70a08231", + "id": 186, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 165, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4059:8:3" + }, + "parameters": { + "id": 164, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 163, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 186, + "src": "4024:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 162, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4024:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4023:15:3" + }, + "returnParameters": { + "id": 168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 167, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 186, + "src": "4077:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 166, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4077:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4076:9:3" + }, + "scope": 997, + "src": "4005:218:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1457 + ], + "body": { + "id": 201, + "nodeType": "Block", + "src": "4361:94:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 197, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 189, + "src": "4395:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e", + "id": 198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4404:43:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", + "typeString": "literal_string \"ERC721: owner query for nonexistent token\"" + }, + "value": "ERC721: owner query for nonexistent token" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", + "typeString": "literal_string \"ERC721: owner query for nonexistent token\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 195, + "name": "_tokenOwners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 102, + "src": "4378:12:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage", + "typeString": "struct EnumerableMap.UintToAddressMap storage ref" + } + }, + "id": 196, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "get", + "nodeType": "MemberAccess", + "referencedDeclaration": 2478, + "src": "4378:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$2253_storage_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_address_$bound_to$_t_struct$_UintToAddressMap_$2253_storage_ptr_$", + "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256,string memory) view returns (address)" + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4378:70:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 194, + "id": 200, + "nodeType": "Return", + "src": "4371:77:3" + } + ] + }, + "documentation": { + "id": 187, + "nodeType": "StructuredDocumentation", + "src": "4229:46:3", + "text": "@dev See {IERC721-ownerOf}." + }, + "functionSelector": "6352211e", + "id": 202, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 191, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4334:8:3" + }, + "parameters": { + "id": 190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 189, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 202, + "src": "4297:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 188, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4297:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4296:17:3" + }, + "returnParameters": { + "id": 194, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 193, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 202, + "src": "4352:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 192, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4352:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4351:9:3" + }, + "scope": 997, + "src": "4280:175:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1567 + ], + "body": { + "id": 211, + "nodeType": "Block", + "src": "4586:29:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 209, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 114, + "src": "4603:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 208, + "id": 210, + "nodeType": "Return", + "src": "4596:12:3" + } + ] + }, + "documentation": { + "id": 203, + "nodeType": "StructuredDocumentation", + "src": "4461:51:3", + "text": "@dev See {IERC721Metadata-name}." + }, + "functionSelector": "06fdde03", + "id": 212, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "name", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 205, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4553:8:3" + }, + "parameters": { + "id": 204, + "nodeType": "ParameterList", + "parameters": [], + "src": "4530:2:3" + }, + "returnParameters": { + "id": 208, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 207, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 212, + "src": "4571:13:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 206, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4571:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4570:15:3" + }, + "scope": 997, + "src": "4517:98:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1573 + ], + "body": { + "id": 221, + "nodeType": "Block", + "src": "4750:31:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 219, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 116, + "src": "4767:7:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 218, + "id": 220, + "nodeType": "Return", + "src": "4760:14:3" + } + ] + }, + "documentation": { + "id": 213, + "nodeType": "StructuredDocumentation", + "src": "4621:53:3", + "text": "@dev See {IERC721Metadata-symbol}." + }, + "functionSelector": "95d89b41", + "id": 222, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 215, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4717:8:3" + }, + "parameters": { + "id": 214, + "nodeType": "ParameterList", + "parameters": [], + "src": "4694:2:3" + }, + "returnParameters": { + "id": 218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 217, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 222, + "src": "4735:13:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 216, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4735:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4734:15:3" + }, + "scope": 997, + "src": "4679:102:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1581 + ], + "body": { + "id": 289, + "nodeType": "Block", + "src": "4935:688:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 233, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "4961:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 232, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 585, + "src": "4953:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4953:16:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", + "id": 235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4971:49:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", + "typeString": "literal_string \"ERC721Metadata: URI query for nonexistent token\"" + }, + "value": "ERC721Metadata: URI query for nonexistent token" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", + "typeString": "literal_string \"ERC721Metadata: URI query for nonexistent token\"" + } + ], + "id": 231, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4945:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4945:76:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 237, + "nodeType": "ExpressionStatement", + "src": "4945:76:3" + }, + { + "assignments": [ + 239 + ], + "declarations": [ + { + "constant": false, + "id": 239, + "mutability": "mutable", + "name": "_tokenURI", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 289, + "src": "5032:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 238, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5032:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 243, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 240, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120, + "src": "5058:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 242, + "indexExpression": { + "argumentTypes": null, + "id": 241, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "5069:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5058:19:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5032:45:3" + }, + { + "assignments": [ + 245 + ], + "declarations": [ + { + "constant": false, + "id": 245, + "mutability": "mutable", + "name": "base", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 289, + "src": "5087:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 244, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5087:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 248, + "initialValue": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 246, + "name": "baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 299, + "src": "5108:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", + "typeString": "function () view returns (string memory)" + } + }, + "id": 247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5108:9:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5087:30:3" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 251, + "name": "base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 245, + "src": "5196:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5190:5:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 249, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5190:5:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5190:11:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5190:18:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5212:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5190:23:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 259, + "nodeType": "IfStatement", + "src": "5186:70:3", + "trueBody": { + "id": 258, + "nodeType": "Block", + "src": "5215:41:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 256, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 239, + "src": "5236:9:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 230, + "id": 257, + "nodeType": "Return", + "src": "5229:16:3" + } + ] + } + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 262, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 239, + "src": "5364:9:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 261, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5358:5:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 260, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5358:5:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5358:16:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5358:23:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 265, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5384:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5358:27:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 277, + "nodeType": "IfStatement", + "src": "5354:106:3", + "trueBody": { + "id": 276, + "nodeType": "Block", + "src": "5387:73:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 271, + "name": "base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 245, + "src": "5432:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "id": 272, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 239, + "src": "5438:9:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 269, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5415:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 270, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5415:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5415:33:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 268, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5408:6:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 267, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5408:6:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5408:41:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 230, + "id": 275, + "nodeType": "Return", + "src": "5401:48:3" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 282, + "name": "base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 245, + "src": "5590:4:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 283, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "5596:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 3057, + "src": "5596:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5596:18:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 280, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5573:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5573:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5573:42:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5566:6:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 278, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5566:6:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5566:50:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 230, + "id": 288, + "nodeType": "Return", + "src": "5559:57:3" + } + ] + }, + "documentation": { + "id": 223, + "nodeType": "StructuredDocumentation", + "src": "4787:55:3", + "text": "@dev See {IERC721Metadata-tokenURI}." + }, + "functionSelector": "c87b56dd", + "id": 290, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 227, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4902:8:3" + }, + "parameters": { + "id": 226, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 225, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 290, + "src": "4865:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 224, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4865:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4864:17:3" + }, + "returnParameters": { + "id": 230, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 229, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 290, + "src": "4920:13:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 228, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4920:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4919:15:3" + }, + "scope": 997, + "src": "4847:776:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 298, + "nodeType": "Block", + "src": "5918:32:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 296, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 122, + "src": "5935:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 295, + "id": 297, + "nodeType": "Return", + "src": "5928:15:3" + } + ] + }, + "documentation": { + "id": 291, + "nodeType": "StructuredDocumentation", + "src": "5629:221:3", + "text": "@dev Returns the base URI set via {_setBaseURI}. This will be\nautomatically added as a prefix in {tokenURI} to each token's URI, or\nto the token ID if no specific URI is set for that token ID." + }, + "functionSelector": "6c0360eb", + "id": 299, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "baseURI", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 292, + "nodeType": "ParameterList", + "parameters": [], + "src": "5871:2:3" + }, + "returnParameters": { + "id": 295, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 294, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 299, + "src": "5903:13:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 293, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5903:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5902:15:3" + }, + "scope": 997, + "src": "5855:95:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1546 + ], + "body": { + "id": 317, + "nodeType": "Block", + "src": "6135:54:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 314, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 304, + "src": "6176:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 310, + "name": "_holderTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 100, + "src": "6152:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$2876_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 312, + "indexExpression": { + "argumentTypes": null, + "id": 311, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 302, + "src": "6166:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6152:20:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 313, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "at", + "nodeType": "MemberAccess", + "referencedDeclaration": 2970, + "src": "6152:23:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$2876_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$2876_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)" + } + }, + "id": 315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6152:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 309, + "id": 316, + "nodeType": "Return", + "src": "6145:37:3" + } + ] + }, + "documentation": { + "id": 300, + "nodeType": "StructuredDocumentation", + "src": "5956:68:3", + "text": "@dev See {IERC721Enumerable-tokenOfOwnerByIndex}." + }, + "functionSelector": "2f745c59", + "id": 318, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenOfOwnerByIndex", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 306, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6108:8:3" + }, + "parameters": { + "id": 305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 302, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 318, + "src": "6058:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6058:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 304, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 318, + "src": "6073:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 303, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6073:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6057:30:3" + }, + "returnParameters": { + "id": 309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 308, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 318, + "src": "6126:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 307, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6126:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6125:9:3" + }, + "scope": 997, + "src": "6029:160:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1536 + ], + "body": { + "id": 329, + "nodeType": "Block", + "src": "6330:138:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 325, + "name": "_tokenOwners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 102, + "src": "6440:12:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage", + "typeString": "struct EnumerableMap.UintToAddressMap storage ref" + } + }, + "id": 326, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": 2339, + "src": "6440:19:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$2253_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintToAddressMap_$2253_storage_ptr_$", + "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer) view returns (uint256)" + } + }, + "id": 327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6440:21:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 324, + "id": 328, + "nodeType": "Return", + "src": "6433:28:3" + } + ] + }, + "documentation": { + "id": 319, + "nodeType": "StructuredDocumentation", + "src": "6195:60:3", + "text": "@dev See {IERC721Enumerable-totalSupply}." + }, + "functionSelector": "18160ddd", + "id": 330, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 321, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6303:8:3" + }, + "parameters": { + "id": 320, + "nodeType": "ParameterList", + "parameters": [], + "src": "6280:2:3" + }, + "returnParameters": { + "id": 324, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 323, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 330, + "src": "6321:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 322, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6321:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6320:9:3" + }, + "scope": 997, + "src": "6260:208:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1554 + ], + "body": { + "id": 348, + "nodeType": "Block", + "src": "6624:85:3", + "statements": [ + { + "assignments": [ + 340, + null + ], + "declarations": [ + { + "constant": false, + "id": 340, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 348, + "src": "6635:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 339, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6635:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + null + ], + "id": 345, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 343, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 333, + "src": "6672:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 341, + "name": "_tokenOwners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 102, + "src": "6656:12:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage", + "typeString": "struct EnumerableMap.UintToAddressMap storage ref" + } + }, + "id": 342, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "at", + "nodeType": "MemberAccess", + "referencedDeclaration": 2378, + "src": "6656:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$2253_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_address_$bound_to$_t_struct$_UintToAddressMap_$2253_storage_ptr_$", + "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256) view returns (uint256,address)" + } + }, + "id": 344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6656:22:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$", + "typeString": "tuple(uint256,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6634:44:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 346, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 340, + "src": "6695:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 338, + "id": 347, + "nodeType": "Return", + "src": "6688:14:3" + } + ] + }, + "documentation": { + "id": 331, + "nodeType": "StructuredDocumentation", + "src": "6474:61:3", + "text": "@dev See {IERC721Enumerable-tokenByIndex}." + }, + "functionSelector": "4f6ccce7", + "id": 349, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenByIndex", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 335, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6597:8:3" + }, + "parameters": { + "id": 334, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 333, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 349, + "src": "6562:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 332, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6562:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6561:15:3" + }, + "returnParameters": { + "id": 338, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 337, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 349, + "src": "6615:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 336, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6615:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6614:9:3" + }, + "scope": 997, + "src": "6540:169:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1485 + ], + "body": { + "id": 392, + "nodeType": "Block", + "src": "6836:325:3", + "statements": [ + { + "assignments": [ + 359 + ], + "declarations": [ + { + "constant": false, + "id": 359, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 392, + "src": "6846:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 358, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6846:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 364, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 362, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 354, + "src": "6877:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 360, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 997, + "src": "6862:6:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$997_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 202, + "src": "6862:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6862:23:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6846:39:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 366, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 352, + "src": "6903:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 367, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 359, + "src": "6909:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6903:11:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572", + "id": 369, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6916:35:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "typeString": "literal_string \"ERC721: approval to current owner\"" + }, + "value": "ERC721: approval to current owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", + "typeString": "literal_string \"ERC721: approval to current owner\"" + } + ], + "id": 365, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6895:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6895:57:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 371, + "nodeType": "ExpressionStatement", + "src": "6895:57:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 373, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "6971:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", + "typeString": "function () view returns (address payable)" + } + }, + "id": 374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6971:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 375, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 359, + "src": "6987:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6971:21:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 379, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 359, + "src": "7020:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 380, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "7027:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", + "typeString": "function () view returns (address payable)" + } + }, + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7027:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + ], + "expression": { + "argumentTypes": null, + "id": 377, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 997, + "src": "6996:6:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$997_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isApprovedForAll", + "nodeType": "MemberAccess", + "referencedDeclaration": 466, + "src": "6996:23:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6996:44:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6971:69:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c", + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7054:58:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", + "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" + }, + "value": "ERC721: approve caller is not owner nor approved for all" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", + "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" + } + ], + "id": 372, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6963:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6963:159:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 386, + "nodeType": "ExpressionStatement", + "src": "6963:159:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 388, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 352, + "src": "7142:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 389, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 354, + "src": "7146:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 387, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "7133:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7133:21:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 391, + "nodeType": "ExpressionStatement", + "src": "7133:21:3" + } + ] + }, + "documentation": { + "id": 350, + "nodeType": "StructuredDocumentation", + "src": "6715:46:3", + "text": "@dev See {IERC721-approve}." + }, + "functionSelector": "095ea7b3", + "id": 393, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 356, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6827:8:3" + }, + "parameters": { + "id": 355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 352, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 393, + "src": "6783:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 351, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6783:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 354, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 393, + "src": "6795:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 353, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6795:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6782:29:3" + }, + "returnParameters": { + "id": 357, + "nodeType": "ParameterList", + "parameters": [], + "src": "6836:0:3" + }, + "scope": 997, + "src": "6766:395:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1493 + ], + "body": { + "id": 413, + "nodeType": "Block", + "src": "7307:132:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 404, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 396, + "src": "7333:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 403, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 585, + "src": "7325:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7325:16:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e", + "id": 406, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7343:46:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", + "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" + }, + "value": "ERC721: approved query for nonexistent token" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", + "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" + } + ], + "id": 402, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7317:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7317:73:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 408, + "nodeType": "ExpressionStatement", + "src": "7317:73:3" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 409, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "7408:15:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 411, + "indexExpression": { + "argumentTypes": null, + "id": 410, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 396, + "src": "7424:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7408:24:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 401, + "id": 412, + "nodeType": "Return", + "src": "7401:31:3" + } + ] + }, + "documentation": { + "id": 394, + "nodeType": "StructuredDocumentation", + "src": "7167:50:3", + "text": "@dev See {IERC721-getApproved}." + }, + "functionSelector": "081812fc", + "id": 414, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 398, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7280:8:3" + }, + "parameters": { + "id": 397, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 396, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 414, + "src": "7243:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 395, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7243:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7242:17:3" + }, + "returnParameters": { + "id": 401, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 400, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 414, + "src": "7298:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 399, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7298:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7297:9:3" + }, + "scope": 997, + "src": "7222:217:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1501 + ], + "body": { + "id": 447, + "nodeType": "Block", + "src": "7590:206:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 424, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 417, + "src": "7608:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 425, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "7620:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", + "typeString": "function () view returns (address payable)" + } + }, + "id": 426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7620:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "7608:24:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7634:27:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "typeString": "literal_string \"ERC721: approve to caller\"" + }, + "value": "ERC721: approve to caller" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "typeString": "literal_string \"ERC721: approve to caller\"" + } + ], + "id": 423, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7600:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7600:62:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 430, + "nodeType": "ExpressionStatement", + "src": "7600:62:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 431, + "name": "_operatorApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 112, + "src": "7673:18:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 435, + "indexExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 432, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "7692:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", + "typeString": "function () view returns (address payable)" + } + }, + "id": 433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7692:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7673:32:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 436, + "indexExpression": { + "argumentTypes": null, + "id": 434, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 417, + "src": "7706:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7673:42:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 437, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 419, + "src": "7718:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7673:53:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 439, + "nodeType": "ExpressionStatement", + "src": "7673:53:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 441, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "7756:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", + "typeString": "function () view returns (address payable)" + } + }, + "id": 442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7756:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 443, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 417, + "src": "7770:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 444, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 419, + "src": "7780:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 440, + "name": "ApprovalForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1441, + "src": "7741:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,address,bool)" + } + }, + "id": 445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7741:48:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 446, + "nodeType": "EmitStatement", + "src": "7736:53:3" + } + ] + }, + "documentation": { + "id": 415, + "nodeType": "StructuredDocumentation", + "src": "7445:56:3", + "text": "@dev See {IERC721-setApprovalForAll}." + }, + "functionSelector": "a22cb465", + "id": 448, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 421, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7581:8:3" + }, + "parameters": { + "id": 420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 417, + "mutability": "mutable", + "name": "operator", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 448, + "src": "7533:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7533:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 419, + "mutability": "mutable", + "name": "approved", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 448, + "src": "7551:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 418, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7551:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7532:33:3" + }, + "returnParameters": { + "id": 422, + "nodeType": "ParameterList", + "parameters": [], + "src": "7590:0:3" + }, + "scope": 997, + "src": "7506:290:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1511 + ], + "body": { + "id": 465, + "nodeType": "Block", + "src": "7965:59:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 459, + "name": "_operatorApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 112, + "src": "7982:18:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 461, + "indexExpression": { + "argumentTypes": null, + "id": 460, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 451, + "src": "8001:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7982:25:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 463, + "indexExpression": { + "argumentTypes": null, + "id": 462, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 453, + "src": "8008:8:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7982:35:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 458, + "id": 464, + "nodeType": "Return", + "src": "7975:42:3" + } + ] + }, + "documentation": { + "id": 449, + "nodeType": "StructuredDocumentation", + "src": "7802:55:3", + "text": "@dev See {IERC721-isApprovedForAll}." + }, + "functionSelector": "e985e9c5", + "id": 466, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 455, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7941:8:3" + }, + "parameters": { + "id": 454, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 451, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 466, + "src": "7888:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 450, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7888:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 453, + "mutability": "mutable", + "name": "operator", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 466, + "src": "7903:16:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 452, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7903:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7887:33:3" + }, + "returnParameters": { + "id": 458, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 457, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 466, + "src": "7959:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 456, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7959:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7958:6:3" + }, + "scope": 997, + "src": "7862:162:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1477 + ], + "body": { + "id": 492, + "nodeType": "Block", + "src": "8175:211:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 479, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "8264:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", + "typeString": "function () view returns (address payable)" + } + }, + "id": 480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8264:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 481, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 473, + "src": "8278:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 478, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 627, + "src": "8245:18:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8245:41:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", + "id": 483, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8288:51:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", + "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" + }, + "value": "ERC721: transfer caller is not owner nor approved" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", + "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" + } + ], + "id": 477, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8237:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8237:103:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 485, + "nodeType": "ExpressionStatement", + "src": "8237:103:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 487, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 469, + "src": "8361:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 488, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 471, + "src": "8367:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 489, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 473, + "src": "8371:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 486, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 871, + "src": "8351:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8351:28:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 491, + "nodeType": "ExpressionStatement", + "src": "8351:28:3" + } + ] + }, + "documentation": { + "id": 467, + "nodeType": "StructuredDocumentation", + "src": "8030:51:3", + "text": "@dev See {IERC721-transferFrom}." + }, + "functionSelector": "23b872dd", + "id": 493, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 475, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "8166:8:3" + }, + "parameters": { + "id": 474, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 469, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 493, + "src": "8108:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 468, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8108:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 471, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 493, + "src": "8122:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 470, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8122:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 473, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 493, + "src": "8134:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 472, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8134:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8107:43:3" + }, + "returnParameters": { + "id": 476, + "nodeType": "ParameterList", + "parameters": [], + "src": "8175:0:3" + }, + "scope": 997, + "src": "8086:300:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1467 + ], + "body": { + "id": 511, + "nodeType": "Block", + "src": "8545:56:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 505, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 496, + "src": "8572:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 506, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 498, + "src": "8578:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 507, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 500, + "src": "8582:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "", + "id": 508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8591:2:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 504, + "name": "safeTransferFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 512, + 542 + ], + "referencedDeclaration": 542, + "src": "8555:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,bytes memory)" + } + }, + "id": 509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8555:39:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 510, + "nodeType": "ExpressionStatement", + "src": "8555:39:3" + } + ] + }, + "documentation": { + "id": 494, + "nodeType": "StructuredDocumentation", + "src": "8392:55:3", + "text": "@dev See {IERC721-safeTransferFrom}." + }, + "functionSelector": "42842e0e", + "id": 512, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 502, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "8536:8:3" + }, + "parameters": { + "id": 501, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 496, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 512, + "src": "8478:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 495, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8478:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 498, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 512, + "src": "8492:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 497, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8492:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 500, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 512, + "src": "8504:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 499, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8504:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8477:43:3" + }, + "returnParameters": { + "id": 503, + "nodeType": "ParameterList", + "parameters": [], + "src": "8545:0:3" + }, + "scope": 997, + "src": "8452:149:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1523 + ], + "body": { + "id": 541, + "nodeType": "Block", + "src": "8780:169:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 527, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "8817:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", + "typeString": "function () view returns (address payable)" + } + }, + "id": 528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8817:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 529, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "8831:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 526, + "name": "_isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 627, + "src": "8798:18:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) view returns (bool)" + } + }, + "id": 530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8798:41:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", + "id": 531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8841:51:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", + "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" + }, + "value": "ERC721: transfer caller is not owner nor approved" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", + "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" + } + ], + "id": 525, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8790:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8790:103:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 533, + "nodeType": "ExpressionStatement", + "src": "8790:103:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 535, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 515, + "src": "8917:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 536, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 517, + "src": "8923:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 537, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "8927:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 538, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 521, + "src": "8936:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 534, + "name": "_safeTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 571, + "src": "8903:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,bytes memory)" + } + }, + "id": 539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8903:39:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 540, + "nodeType": "ExpressionStatement", + "src": "8903:39:3" + } + ] + }, + "documentation": { + "id": 513, + "nodeType": "StructuredDocumentation", + "src": "8607:55:3", + "text": "@dev See {IERC721-safeTransferFrom}." + }, + "functionSelector": "b88d4fde", + "id": 542, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 523, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "8771:8:3" + }, + "parameters": { + "id": 522, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 515, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 542, + "src": "8693:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 514, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8693:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 517, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 542, + "src": "8707:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 516, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8707:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 519, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 542, + "src": "8719:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 518, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8719:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 521, + "mutability": "mutable", + "name": "_data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 542, + "src": "8736:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 520, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "8736:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8692:63:3" + }, + "returnParameters": { + "id": 524, + "nodeType": "ParameterList", + "parameters": [], + "src": "8780:0:3" + }, + "scope": 997, + "src": "8667:282:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 570, + "nodeType": "Block", + "src": "9914:166:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 555, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "9934:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 556, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "9940:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 557, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 549, + "src": "9944:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 554, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 871, + "src": "9924:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9924:28:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 559, + "nodeType": "ExpressionStatement", + "src": "9924:28:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 562, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 545, + "src": "9993:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 563, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 547, + "src": "9999:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 564, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 549, + "src": "10003:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 565, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 551, + "src": "10012:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 561, + "name": "_checkOnERC721Received", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 962, + "src": "9970:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,address,uint256,bytes memory) returns (bool)" + } + }, + "id": 566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9970:48:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", + "id": 567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10020:52:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" + }, + "value": "ERC721: transfer to non ERC721Receiver implementer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" + } + ], + "id": 560, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9962:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9962:111:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 569, + "nodeType": "ExpressionStatement", + "src": "9962:111:3" + } + ] + }, + "documentation": { + "id": 543, + "nodeType": "StructuredDocumentation", + "src": "8955:851:3", + "text": "@dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\nare aware of the ERC721 protocol to prevent tokens from being forever locked.\n * `_data` is additional data, it has no specified format and it is sent in call to `to`.\n * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\nimplement alternative mechanisms to perform token transfer, such as signature-based.\n * Requirements:\n * - `from` cannot be the zero address.\n- `to` cannot be the zero address.\n- `tokenId` token must exist and be owned by `from`.\n- If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n * Emits a {Transfer} event." + }, + "id": 571, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_safeTransfer", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 552, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 545, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 571, + "src": "9834:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 544, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9834:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 547, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 571, + "src": "9848:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 546, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9848:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 549, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 571, + "src": "9860:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 548, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9860:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 551, + "mutability": "mutable", + "name": "_data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 571, + "src": "9877:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 550, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9877:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9833:63:3" + }, + "returnParameters": { + "id": 553, + "nodeType": "ParameterList", + "parameters": [], + "src": "9914:0:3" + }, + "scope": 997, + "src": "9811:269:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 584, + "nodeType": "Block", + "src": "10454:54:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 581, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 574, + "src": "10493:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 579, + "name": "_tokenOwners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 102, + "src": "10471:12:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage", + "typeString": "struct EnumerableMap.UintToAddressMap storage ref" + } + }, + "id": 580, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contains", + "nodeType": "MemberAccess", + "referencedDeclaration": 2325, + "src": "10471:21:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$2253_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$2253_storage_ptr_$", + "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256) view returns (bool)" + } + }, + "id": 582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10471:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 578, + "id": 583, + "nodeType": "Return", + "src": "10464:37:3" + } + ] + }, + "documentation": { + "id": 572, + "nodeType": "StructuredDocumentation", + "src": "10086:292:3", + "text": "@dev Returns whether `tokenId` exists.\n * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n * Tokens start existing when they are minted (`_mint`),\nand stop existing when they are burned (`_burn`)." + }, + "id": 585, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_exists", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 575, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 574, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 585, + "src": "10400:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 573, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10400:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10399:17:3" + }, + "returnParameters": { + "id": 578, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 577, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 585, + "src": "10448:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 576, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10448:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10447:6:3" + }, + "scope": 997, + "src": "10383:125:3", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 626, + "nodeType": "Block", + "src": "10765:252:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 597, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 590, + "src": "10791:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 596, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 585, + "src": "10783:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10783:16:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e", + "id": 599, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10801:46:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", + "typeString": "literal_string \"ERC721: operator query for nonexistent token\"" + }, + "value": "ERC721: operator query for nonexistent token" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", + "typeString": "literal_string \"ERC721: operator query for nonexistent token\"" + } + ], + "id": 595, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10775:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10775:73:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 601, + "nodeType": "ExpressionStatement", + "src": "10775:73:3" + }, + { + "assignments": [ + 603 + ], + "declarations": [ + { + "constant": false, + "id": 603, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 626, + "src": "10858:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 602, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10858:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 608, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 606, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 590, + "src": "10889:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 604, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 997, + "src": "10874:6:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$997_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 202, + "src": "10874:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10874:23:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10858:39:3" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 609, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 588, + "src": "10915:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 610, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "10926:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10915:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 613, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 590, + "src": "10947:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 612, + "name": "getApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 414, + "src": "10935:11:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10935:20:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 615, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 588, + "src": "10959:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10935:31:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10915:51:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 620, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "10994:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 621, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 588, + "src": "11001:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 618, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 997, + "src": "10970:6:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$997_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isApprovedForAll", + "nodeType": "MemberAccess", + "referencedDeclaration": 466, + "src": "10970:23:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10970:39:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10915:94:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 624, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "10914:96:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 594, + "id": 625, + "nodeType": "Return", + "src": "10907:103:3" + } + ] + }, + "documentation": { + "id": 586, + "nodeType": "StructuredDocumentation", + "src": "10514:147:3", + "text": "@dev Returns whether `spender` is allowed to manage `tokenId`.\n * Requirements:\n * - `tokenId` must exist." + }, + "id": 627, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_isApprovedOrOwner", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 588, + "mutability": "mutable", + "name": "spender", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 627, + "src": "10694:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 587, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10694:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 590, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 627, + "src": "10711:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 589, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10711:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10693:34:3" + }, + "returnParameters": { + "id": 594, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 593, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 627, + "src": "10759:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 592, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10759:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "10758:6:3" + }, + "scope": 997, + "src": "10666:351:3", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 641, + "nodeType": "Block", + "src": "11413:43:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 636, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 630, + "src": "11433:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 637, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 632, + "src": "11437:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "hexValue": "", + "id": 638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11446:2:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 635, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 642, + 671 + ], + "referencedDeclaration": 671, + "src": "11423:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,bytes memory)" + } + }, + "id": 639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11423:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 640, + "nodeType": "ExpressionStatement", + "src": "11423:26:3" + } + ] + }, + "documentation": { + "id": 628, + "nodeType": "StructuredDocumentation", + "src": "11023:320:3", + "text": "@dev Safely mints `tokenId` and transfers it to `to`.\n * Requirements:\nd*\n- `tokenId` must not exist.\n- If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n * Emits a {Transfer} event." + }, + "id": 642, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_safeMint", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 630, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 642, + "src": "11367:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 629, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11367:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 632, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 642, + "src": "11379:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 631, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11379:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11366:29:3" + }, + "returnParameters": { + "id": 634, + "nodeType": "ParameterList", + "parameters": [], + "src": "11413:0:3" + }, + "scope": 997, + "src": "11348:108:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 670, + "nodeType": "Block", + "src": "11762:162:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 653, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 645, + "src": "11778:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 654, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "11782:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 652, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 730, + "src": "11772:5:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11772:18:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 656, + "nodeType": "ExpressionStatement", + "src": "11772:18:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11839:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 660, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11831:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 659, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11831:7:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11831:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 663, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 645, + "src": "11843:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 664, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 647, + "src": "11847:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 665, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 649, + "src": "11856:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 658, + "name": "_checkOnERC721Received", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 962, + "src": "11808:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,address,uint256,bytes memory) returns (bool)" + } + }, + "id": 666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11808:54:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", + "id": 667, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11864:52:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" + }, + "value": "ERC721: transfer to non ERC721Receiver implementer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" + } + ], + "id": 657, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "11800:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11800:117:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 669, + "nodeType": "ExpressionStatement", + "src": "11800:117:3" + } + ] + }, + "documentation": { + "id": 643, + "nodeType": "StructuredDocumentation", + "src": "11462:210:3", + "text": "@dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\nforwarded in {IERC721Receiver-onERC721Received} to contract recipients." + }, + "id": 671, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_safeMint", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 650, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 645, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 671, + "src": "11696:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 644, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11696:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 647, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 671, + "src": "11708:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 646, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11708:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 649, + "mutability": "mutable", + "name": "_data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 671, + "src": "11725:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 648, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11725:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "11695:49:3" + }, + "returnParameters": { + "id": 651, + "nodeType": "ParameterList", + "parameters": [], + "src": "11762:0:3" + }, + "scope": 997, + "src": "11677:247:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 729, + "nodeType": "Block", + "src": "12307:332:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 680, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "12325:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12339:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 682, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12331:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 681, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12331:7:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12331:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "12325:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", + "id": 686, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12343:34:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "typeString": "literal_string \"ERC721: mint to the zero address\"" + }, + "value": "ERC721: mint to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "typeString": "literal_string \"ERC721: mint to the zero address\"" + } + ], + "id": 679, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "12317:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12317:61:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 688, + "nodeType": "ExpressionStatement", + "src": "12317:61:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "12396:17:3", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 691, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "12405:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 690, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 585, + "src": "12397:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12397:16:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", + "id": 694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12415:30:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "typeString": "literal_string \"ERC721: token already minted\"" + }, + "value": "ERC721: token already minted" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", + "typeString": "literal_string \"ERC721: token already minted\"" + } + ], + "id": 689, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "12388:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12388:58:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 696, + "nodeType": "ExpressionStatement", + "src": "12388:58:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 700, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12486:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 699, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12478:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 698, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12478:7:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 701, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12478:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 702, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "12490:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 703, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "12494:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 697, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 996, + "src": "12457:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12457:45:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 705, + "nodeType": "ExpressionStatement", + "src": "12457:45:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 710, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "12535:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 706, + "name": "_holderTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 100, + "src": "12513:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$2876_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 708, + "indexExpression": { + "argumentTypes": null, + "id": 707, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "12527:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12513:17:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 709, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 2896, + "src": "12513:21:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$2876_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$2876_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" + } + }, + "id": 711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12513:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 712, + "nodeType": "ExpressionStatement", + "src": "12513:30:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 716, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "12571:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 717, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "12580:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 713, + "name": "_tokenOwners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 102, + "src": "12554:12:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage", + "typeString": "struct EnumerableMap.UintToAddressMap storage ref" + } + }, + "id": 715, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "set", + "nodeType": "MemberAccess", + "referencedDeclaration": 2285, + "src": "12554:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintToAddressMap_$2253_storage_ptr_$_t_uint256_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$2253_storage_ptr_$", + "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256,address) returns (bool)" + } + }, + "id": 718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12554:29:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 719, + "nodeType": "ExpressionStatement", + "src": "12554:29:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12616:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12608:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 721, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12608:7:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 724, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12608:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 725, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 674, + "src": "12620:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 726, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 676, + "src": "12624:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 720, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "12599:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12599:33:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 728, + "nodeType": "EmitStatement", + "src": "12594:38:3" + } + ] + }, + "documentation": { + "id": 672, + "nodeType": "StructuredDocumentation", + "src": "11930:311:3", + "text": "@dev Mints `tokenId` and transfers it to `to`.\n * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n * Requirements:\n * - `tokenId` must not exist.\n- `to` cannot be the zero address.\n * Emits a {Transfer} event." + }, + "id": 730, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 677, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 674, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 730, + "src": "12261:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 673, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12261:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 676, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 730, + "src": "12273:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 675, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12273:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12260:29:3" + }, + "returnParameters": { + "id": 678, + "nodeType": "ParameterList", + "parameters": [], + "src": "12307:0:3" + }, + "scope": 997, + "src": "12246:393:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 798, + "nodeType": "Block", + "src": "12905:478:3", + "statements": [ + { + "assignments": [ + 737 + ], + "declarations": [ + { + "constant": false, + "id": 737, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 798, + "src": "12915:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 736, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12915:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 742, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 740, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 733, + "src": "12946:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 738, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 997, + "src": "12931:6:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$997_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 202, + "src": "12931:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12931:23:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12915:39:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 744, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 737, + "src": "13004:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13019:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13011:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 745, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13011:7:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13011:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 749, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 733, + "src": "13023:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 743, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 996, + "src": "12983:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12983:48:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 751, + "nodeType": "ExpressionStatement", + "src": "12983:48:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 755, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13086:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 754, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13078:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 753, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13078:7:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13078:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 757, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 733, + "src": "13090:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 752, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "13069:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13069:29:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 759, + "nodeType": "ExpressionStatement", + "src": "13069:29:3" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 762, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120, + "src": "13154:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 764, + "indexExpression": { + "argumentTypes": null, + "id": 763, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 733, + "src": "13165:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13154:19:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "id": 761, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13148:5:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 760, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "13148:5:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13148:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + }, + "id": 766, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "13148:33:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 767, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13185:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "13148:38:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 775, + "nodeType": "IfStatement", + "src": "13144:95:3", + "trueBody": { + "id": 774, + "nodeType": "Block", + "src": "13188:51:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "13202:26:3", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 769, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120, + "src": "13209:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 771, + "indexExpression": { + "argumentTypes": null, + "id": 770, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 733, + "src": "13220:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13209:19:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 773, + "nodeType": "ExpressionStatement", + "src": "13202:26:3" + } + ] + } + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 780, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 733, + "src": "13277:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 776, + "name": "_holderTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 100, + "src": "13249:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$2876_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 778, + "indexExpression": { + "argumentTypes": null, + "id": 777, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 737, + "src": "13263:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13249:20:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 779, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove", + "nodeType": "MemberAccess", + "referencedDeclaration": 2916, + "src": "13249:27:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$2876_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$2876_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" + } + }, + "id": 781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13249:36:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 782, + "nodeType": "ExpressionStatement", + "src": "13249:36:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 786, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 733, + "src": "13316:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 783, + "name": "_tokenOwners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 102, + "src": "13296:12:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage", + "typeString": "struct EnumerableMap.UintToAddressMap storage ref" + } + }, + "id": 785, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove", + "nodeType": "MemberAccess", + "referencedDeclaration": 2305, + "src": "13296:19:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintToAddressMap_$2253_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$2253_storage_ptr_$", + "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256) returns (bool)" + } + }, + "id": 787, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13296:28:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 788, + "nodeType": "ExpressionStatement", + "src": "13296:28:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 790, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 737, + "src": "13349:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13364:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13356:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 791, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13356:7:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 794, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13356:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 795, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 733, + "src": "13368:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 789, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "13340:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13340:36:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 797, + "nodeType": "EmitStatement", + "src": "13335:41:3" + } + ] + }, + "documentation": { + "id": 731, + "nodeType": "StructuredDocumentation", + "src": "12645:206:3", + "text": "@dev Destroys `tokenId`.\nThe approval is cleared when the token is burned.\n * Requirements:\n * - `tokenId` must exist.\n * Emits a {Transfer} event." + }, + "id": 799, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 734, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 733, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 799, + "src": "12871:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 732, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12871:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "12870:17:3" + }, + "returnParameters": { + "id": 735, + "nodeType": "ParameterList", + "parameters": [], + "src": "12905:0:3" + }, + "scope": 997, + "src": "12856:527:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 870, + "nodeType": "Block", + "src": "13786:505:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 812, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 806, + "src": "13819:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 810, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 997, + "src": "13804:6:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$997_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 202, + "src": "13804:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13804:23:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 814, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 802, + "src": "13831:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "13804:31:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e", + "id": 816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13837:43:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950", + "typeString": "literal_string \"ERC721: transfer of token that is not own\"" + }, + "value": "ERC721: transfer of token that is not own" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950", + "typeString": "literal_string \"ERC721: transfer of token that is not own\"" + } + ], + "id": 809, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "13796:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13796:85:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 818, + "nodeType": "ExpressionStatement", + "src": "13796:85:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 820, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 804, + "src": "13917:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 823, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13931:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13923:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 821, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13923:7:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 824, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13923:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "src": "13917:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373", + "id": 826, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13935:38:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "typeString": "literal_string \"ERC721: transfer to the zero address\"" + }, + "value": "ERC721: transfer to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", + "typeString": "literal_string \"ERC721: transfer to the zero address\"" + } + ], + "id": 819, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "13909:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13909:65:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 828, + "nodeType": "ExpressionStatement", + "src": "13909:65:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 830, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 802, + "src": "14006:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 831, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 804, + "src": "14012:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 832, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 806, + "src": "14016:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 829, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 996, + "src": "13985:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13985:39:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 834, + "nodeType": "ExpressionStatement", + "src": "13985:39:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14103:1:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 837, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14095:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 836, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14095:7:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 839, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14095:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 840, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 806, + "src": "14107:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 835, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 985, + "src": "14086:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14086:29:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 842, + "nodeType": "ExpressionStatement", + "src": "14086:29:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 847, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 806, + "src": "14153:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 843, + "name": "_holderTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 100, + "src": "14126:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$2876_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 845, + "indexExpression": { + "argumentTypes": null, + "id": 844, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 802, + "src": "14140:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14126:19:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 846, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "remove", + "nodeType": "MemberAccess", + "referencedDeclaration": 2916, + "src": "14126:26:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$2876_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$2876_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" + } + }, + "id": 848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14126:35:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 849, + "nodeType": "ExpressionStatement", + "src": "14126:35:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 854, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 806, + "src": "14193:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 850, + "name": "_holderTokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 100, + "src": "14171:13:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$2876_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 852, + "indexExpression": { + "argumentTypes": null, + "id": 851, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 804, + "src": "14185:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14171:17:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 853, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 2896, + "src": "14171:21:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$2876_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$2876_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" + } + }, + "id": 855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14171:30:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 856, + "nodeType": "ExpressionStatement", + "src": "14171:30:3" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 860, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 806, + "src": "14229:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 861, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 804, + "src": "14238:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 857, + "name": "_tokenOwners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 102, + "src": "14212:12:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage", + "typeString": "struct EnumerableMap.UintToAddressMap storage ref" + } + }, + "id": 859, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "set", + "nodeType": "MemberAccess", + "referencedDeclaration": 2285, + "src": "14212:16:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintToAddressMap_$2253_storage_ptr_$_t_uint256_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$2253_storage_ptr_$", + "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256,address) returns (bool)" + } + }, + "id": 862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14212:29:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 863, + "nodeType": "ExpressionStatement", + "src": "14212:29:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 865, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 802, + "src": "14266:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 866, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 804, + "src": "14272:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 867, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 806, + "src": "14276:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 864, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "14257:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14257:27:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 869, + "nodeType": "EmitStatement", + "src": "14252:32:3" + } + ] + }, + "documentation": { + "id": 800, + "nodeType": "StructuredDocumentation", + "src": "13389:313:3", + "text": "@dev Transfers `tokenId` from `from` to `to`.\n As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n * Requirements:\n * - `to` cannot be the zero address.\n- `tokenId` token must be owned by `from`.\n * Emits a {Transfer} event." + }, + "id": 871, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transfer", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 807, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 802, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 871, + "src": "13726:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 801, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13726:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 804, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 871, + "src": "13740:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 803, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13740:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 806, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 871, + "src": "13752:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 805, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13752:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "13725:43:3" + }, + "returnParameters": { + "id": 808, + "nodeType": "ParameterList", + "parameters": [], + "src": "13786:0:3" + }, + "scope": 997, + "src": "13707:584:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 892, + "nodeType": "Block", + "src": "14519:131:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 881, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 874, + "src": "14545:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 880, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 585, + "src": "14537:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14537:16:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e", + "id": 883, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14555:46:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_94be4a260caaeac1b145f03ffa2e70bc612b64982d04f24073aaf3a5f9009978", + "typeString": "literal_string \"ERC721Metadata: URI set of nonexistent token\"" + }, + "value": "ERC721Metadata: URI set of nonexistent token" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_94be4a260caaeac1b145f03ffa2e70bc612b64982d04f24073aaf3a5f9009978", + "typeString": "literal_string \"ERC721Metadata: URI set of nonexistent token\"" + } + ], + "id": 879, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "14529:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14529:73:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 885, + "nodeType": "ExpressionStatement", + "src": "14529:73:3" + }, + { + "expression": { + "argumentTypes": null, + "id": 890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 886, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 120, + "src": "14612:10:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 888, + "indexExpression": { + "argumentTypes": null, + "id": 887, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 874, + "src": "14623:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14612:19:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 889, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 876, + "src": "14634:9:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "14612:31:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 891, + "nodeType": "ExpressionStatement", + "src": "14612:31:3" + } + ] + }, + "documentation": { + "id": 872, + "nodeType": "StructuredDocumentation", + "src": "14297:136:3", + "text": "@dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n * Requirements:\n * - `tokenId` must exist." + }, + "id": 893, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setTokenURI", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 877, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 874, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 893, + "src": "14460:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 873, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14460:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 876, + "mutability": "mutable", + "name": "_tokenURI", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 893, + "src": "14477:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 875, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14477:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14459:42:3" + }, + "returnParameters": { + "id": 878, + "nodeType": "ParameterList", + "parameters": [], + "src": "14519:0:3" + }, + "scope": 997, + "src": "14438:212:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 903, + "nodeType": "Block", + "src": "14935:36:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 899, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 122, + "src": "14945:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 900, + "name": "baseURI_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 896, + "src": "14956:8:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "14945:19:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 902, + "nodeType": "ExpressionStatement", + "src": "14945:19:3" + } + ] + }, + "documentation": { + "id": 894, + "nodeType": "StructuredDocumentation", + "src": "14656:212:3", + "text": "@dev Internal function to set the base URI for all token IDs. It is\nautomatically added as a prefix to the value returned in {tokenURI},\nor to the token ID if {tokenURI} is empty." + }, + "id": 904, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setBaseURI", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 896, + "mutability": "mutable", + "name": "baseURI_", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 904, + "src": "14894:22:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 895, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14894:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "14893:24:3" + }, + "returnParameters": { + "id": 898, + "nodeType": "ParameterList", + "parameters": [], + "src": "14935:0:3" + }, + "scope": 997, + "src": "14873:98:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 961, + "nodeType": "Block", + "src": "15654:459:3", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "15668:16:3", + "subExpression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "id": 918, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 909, + "src": "15669:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 1620, + "src": "15669:13:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15669:15:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 925, + "nodeType": "IfStatement", + "src": "15664:58:3", + "trueBody": { + "id": 924, + "nodeType": "Block", + "src": "15686:36:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 922, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15707:4:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 917, + "id": 923, + "nodeType": "Return", + "src": "15700:11:3" + } + ] + } + }, + { + "assignments": [ + 927 + ], + "declarations": [ + { + "constant": false, + "id": 927, + "mutability": "mutable", + "name": "returndata", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 961, + "src": "15731:23:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 926, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15731:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 945, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 933, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 909, + "src": "15825:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 932, + "name": "IERC721Receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1600, + "src": "15809:15:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1600_$", + "typeString": "type(contract IERC721Receiver)" + } + }, + "id": 934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15809:19:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721Receiver_$1600", + "typeString": "contract IERC721Receiver" + } + }, + "id": 935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "onERC721Received", + "nodeType": "MemberAccess", + "referencedDeclaration": 1599, + "src": "15809:36:3", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", + "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" + } + }, + "id": 936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "selector", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15809:45:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 937, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1907, + "src": "15868:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", + "typeString": "function () view returns (address payable)" + } + }, + "id": 938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15868:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + { + "argumentTypes": null, + "id": 939, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 907, + "src": "15894:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 940, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 911, + "src": "15912:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "id": 941, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 913, + "src": "15933:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": null, + "id": 930, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15773:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "15773:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15773:175:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", + "id": 943, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15950:52:3", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" + }, + "value": "ERC721: transfer to non ERC721Receiver implementer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" + } + ], + "expression": { + "argumentTypes": null, + "id": 928, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 909, + "src": "15757:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "functionCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 1691, + "src": "15757:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$bound_to$_t_address_$", + "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" + } + }, + "id": 944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15757:246:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15731:272:3" + }, + { + "assignments": [ + 947 + ], + "declarations": [ + { + "constant": false, + "id": 947, + "mutability": "mutable", + "name": "retval", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 961, + "src": "16013:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 946, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "16013:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 955, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 950, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 927, + "src": "16040:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 952, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16053:6:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 951, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "16053:6:3", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + } + ], + "id": 953, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16052:8:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + } + ], + "expression": { + "argumentTypes": null, + "id": 948, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16029:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 949, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "decode", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "16029:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16029:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16013:48:3" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 956, + "name": "retval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 947, + "src": "16079:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 957, + "name": "_ERC721_RECEIVED", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "16089:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "16079:26:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 959, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16078:28:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 917, + "id": 960, + "nodeType": "Return", + "src": "16071:35:3" + } + ] + }, + "documentation": { + "id": 905, + "nodeType": "StructuredDocumentation", + "src": "14977:542:3", + "text": "@dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\nThe call is not executed if the target address is not a contract.\n * @param from address representing the previous owner of the given token ID\n@param to target address that will receive the tokens\n@param tokenId uint256 ID of the token to be transferred\n@param _data bytes optional data to send along with the call\n@return bool whether the call correctly returned the expected magic value" + }, + "id": 962, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkOnERC721Received", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 914, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 907, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 962, + "src": "15556:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15556:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 909, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 962, + "src": "15570:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 908, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15570:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 911, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 962, + "src": "15582:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 910, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15582:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 913, + "mutability": "mutable", + "name": "_data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 962, + "src": "15599:18:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 912, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15599:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15555:63:3" + }, + "returnParameters": { + "id": 917, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 916, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 962, + "src": "15644:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 915, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15644:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "15643:6:3" + }, + "scope": 997, + "src": "15524:589:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 984, + "nodeType": "Block", + "src": "16174:125:3", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 969, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "16184:15:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 971, + "indexExpression": { + "argumentTypes": null, + "id": 970, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 966, + "src": "16200:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "16184:24:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 972, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 964, + "src": "16211:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16184:29:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 974, + "nodeType": "ExpressionStatement", + "src": "16184:29:3" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 978, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 966, + "src": "16252:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "argumentTypes": null, + "id": 976, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 997, + "src": "16237:6:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721_$997_$", + "typeString": "type(contract ERC721)" + } + }, + "id": 977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 202, + "src": "16237:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16237:23:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 980, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 964, + "src": "16262:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 981, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 966, + "src": "16266:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 975, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1432, + "src": "16228:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16228:46:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 983, + "nodeType": "EmitStatement", + "src": "16223:51:3" + } + ] + }, + "documentation": null, + "id": 985, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_approve", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 967, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 964, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 985, + "src": "16137:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 963, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16137:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 966, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 985, + "src": "16149:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 965, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16149:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16136:29:3" + }, + "returnParameters": { + "id": 968, + "nodeType": "ParameterList", + "parameters": [], + "src": "16174:0:3" + }, + "scope": 997, + "src": "16119:180:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 995, + "nodeType": "Block", + "src": "16985:3:3", + "statements": [] + }, + "documentation": { + "id": 986, + "nodeType": "StructuredDocumentation", + "src": "16305:585:3", + "text": "@dev Hook that is called before any token transfer. This includes minting\nand burning.\n * Calling conditions:\n * - When `from` and `to` are both non-zero, ``from``'s `tokenId` will be\ntransferred to `to`.\n- When `from` is zero, `tokenId` will be minted for `to`.\n- When `to` is zero, ``from``'s `tokenId` will be burned.\n- `from` cannot be the zero address.\n- `to` cannot be the zero address.\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." + }, + "id": 996, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeTokenTransfer", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 993, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 988, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 996, + "src": "16925:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 987, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16925:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 990, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 996, + "src": "16939:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 989, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16939:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 992, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 996, + "src": "16951:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 991, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16951:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "16924:43:3" + }, + "returnParameters": { + "id": 994, + "nodeType": "ParameterList", + "parameters": [], + "src": "16985:0:3" + }, + "scope": 997, + "src": "16895:93:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 998, + "src": "571:16419:3" + } + ], + "src": "33:16958:3" + }, + "bytecode": "60806040523480156200001157600080fd5b5060405162001d5038038062001d50833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405250620001bc91506301ffc9a760e01b90506001600160e01b036200024116565b8151620001d1906006906020850190620002c6565b508051620001e7906007906020840190620002c6565b50620002036380ac58cd60e01b6001600160e01b036200024116565b6200021e635b5e139f60e01b6001600160e01b036200024116565b6200023963780e9d6360e01b6001600160e01b036200024116565b50506200036b565b6001600160e01b03198082161415620002a1576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030957805160ff191683800117855562000339565b8280016001018555821562000339579182015b82811115620003395782518255916020019190600101906200031c565b50620003479291506200034b565b5090565b6200036891905b8082111562000347576000815560010162000352565b90565b6119d5806200037b6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80634f6ccce7116100a257806395d89b411161007157806395d89b4114610349578063a22cb46514610351578063b88d4fde1461037f578063c87b56dd14610445578063e985e9c5146104625761010b565b80634f6ccce7146102e15780636352211e146102fe5780636c0360eb1461031b57806370a08231146103235761010b565b806318160ddd116100de57806318160ddd1461022f57806323b872dd146102495780632f745c591461027f57806342842e0e146102ab5761010b565b806301ffc9a71461011057806306fdde031461014b578063081812fc146101c8578063095ea7b314610201575b600080fd5b6101376004803603602081101561012657600080fd5b50356001600160e01b031916610490565b604080519115158252519081900360200190f35b6101536104b3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018d578181015183820152602001610175565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e5600480360360208110156101de57600080fd5b5035610549565b604080516001600160a01b039092168252519081900360200190f35b61022d6004803603604081101561021757600080fd5b506001600160a01b0381351690602001356105ab565b005b610237610686565b60408051918252519081900360200190f35b61022d6004803603606081101561025f57600080fd5b506001600160a01b03813581169160208101359091169060400135610697565b6102376004803603604081101561029557600080fd5b506001600160a01b0381351690602001356106ee565b61022d600480360360608110156102c157600080fd5b506001600160a01b0381358116916020810135909116906040013561071f565b610237600480360360208110156102f757600080fd5b503561073a565b6101e56004803603602081101561031457600080fd5b5035610756565b610153610784565b6102376004803603602081101561033957600080fd5b50356001600160a01b03166107e5565b61015361084d565b61022d6004803603604081101561036757600080fd5b506001600160a01b03813516906020013515156108ae565b61022d6004803603608081101561039557600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156103d057600080fd5b8201836020820111156103e257600080fd5b8035906020019184600183028401116401000000008311171561040457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109b3945050505050565b6101536004803603602081101561045b57600080fd5b5035610a11565b6101376004803603604081101561047857600080fd5b506001600160a01b0381358116916020013516610c94565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b820191906000526020600020905b81548152906001019060200180831161052257829003601f168201915b5050505050905090565b600061055482610cc2565b61058f5760405162461bcd60e51b815260040180806020018281038252602c8152602001806118ca602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006105b682610756565b9050806001600160a01b0316836001600160a01b031614156106095760405162461bcd60e51b815260040180806020018281038252602181526020018061194e6021913960400191505060405180910390fd5b806001600160a01b031661061b610cd5565b6001600160a01b0316148061063c575061063c81610637610cd5565b610c94565b6106775760405162461bcd60e51b815260040180806020018281038252603881526020018061181d6038913960400191505060405180910390fd5b6106818383610cd9565b505050565b60006106926002610d47565b905090565b6106a86106a2610cd5565b82610d52565b6106e35760405162461bcd60e51b815260040180806020018281038252603181526020018061196f6031913960400191505060405180910390fd5b610681838383610df6565b6001600160a01b0382166000908152600160205260408120610716908363ffffffff610f5416565b90505b92915050565b610681838383604051806020016040528060008152506109b3565b60008061074e60028463ffffffff610f6016565b509392505050565b60006107198260405180606001604052806029815260200161187f602991396002919063ffffffff610f7c16565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b60006001600160a01b03821661082c5760405162461bcd60e51b815260040180806020018281038252602a815260200180611855602a913960400191505060405180910390fd5b6001600160a01b038216600090815260016020526040902061071990610d47565b60078054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b6108b6610cd5565b6001600160a01b0316826001600160a01b0316141561091c576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060056000610929610cd5565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff19169215159290921790915561096d610cd5565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b6109c46109be610cd5565b83610d52565b6109ff5760405162461bcd60e51b815260040180806020018281038252603181526020018061196f6031913960400191505060405180910390fd5b610a0b84848484610f93565b50505050565b6060610a1c82610cc2565b610a575760405162461bcd60e51b815260040180806020018281038252602f81526020018061191f602f913960400191505060405180910390fd5b60008281526008602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610aec5780601f10610ac157610100808354040283529160200191610aec565b820191906000526020600020905b815481529060010190602001808311610acf57829003601f168201915b505050505090506060610afd610784565b9050805160001415610b11575090506104ae565b815115610bd25780826040516020018083805190602001908083835b60208310610b4c5780518252601f199092019160209182019101610b2d565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610b945780518252601f199092019160209182019101610b75565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052925050506104ae565b80610bdc85610fe5565b6040516020018083805190602001908083835b60208310610c0e5780518252601f199092019160209182019101610bef565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610c565780518252601f199092019160209182019101610c37565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b600061071960028363ffffffff6110c016565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610d0e82610756565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610719826110cc565b6000610d5d82610cc2565b610d985760405162461bcd60e51b815260040180806020018281038252602c8152602001806117f1602c913960400191505060405180910390fd5b6000610da383610756565b9050806001600160a01b0316846001600160a01b03161480610dde5750836001600160a01b0316610dd384610549565b6001600160a01b0316145b80610dee5750610dee8185610c94565b949350505050565b826001600160a01b0316610e0982610756565b6001600160a01b031614610e4e5760405162461bcd60e51b81526004018080602001828103825260298152602001806118f66029913960400191505060405180910390fd5b6001600160a01b038216610e935760405162461bcd60e51b81526004018080602001828103825260248152602001806117cd6024913960400191505060405180910390fd5b610e9e838383610681565b610ea9600082610cd9565b6001600160a01b0383166000908152600160205260409020610ed1908263ffffffff6110d016565b506001600160a01b0382166000908152600160205260409020610efa908263ffffffff6110dc16565b50610f0d6002828463ffffffff6110e816565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600061071683836110fe565b6000808080610f6f8686611162565b9097909650945050505050565b6000610f898484846111dd565b90505b9392505050565b610f9e848484610df6565b610faa848484846112a7565b610a0b5760405162461bcd60e51b815260040180806020018281038252603281526020018061179b6032913960400191505060405180910390fd5b60608161100a57506040805180820190915260018152600360fc1b60208201526104ae565b8160005b811561102257600101600a8204915061100e565b60608167ffffffffffffffff8111801561103b57600080fd5b506040519080825280601f01601f191660200182016040528015611066576020820181803683370190505b50859350905060001982015b83156110b757600a840660300160f81b8282806001900393508151811061109557fe5b60200101906001600160f81b031916908160001a905350600a84049350611072565b50949350505050565b60006107168383611427565b5490565b6000610716838361143f565b60006107168383611505565b6000610f8984846001600160a01b03851661154f565b815460009082106111405760405162461bcd60e51b81526004018080602001828103825260228152602001806117796022913960400191505060405180910390fd5b82600001828154811061114f57fe5b9060005260206000200154905092915050565b8154600090819083106111a65760405162461bcd60e51b81526004018080602001828103825260228152602001806118a86022913960400191505060405180910390fd5b60008460000184815481106111b757fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082815260018401602052604081205482816112785760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561123d578181015183820152602001611225565b50505050905090810190601f16801561126a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061128b57fe5b9060005260206000209060020201600101549150509392505050565b60006112bb846001600160a01b03166115e6565b6112c757506001610dee565b60606113ed630a85bd0160e11b6112dc610cd5565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561135557818101518382015260200161133d565b50505050905090810190601f1680156113825780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505060405180606001604052806032815260200161179b603291396001600160a01b038816919063ffffffff6115ec16565b9050600081806020019051602081101561140657600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156114fb578354600019808301919081019060009087908390811061147257fe5b906000526020600020015490508087600001848154811061148f57fe5b6000918252602080832090910192909255828152600189810190925260409020908401905586548790806114bf57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610719565b6000915050610719565b60006115118383611427565b61154757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610719565b506000610719565b6000828152600184016020526040812054806115b4575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055610f8c565b828560000160018303815481106115c757fe5b9060005260206000209060020201600101819055506000915050610f8c565b3b151590565b6060610f89848460008585611600856115e6565b611651576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106116905780518252601f199092019160209182019101611671565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116f2576040519150601f19603f3d011682016040523d82523d6000602084013e6116f7565b606091505b5091509150611707828286611712565b979650505050505050565b60608315611721575081610f8c565b8251156117315782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561123d57818101518382015260200161122556fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a2646970667358221220f3bb2ad36861d79639d87cf3b7b551454d0d7ccff016ca215a54db2814195a5964736f6c63430006060033", + "bytecodeSha1": "d6117a4cc46c62cbdf7be73318130c81771fa9a4", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.6+commit.6c089d02" + }, + "contractName": "ERC721", + "coverageMap": { + "branches": { + "0": {}, + "1": {}, + "10": { + "EnumerableMap._at": { + "107": [ + 5045, + 5072, + true + ] + }, + "EnumerableMap._get": { + "108": [ + 6570, + 6583, + true + ] + }, + "EnumerableMap._set": { + "109": [ + 2077, + 2090, + false + ] + } + }, + "11": { + "EnumerableSet._add": { + "112": [ + 1724, + 1745, + false + ] + }, + "EnumerableSet._at": { + "110": [ + 4546, + 4572, + true + ] + }, + "EnumerableSet._remove": { + "111": [ + 2449, + 2464, + false + ] + } + }, + "12": { + "Strings.toString": { + "113": [ + 483, + 493, + false + ] + } + }, + "2": {}, + "3": { + "ERC721._checkOnERC721Received": { + "103": [ + 15669, + 15684, + false + ] + }, + "ERC721._isApprovedOrOwner": { + "99": [ + 10783, + 10799, + true + ] + }, + "ERC721._safeTransfer": { + "102": [ + 9970, + 10018, + true + ] + }, + "ERC721._transfer": { + "100": [ + 13804, + 13835, + true + ], + "101": [ + 13917, + 13933, + true + ] + }, + "ERC721.approve": { + "89": [ + 6903, + 6914, + true + ], + "90": [ + 6971, + 6992, + true + ], + "91": [ + 6996, + 7040, + true + ] + }, + "ERC721.balanceOf": { + "93": [ + 4104, + 4123, + true + ] + }, + "ERC721.getApproved": { + "88": [ + 7325, + 7341, + true + ] + }, + "ERC721.safeTransferFrom": { + "95": [ + 8798, + 8839, + true + ] + }, + "ERC721.setApprovalForAll": { + "94": [ + 7608, + 7632, + true + ] + }, + "ERC721.tokenURI": { + "96": [ + 4953, + 4969, + true + ], + "97": [ + 5190, + 5213, + false + ], + "98": [ + 5358, + 5385, + false + ] + }, + "ERC721.transferFrom": { + "92": [ + 8245, + 8286, + true + ] + } + }, + "4": {}, + "5": {}, + "6": {}, + "7": {}, + "8": { + "Address._verifyCallResult": { + "105": [ + 7234, + 7241, + false + ], + "106": [ + 7375, + 7396, + false + ] + }, + "Address.functionCallWithValue": { + "104": [ + 4858, + 4876, + true + ] + } + }, + "9": {} + }, + "statements": { + "0": { + "ERC165.supportsInterface": { + "0": [ + 1066, + 1106 + ] + } + }, + "1": {}, + "10": { + "EnumerableMap._at": { + "60": [ + 5037, + 5111 + ], + "61": [ + 5176, + 5209 + ] + }, + "EnumerableMap._contains": { + "66": [ + 4365, + 4394 + ] + }, + "EnumerableMap._get": { + "62": [ + 6562, + 6598 + ], + "63": [ + 6644, + 6684 + ] + }, + "EnumerableMap._length": { + "54": [ + 4566, + 4592 + ] + }, + "EnumerableMap._set": { + "77": [ + 2143, + 2200 + ], + "78": [ + 2335, + 2374 + ], + "79": [ + 2388, + 2399 + ], + "80": [ + 2430, + 2471 + ], + "81": [ + 2485, + 2497 + ] + }, + "EnumerableMap.contains": { + "53": [ + 7688, + 7730 + ] + }, + "EnumerableMap.get": { + "43": [ + 9648, + 9726 + ] + }, + "EnumerableMap.length": { + "31": [ + 7908, + 7934 + ] + }, + "EnumerableMap.set": { + "57": [ + 7132, + 7203 + ] + } + }, + "11": { + "EnumerableSet._add": { + "73": [ + 1761, + 1784 + ], + "74": [ + 1919, + 1959 + ], + "75": [ + 1973, + 1984 + ], + "76": [ + 2015, + 2027 + ] + }, + "EnumerableSet._at": { + "58": [ + 4538, + 4611 + ], + "59": [ + 4621, + 4646 + ] + }, + "EnumerableSet._remove": { + "67": [ + 3274, + 3312 + ], + "68": [ + 3378, + 3421 + ], + "69": [ + 3527, + 3544 + ], + "70": [ + 3612, + 3638 + ], + "71": [ + 3653, + 3664 + ], + "72": [ + 3695, + 3707 + ] + }, + "EnumerableSet.add": { + "56": [ + 8151, + 8190 + ] + }, + "EnumerableSet.at": { + "42": [ + 9340, + 9378 + ] + }, + "EnumerableSet.remove": { + "55": [ + 8451, + 8493 + ] + } + }, + "12": { + "Strings.toString": { + "46": [ + 509, + 519 + ], + "47": [ + 625, + 633 + ], + "48": [ + 647, + 657 + ], + "49": [ + 762, + 774 + ], + "50": [ + 816, + 863 + ], + "51": [ + 877, + 887 + ], + "52": [ + 907, + 928 + ] + } + }, + "2": {}, + "3": { + "ERC721._approve": { + "29": [ + 16184, + 16213 + ], + "30": [ + 16223, + 16274 + ] + }, + "ERC721._checkOnERC721Received": { + "64": [ + 15700, + 15711 + ], + "65": [ + 16071, + 16106 + ] + }, + "ERC721._exists": { + "27": [ + 10464, + 10501 + ] + }, + "ERC721._isApprovedOrOwner": { + "32": [ + 10775, + 10848 + ], + "33": [ + 10907, + 11010 + ] + }, + "ERC721._safeTransfer": { + "44": [ + 9924, + 9952 + ], + "45": [ + 9962, + 10073 + ] + }, + "ERC721._transfer": { + "34": [ + 13796, + 13881 + ], + "35": [ + 13909, + 13974 + ], + "36": [ + 13985, + 14024 + ], + "37": [ + 14086, + 14115 + ], + "38": [ + 14126, + 14161 + ], + "39": [ + 14171, + 14201 + ], + "40": [ + 14212, + 14241 + ], + "41": [ + 14252, + 14284 + ] + }, + "ERC721.approve": { + "4": [ + 6895, + 6952 + ], + "5": [ + 6963, + 7122 + ], + "6": [ + 7133, + 7154 + ] + }, + "ERC721.balanceOf": { + "14": [ + 4096, + 4170 + ], + "15": [ + 4180, + 4216 + ] + }, + "ERC721.baseURI": { + "13": [ + 5928, + 5943 + ] + }, + "ERC721.getApproved": { + "2": [ + 7317, + 7390 + ], + "3": [ + 7401, + 7432 + ] + }, + "ERC721.isApprovedForAll": { + "26": [ + 7975, + 8017 + ] + }, + "ERC721.name": { + "1": [ + 4596, + 4608 + ] + }, + "ERC721.ownerOf": { + "12": [ + 4371, + 4448 + ] + }, + "ERC721.safeTransferFrom": { + "11": [ + 8555, + 8594 + ], + "20": [ + 8790, + 8893 + ], + "21": [ + 8903, + 8942 + ] + }, + "ERC721.setApprovalForAll": { + "17": [ + 7600, + 7662 + ], + "18": [ + 7673, + 7726 + ], + "19": [ + 7736, + 7789 + ] + }, + "ERC721.symbol": { + "16": [ + 4760, + 4774 + ] + }, + "ERC721.tokenOfOwnerByIndex": { + "10": [ + 6145, + 6182 + ] + }, + "ERC721.tokenURI": { + "22": [ + 4945, + 5021 + ], + "23": [ + 5229, + 5245 + ], + "24": [ + 5401, + 5449 + ], + "25": [ + 5559, + 5616 + ] + }, + "ERC721.totalSupply": { + "7": [ + 6433, + 6461 + ] + }, + "ERC721.transferFrom": { + "8": [ + 8237, + 8340 + ], + "9": [ + 8351, + 8379 + ] + } + }, + "4": {}, + "5": {}, + "6": {}, + "7": {}, + "8": { + "Address._verifyCallResult": { + "86": [ + 7257, + 7274 + ], + "87": [ + 7765, + 7785 + ] + }, + "Address.functionCall": { + "83": [ + 3708, + 3767 + ] + }, + "Address.functionCallWithValue": { + "84": [ + 4850, + 4910 + ], + "85": [ + 5065, + 5124 + ] + }, + "Address.isContract": { + "82": [ + 1117, + 1132 + ] + } + }, + "9": { + "Context._msgSender": { + "28": [ + 678, + 695 + ] + } + } + } + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@3.4.0/Address", + "OpenZeppelin/openzeppelin-contracts@3.4.0/Context", + "OpenZeppelin/openzeppelin-contracts@3.4.0/ERC165", + "OpenZeppelin/openzeppelin-contracts@3.4.0/EnumerableMap", + "OpenZeppelin/openzeppelin-contracts@3.4.0/EnumerableSet", + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721", + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Enumerable", + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Metadata", + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Receiver", + "OpenZeppelin/openzeppelin-contracts@3.4.0/SafeMath", + "OpenZeppelin/openzeppelin-contracts@3.4.0/Strings" + ], + "deployedBytecode": "608060405234801561001057600080fd5b506004361061010b5760003560e01c80634f6ccce7116100a257806395d89b411161007157806395d89b4114610349578063a22cb46514610351578063b88d4fde1461037f578063c87b56dd14610445578063e985e9c5146104625761010b565b80634f6ccce7146102e15780636352211e146102fe5780636c0360eb1461031b57806370a08231146103235761010b565b806318160ddd116100de57806318160ddd1461022f57806323b872dd146102495780632f745c591461027f57806342842e0e146102ab5761010b565b806301ffc9a71461011057806306fdde031461014b578063081812fc146101c8578063095ea7b314610201575b600080fd5b6101376004803603602081101561012657600080fd5b50356001600160e01b031916610490565b604080519115158252519081900360200190f35b6101536104b3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018d578181015183820152602001610175565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e5600480360360208110156101de57600080fd5b5035610549565b604080516001600160a01b039092168252519081900360200190f35b61022d6004803603604081101561021757600080fd5b506001600160a01b0381351690602001356105ab565b005b610237610686565b60408051918252519081900360200190f35b61022d6004803603606081101561025f57600080fd5b506001600160a01b03813581169160208101359091169060400135610697565b6102376004803603604081101561029557600080fd5b506001600160a01b0381351690602001356106ee565b61022d600480360360608110156102c157600080fd5b506001600160a01b0381358116916020810135909116906040013561071f565b610237600480360360208110156102f757600080fd5b503561073a565b6101e56004803603602081101561031457600080fd5b5035610756565b610153610784565b6102376004803603602081101561033957600080fd5b50356001600160a01b03166107e5565b61015361084d565b61022d6004803603604081101561036757600080fd5b506001600160a01b03813516906020013515156108ae565b61022d6004803603608081101561039557600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156103d057600080fd5b8201836020820111156103e257600080fd5b8035906020019184600183028401116401000000008311171561040457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109b3945050505050565b6101536004803603602081101561045b57600080fd5b5035610a11565b6101376004803603604081101561047857600080fd5b506001600160a01b0381358116916020013516610c94565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b820191906000526020600020905b81548152906001019060200180831161052257829003601f168201915b5050505050905090565b600061055482610cc2565b61058f5760405162461bcd60e51b815260040180806020018281038252602c8152602001806118ca602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006105b682610756565b9050806001600160a01b0316836001600160a01b031614156106095760405162461bcd60e51b815260040180806020018281038252602181526020018061194e6021913960400191505060405180910390fd5b806001600160a01b031661061b610cd5565b6001600160a01b0316148061063c575061063c81610637610cd5565b610c94565b6106775760405162461bcd60e51b815260040180806020018281038252603881526020018061181d6038913960400191505060405180910390fd5b6106818383610cd9565b505050565b60006106926002610d47565b905090565b6106a86106a2610cd5565b82610d52565b6106e35760405162461bcd60e51b815260040180806020018281038252603181526020018061196f6031913960400191505060405180910390fd5b610681838383610df6565b6001600160a01b0382166000908152600160205260408120610716908363ffffffff610f5416565b90505b92915050565b610681838383604051806020016040528060008152506109b3565b60008061074e60028463ffffffff610f6016565b509392505050565b60006107198260405180606001604052806029815260200161187f602991396002919063ffffffff610f7c16565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b60006001600160a01b03821661082c5760405162461bcd60e51b815260040180806020018281038252602a815260200180611855602a913960400191505060405180910390fd5b6001600160a01b038216600090815260016020526040902061071990610d47565b60078054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b6108b6610cd5565b6001600160a01b0316826001600160a01b0316141561091c576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060056000610929610cd5565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff19169215159290921790915561096d610cd5565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b6109c46109be610cd5565b83610d52565b6109ff5760405162461bcd60e51b815260040180806020018281038252603181526020018061196f6031913960400191505060405180910390fd5b610a0b84848484610f93565b50505050565b6060610a1c82610cc2565b610a575760405162461bcd60e51b815260040180806020018281038252602f81526020018061191f602f913960400191505060405180910390fd5b60008281526008602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610aec5780601f10610ac157610100808354040283529160200191610aec565b820191906000526020600020905b815481529060010190602001808311610acf57829003601f168201915b505050505090506060610afd610784565b9050805160001415610b11575090506104ae565b815115610bd25780826040516020018083805190602001908083835b60208310610b4c5780518252601f199092019160209182019101610b2d565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610b945780518252601f199092019160209182019101610b75565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052925050506104ae565b80610bdc85610fe5565b6040516020018083805190602001908083835b60208310610c0e5780518252601f199092019160209182019101610bef565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610c565780518252601f199092019160209182019101610c37565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b600061071960028363ffffffff6110c016565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610d0e82610756565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610719826110cc565b6000610d5d82610cc2565b610d985760405162461bcd60e51b815260040180806020018281038252602c8152602001806117f1602c913960400191505060405180910390fd5b6000610da383610756565b9050806001600160a01b0316846001600160a01b03161480610dde5750836001600160a01b0316610dd384610549565b6001600160a01b0316145b80610dee5750610dee8185610c94565b949350505050565b826001600160a01b0316610e0982610756565b6001600160a01b031614610e4e5760405162461bcd60e51b81526004018080602001828103825260298152602001806118f66029913960400191505060405180910390fd5b6001600160a01b038216610e935760405162461bcd60e51b81526004018080602001828103825260248152602001806117cd6024913960400191505060405180910390fd5b610e9e838383610681565b610ea9600082610cd9565b6001600160a01b0383166000908152600160205260409020610ed1908263ffffffff6110d016565b506001600160a01b0382166000908152600160205260409020610efa908263ffffffff6110dc16565b50610f0d6002828463ffffffff6110e816565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600061071683836110fe565b6000808080610f6f8686611162565b9097909650945050505050565b6000610f898484846111dd565b90505b9392505050565b610f9e848484610df6565b610faa848484846112a7565b610a0b5760405162461bcd60e51b815260040180806020018281038252603281526020018061179b6032913960400191505060405180910390fd5b60608161100a57506040805180820190915260018152600360fc1b60208201526104ae565b8160005b811561102257600101600a8204915061100e565b60608167ffffffffffffffff8111801561103b57600080fd5b506040519080825280601f01601f191660200182016040528015611066576020820181803683370190505b50859350905060001982015b83156110b757600a840660300160f81b8282806001900393508151811061109557fe5b60200101906001600160f81b031916908160001a905350600a84049350611072565b50949350505050565b60006107168383611427565b5490565b6000610716838361143f565b60006107168383611505565b6000610f8984846001600160a01b03851661154f565b815460009082106111405760405162461bcd60e51b81526004018080602001828103825260228152602001806117796022913960400191505060405180910390fd5b82600001828154811061114f57fe5b9060005260206000200154905092915050565b8154600090819083106111a65760405162461bcd60e51b81526004018080602001828103825260228152602001806118a86022913960400191505060405180910390fd5b60008460000184815481106111b757fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082815260018401602052604081205482816112785760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561123d578181015183820152602001611225565b50505050905090810190601f16801561126a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061128b57fe5b9060005260206000209060020201600101549150509392505050565b60006112bb846001600160a01b03166115e6565b6112c757506001610dee565b60606113ed630a85bd0160e11b6112dc610cd5565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561135557818101518382015260200161133d565b50505050905090810190601f1680156113825780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505060405180606001604052806032815260200161179b603291396001600160a01b038816919063ffffffff6115ec16565b9050600081806020019051602081101561140657600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156114fb578354600019808301919081019060009087908390811061147257fe5b906000526020600020015490508087600001848154811061148f57fe5b6000918252602080832090910192909255828152600189810190925260409020908401905586548790806114bf57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610719565b6000915050610719565b60006115118383611427565b61154757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610719565b506000610719565b6000828152600184016020526040812054806115b4575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055610f8c565b828560000160018303815481106115c757fe5b9060005260206000209060020201600101819055506000915050610f8c565b3b151590565b6060610f89848460008585611600856115e6565b611651576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106116905780518252601f199092019160209182019101611671565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116f2576040519150601f19603f3d011682016040523d82523d6000602084013e6116f7565b606091505b5091509150611707828286611712565b979650505050505050565b60608315611721575081610f8c565b8251156117315782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561123d57818101518382015260200161122556fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a2646970667358221220f3bb2ad36861d79639d87cf3b7b551454d0d7ccff016ca215a54db2814195a5964736f6c63430006060033", + "deployedSourceMap": "571:16419:3:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;571:16419:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;965:148:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;965:148:0;-1:-1:-1;;;;;;965:148:0;;:::i;:::-;;;;;;;;;;;;;;;;;;4517:98:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4517:98:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7222:217;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7222:217:3;;:::i;:::-;;;;-1:-1:-1;;;;;7222:217:3;;;;;;;;;;;;;;6766:395;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6766:395:3;;;;;;;;:::i;:::-;;6260:208;;;:::i;:::-;;;;;;;;;;;;;;;;8086:300;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8086:300:3;;;;;;;;;;;;;;;;;:::i;6029:160::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6029:160:3;;;;;;;;:::i;8452:149::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8452:149:3;;;;;;;;;;;;;;;;;:::i;6540:169::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6540:169:3;;:::i;4280:175::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4280:175:3;;:::i;5855:95::-;;;:::i;4005:218::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4005:218:3;-1:-1:-1;;;;;4005:218:3;;:::i;4679:102::-;;;:::i;7506:290::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;7506:290:3;;;;;;;;;;:::i;8667:282::-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;;;;;8667:282:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;8667:282:3;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;8667:282:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8667:282:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8667:282:3;;-1:-1:-1;8667:282:3;;-1:-1:-1;;;;;8667:282:3:i;4847:776::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4847:776:3;;:::i;7862:162::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;7862:162:3;;;;;;;;;;:::i;965:148:0:-;-1:-1:-1;;;;;;1073:33:0;;1050:4;1073:33;;;;;;;;;;;;;965:148;;;;:::o;4517:98:3:-;4603:5;4596:12;;;;;;;;-1:-1:-1;;4596:12:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4571:13;;4596:12;;4603:5;;4596:12;;4603:5;4596:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4517:98;:::o;7222:217::-;7298:7;7325:16;7333:7;7325;:16::i;:::-;7317:73;;;;-1:-1:-1;;;7317:73:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7408:24:3;;;;:15;:24;;;;;;-1:-1:-1;;;;;7408:24:3;;7222:217::o;6766:395::-;6846:13;6862:23;6877:7;6862:14;:23::i;:::-;6846:39;;6909:5;-1:-1:-1;;;;;6903:11:3;:2;-1:-1:-1;;;;;6903:11:3;;;6895:57;;;;-1:-1:-1;;;6895:57:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6987:5;-1:-1:-1;;;;;6971:21:3;:12;:10;:12::i;:::-;-1:-1:-1;;;;;6971:21:3;;:69;;;;6996:44;7020:5;7027:12;:10;:12::i;:::-;6996:23;:44::i;:::-;6963:159;;;;-1:-1:-1;;;6963:159:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7133:21;7142:2;7146:7;7133:8;:21::i;:::-;6766:395;;;:::o;6260:208::-;6321:7;6440:21;:12;:19;:21::i;:::-;6433:28;;6260:208;:::o;8086:300::-;8245:41;8264:12;:10;:12::i;:::-;8278:7;8245:18;:41::i;:::-;8237:103;;;;-1:-1:-1;;;8237:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8351:28;8361:4;8367:2;8371:7;8351:9;:28::i;6029:160::-;-1:-1:-1;;;;;6152:20:3;;6126:7;6152:20;;;:13;:20;;;;;:30;;6176:5;6152:30;:23;:30;:::i;:::-;6145:37;;6029:160;;;;;:::o;8452:149::-;8555:39;8572:4;8578:2;8582:7;8555:39;;;;;;;;;;;;:16;:39::i;6540:169::-;6615:7;;6656:22;:12;6672:5;6656:22;:15;:22;:::i;:::-;-1:-1:-1;6634:44:3;6540:169;-1:-1:-1;;;6540:169:3:o;4280:175::-;4352:7;4378:70;4395:7;4378:70;;;;;;;;;;;;;;;;;:12;;:70;;:16;:70;:::i;5855:95::-;5935:8;5928:15;;;;;;;;-1:-1:-1;;5928:15:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5903:13;;5928:15;;5935:8;;5928:15;;5935:8;5928:15;;;;;;;;;;;;;;;;;;;;;;;;4005:218;4077:7;-1:-1:-1;;;;;4104:19:3;;4096:74;;;;-1:-1:-1;;;4096:74:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4187:20:3;;;;;;:13;:20;;;;;:29;;:27;:29::i;4679:102::-;4767:7;4760:14;;;;;;;;-1:-1:-1;;4760:14:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4735:13;;4760:14;;4767:7;;4760:14;;4767:7;4760:14;;;;;;;;;;;;;;;;;;;;;;;;7506:290;7620:12;:10;:12::i;:::-;-1:-1:-1;;;;;7608:24:3;:8;-1:-1:-1;;;;;7608:24:3;;;7600:62;;;;;-1:-1:-1;;;7600:62:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;7718:8;7673:18;:32;7692:12;:10;:12::i;:::-;-1:-1:-1;;;;;7673:32:3;;;;;;;;;;;;;;;;;-1:-1:-1;7673:32:3;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;7673:53:3;;;;;;;;;;;7756:12;:10;:12::i;:::-;7741:48;;;;;;;;;;-1:-1:-1;;;;;7741:48:3;;;;;;;;;;;;;;7506:290;;:::o;8667:282::-;8798:41;8817:12;:10;:12::i;:::-;8831:7;8798:18;:41::i;:::-;8790:103;;;;-1:-1:-1;;;8790:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8903:39;8917:4;8923:2;8927:7;8936:5;8903:13;:39::i;:::-;8667:282;;;;:::o;4847:776::-;4920:13;4953:16;4961:7;4953;:16::i;:::-;4945:76;;;;-1:-1:-1;;;4945:76:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:19;;;;:10;:19;;;;;;;;;5032:45;;;;;;-1:-1:-1;;5032:45:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;:45;;;5058:19;5032:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5087:18;5108:9;:7;:9::i;:::-;5087:30;;5196:4;5190:18;5212:1;5190:23;5186:70;;;-1:-1:-1;5236:9:3;-1:-1:-1;5229:16:3;;5186:70;5358:23;;:27;5354:106;;5432:4;5438:9;5415:33;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5415::3;;;;;;;;;;-1:-1:-1;5415:33:3;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5415:33:3;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5415:33:3;;;5401:48;;;;;;5354:106;5590:4;5596:18;:7;:16;:18::i;:::-;5573:42;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5573:42:3;;;;;;;;;;-1:-1:-1;5573:42:3;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5573:42:3;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5573:42:3;;;5559:57;;;;4847:776;;;:::o;7862:162::-;-1:-1:-1;;;;;7982:25:3;;;7959:4;7982:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;7862:162::o;10383:125::-;10448:4;10471:30;:12;10493:7;10471:30;:21;:30;:::i;598:104:9:-;685:10;598:104;:::o;16119:180:3:-;16184:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;16184:29:3;-1:-1:-1;;;;;16184:29:3;;;;;;;;:24;;16237:23;16184:24;16237:14;:23::i;:::-;-1:-1:-1;;;;;16228:46:3;;;;;;;;;;;16119:180;;:::o;7820:121:10:-;7889:7;7915:19;7923:3;7915:7;:19::i;10666:351:3:-;10759:4;10783:16;10791:7;10783;:16::i;:::-;10775:73;;;;-1:-1:-1;;;10775:73:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10858:13;10874:23;10889:7;10874:14;:23::i;:::-;10858:39;;10926:5;-1:-1:-1;;;;;10915:16:3;:7;-1:-1:-1;;;;;10915:16:3;;:51;;;;10959:7;-1:-1:-1;;;;;10935:31:3;:20;10947:7;10935:11;:20::i;:::-;-1:-1:-1;;;;;10935:31:3;;10915:51;:94;;;;10970:39;10994:5;11001:7;10970:23;:39::i;:::-;10907:103;10666:351;-1:-1:-1;;;;10666:351:3:o;13707:584::-;13831:4;-1:-1:-1;;;;;13804:31:3;:23;13819:7;13804:14;:23::i;:::-;-1:-1:-1;;;;;13804:31:3;;13796:85;;;;-1:-1:-1;;;13796:85:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13917:16:3;;13909:65;;;;-1:-1:-1;;;13909:65:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13985:39;14006:4;14012:2;14016:7;13985:20;:39::i;:::-;14086:29;14103:1;14107:7;14086:8;:29::i;:::-;-1:-1:-1;;;;;14126:19:3;;;;;;:13;:19;;;;;:35;;14153:7;14126:35;:26;:35;:::i;:::-;-1:-1:-1;;;;;;14171:17:3;;;;;;:13;:17;;;;;:30;;14193:7;14171:30;:21;:30;:::i;:::-;-1:-1:-1;14212:29:3;:12;14229:7;14238:2;14212:29;:16;:29;:::i;:::-;;14276:7;14272:2;-1:-1:-1;;;;;14257:27:3;14266:4;-1:-1:-1;;;;;14257:27:3;;;;;;;;;;;13707:584;;;:::o;9250:135:11:-;9321:7;9355:22;9359:3;9371:5;9355:3;:22::i;8269:233:10:-;8349:7;;;;8408:22;8412:3;8424:5;8408:3;:22::i;:::-;8377:53;;;;-1:-1:-1;8269:233:10;-1:-1:-1;;;;;8269:233:10:o;9522:211::-;9629:7;9679:44;9684:3;9704;9710:12;9679:4;:44::i;:::-;9671:53;-1:-1:-1;9522:211:10;;;;;;:::o;9811:269:3:-;9924:28;9934:4;9940:2;9944:7;9924:9;:28::i;:::-;9970:48;9993:4;9999:2;10003:7;10012:5;9970:22;:48::i;:::-;9962:111;;;;-1:-1:-1;;;9962:111:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:725:12;266:13;483:10;479:51;;-1:-1:-1;509:10:12;;;;;;;;;;;;-1:-1:-1;;;509:10:12;;;;;;479:51;554:5;539:12;593:75;600:9;;593:75;;625:8;;655:2;647:10;;;;593:75;;;677:19;709:6;699:17;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;699:17:12;;;;;;;;;;;;;;;;;;;;;;;;;;21:6:-1;;108:14;699:17:12;87:42:-1;143:17;;-1:-1;699:17:12;-1:-1:-1;769:5:12;;-1:-1:-1;677:39:12;-1:-1:-1;;;742:10:12;;784:114;791:9;;784:114;;859:2;852:4;:9;847:2;:14;834:29;;816:6;823:7;;;;;;;816:15;;;;;;;;;;;:47;-1:-1:-1;;;;;816:47:12;;;;;;;;-1:-1:-1;885:2:12;877:10;;;;784:114;;;-1:-1:-1;921:6:12;210:725;-1:-1:-1;;;;210:725:12:o;7588:149:10:-;7672:4;7695:35;7705:3;7725;7695:9;:35::i;4491:108::-;4573:19;;4491:108::o;8365:135:11:-;8435:4;8458:35;8466:3;8486:5;8458:7;:35::i;8068:129::-;8135:4;8158:32;8163:3;8183:5;8158:4;:32::i;7027:183:10:-;7116:4;7139:64;7144:3;7164;-1:-1:-1;;;;;7178:23:10;;7139:4;:64::i;4452:201:11:-;4546:18;;4519:7;;4546:26;-1:-1:-1;4538:73:11;;;;-1:-1:-1;;;4538:73:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4628:3;:11;;4640:5;4628:18;;;;;;;;;;;;;;;;4621:25;;4452:201;;;;:::o;4942:274:10:-;5045:19;;5009:7;;;;5045:27;-1:-1:-1;5037:74:10;;;;-1:-1:-1;;;5037:74:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5122:22;5147:3;:12;;5160:5;5147:19;;;;;;;;;;;;;;;;;;5122:44;;5184:5;:10;;;5196:5;:12;;;5176:33;;;;;4942:274;;;;;:::o;6403:315::-;6497:7;6535:17;;;:12;;;:17;;;;;;6585:12;6570:13;6562:36;;;;-1:-1:-1;;;6562:36:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6562:36:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:3;:12;;6675:1;6664:8;:12;6651:26;;;;;;;;;;;;;;;;;;:33;;;6644:40;;;6403:315;;;;;:::o;15524:589:3:-;15644:4;15669:15;:2;-1:-1:-1;;;;;15669:13:3;;:15::i;:::-;15664:58;;-1:-1:-1;15707:4:3;15700:11;;15664:58;15731:23;15757:246;-1:-1:-1;;;15868:12:3;:10;:12::i;:::-;15894:4;15912:7;15933:5;15773:175;;;;;;-1:-1:-1;;;;;15773:175:3;-1:-1:-1;;;;;15773:175:3;;;;;;-1:-1:-1;;;;;15773:175:3;-1:-1:-1;;;;;15773:175:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15773:175:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;15773:175:3;;;;-1:-1:-1;;;;;15773:175:3;;38:4:-1;29:7;25:18;67:10;61:17;-1:-1;;;;;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;15773:175:3;15757:246;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15757:15:3;;;:246;;:15;:246;:::i;:::-;15731:272;;16013:13;16040:10;16029:32;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16029:32:3;-1:-1:-1;;;;;;16079:26:3;-1:-1:-1;;;16079:26:3;;-1:-1:-1;;;15524:589:3;;;;;;:::o;4278:123:10:-;4349:4;4372:17;;;:12;;;;;:17;;;;;;:22;;;4278:123::o;2212:1512:11:-;2278:4;2415:19;;;:12;;;:19;;;;;;2449:15;;2445:1273;;2878:18;;-1:-1:-1;;2830:14:11;;;;2878:22;;;;2806:21;;2878:3;;:22;;3160;;;;;;;;;;;;;;3140:42;;3303:9;3274:3;:11;;3286:13;3274:26;;;;;;;;;;;;;;;;;;;:38;;;;3378:23;;;3420:1;3378:12;;;:23;;;;;;3404:17;;;3378:43;;3527:17;;3378:3;;3527:17;;;;;;;;;;;;;;;;;;;;;;3619:3;:12;;:19;3632:5;3619:19;;;;;;;;;;;3612:26;;;3660:4;3653:11;;;;;;;;2445:1273;3702:5;3695:12;;;;;1640:404;1703:4;1724:21;1734:3;1739:5;1724:9;:21::i;:::-;1719:319;;-1:-1:-1;27:10;;39:1;23:18;;;45:23;;1761:11:11;:23;;;;;;;;;;;;;1941:18;;1919:19;;;:12;;;:19;;;;;;:40;;;;1973:11;;1719:319;-1:-1:-1;2022:5:11;2015:12;;1836:678:10;1912:4;2045:17;;;:12;;;:17;;;;;;2077:13;2073:435;;-1:-1:-1;;2161:38:10;;;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;2143:12:10;:57;;;;;;;;;;;;;;;;;;;;;;;;2355:19;;2335:17;;;:12;;;:17;;;;;;;:39;2388:11;;2073:435;2466:5;2430:3;:12;;2454:1;2443:8;:12;2430:26;;;;;;;;;;;;;;;;;;:33;;:41;;;;2492:5;2485:12;;;;;726:413:8;1086:20;1124:8;;;726:413::o;3581:193::-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:8;5042:5;5050:4;5022:33;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5022:33:8;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;4980:75:8;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:8:o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:8;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:8;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;", + "language": "Solidity", + "natspec": { + "details": "see https://eips.ethereum.org/EIPS/eip-721", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "baseURI()": { + "details": "Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID." + }, + "constructor": { + "details": "Initializes the contract by setting a `name` and a `symbol` to the token collection." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenByIndex(uint256)": { + "details": "See {IERC721Enumerable-tokenByIndex}." + }, + "tokenOfOwnerByIndex(address,uint256)": { + "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." + }, + "tokenURI(uint256)": { + "details": "See {IERC721Metadata-tokenURI}." + }, + "totalSupply()": { + "details": "See {IERC721Enumerable-totalSupply}." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + } + }, + "title": "ERC721 Non-Fungible Token Standard basic implementation" + }, + "offset": [ + 571, + 16990 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x10B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4F6CCCE7 GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x349 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x351 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x37F JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x445 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x462 JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x2E1 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x2FE JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x31B JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x323 JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0xDE JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x22F JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x249 JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x27F JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x2AB JUMPI PUSH2 0x10B JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x110 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x14B JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x201 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x137 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x126 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH2 0x490 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x153 PUSH2 0x4B3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP4 MLOAD DUP2 DUP4 ADD MSTORE DUP4 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP4 ADD SWAP2 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x18D JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x175 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1BA JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1E5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x549 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 0x22D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x5AB JUMP JUMPDEST STOP JUMPDEST PUSH2 0x237 PUSH2 0x686 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x22D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x25F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x697 JUMP JUMPDEST PUSH2 0x237 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x295 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x6EE JUMP JUMPDEST PUSH2 0x22D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x2C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x71F JUMP JUMPDEST PUSH2 0x237 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x2F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x73A JUMP JUMPDEST PUSH2 0x1E5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x314 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x756 JUMP JUMPDEST PUSH2 0x153 PUSH2 0x784 JUMP JUMPDEST PUSH2 0x237 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x339 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x7E5 JUMP JUMPDEST PUSH2 0x153 PUSH2 0x84D JUMP JUMPDEST PUSH2 0x22D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x367 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD ISZERO ISZERO PUSH2 0x8AE JUMP JUMPDEST PUSH2 0x22D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x80 DUP2 LT ISZERO PUSH2 0x395 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 CALLDATALOAD DUP2 AND SWAP3 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP2 PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x80 DUP2 ADD PUSH1 0x60 DUP3 ADD CALLDATALOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x3D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x3E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x404 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP SWAP3 SWAP6 POP PUSH2 0x9B3 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x153 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x45B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0xA11 JUMP JUMPDEST PUSH2 0x137 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x478 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 ADD CALLDATALOAD AND PUSH2 0xC94 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x53F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x514 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x53F JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x522 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x554 DUP3 PUSH2 0xCC2 JUMP JUMPDEST PUSH2 0x58F 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 0x2C DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x18CA PUSH1 0x2C SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5B6 DUP3 PUSH2 0x756 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x609 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 0x194E PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x61B PUSH2 0xCD5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x63C JUMPI POP PUSH2 0x63C DUP2 PUSH2 0x637 PUSH2 0xCD5 JUMP JUMPDEST PUSH2 0xC94 JUMP JUMPDEST PUSH2 0x677 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 0x38 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x181D PUSH1 0x38 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x681 DUP4 DUP4 PUSH2 0xCD9 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x692 PUSH1 0x2 PUSH2 0xD47 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x6A8 PUSH2 0x6A2 PUSH2 0xCD5 JUMP JUMPDEST DUP3 PUSH2 0xD52 JUMP JUMPDEST PUSH2 0x6E3 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 0x31 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x196F PUSH1 0x31 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x681 DUP4 DUP4 DUP4 PUSH2 0xDF6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x716 SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0xF54 AND JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x681 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x9B3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x74E PUSH1 0x2 DUP5 PUSH4 0xFFFFFFFF PUSH2 0xF60 AND JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x719 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x29 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x187F PUSH1 0x29 SWAP2 CODECOPY PUSH1 0x2 SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0xF7C AND JUMP JUMPDEST PUSH1 0x9 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x53F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x514 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x53F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x82C 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 0x2A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1855 PUSH1 0x2A SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x719 SWAP1 PUSH2 0xD47 JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x53F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x514 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x53F JUMP JUMPDEST PUSH2 0x8B6 PUSH2 0xCD5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x91C JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 PUSH1 0x0 PUSH2 0x929 PUSH2 0xCD5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP8 AND DUP1 DUP3 MSTORE SWAP2 SWAP1 SWAP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE PUSH2 0x96D PUSH2 0xCD5 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP5 ISZERO ISZERO DUP2 MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x9C4 PUSH2 0x9BE PUSH2 0xCD5 JUMP JUMPDEST DUP4 PUSH2 0xD52 JUMP JUMPDEST PUSH2 0x9FF 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 0x31 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x196F PUSH1 0x31 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xA0B DUP5 DUP5 DUP5 DUP5 PUSH2 0xF93 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xA1C DUP3 PUSH2 0xCC2 JUMP JUMPDEST PUSH2 0xA57 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 0x2F DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x191F PUSH1 0x2F SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP7 AND ISZERO MUL ADD SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 DIV SWAP2 DUP3 ADD DUP5 SWAP1 DIV DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xAEC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xAC1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xAEC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xACF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x60 PUSH2 0xAFD PUSH2 0x784 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 EQ ISZERO PUSH2 0xB11 JUMPI POP SWAP1 POP PUSH2 0x4AE JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0xBD2 JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD DUP1 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xB4C JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xB2D JUMP JUMPDEST MLOAD DUP2 MLOAD PUSH1 0x20 SWAP4 DUP5 SUB PUSH2 0x100 EXP PUSH1 0x0 NOT ADD DUP1 NOT SWAP1 SWAP3 AND SWAP2 AND OR SWAP1 MSTORE DUP6 MLOAD SWAP2 SWAP1 SWAP4 ADD SWAP3 DUP6 ADD SWAP2 POP DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xB94 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xB75 JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP PUSH2 0x4AE JUMP JUMPDEST DUP1 PUSH2 0xBDC DUP6 PUSH2 0xFE5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD DUP1 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xC0E JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xBEF JUMP JUMPDEST MLOAD DUP2 MLOAD PUSH1 0x20 SWAP4 DUP5 SUB PUSH2 0x100 EXP PUSH1 0x0 NOT ADD DUP1 NOT SWAP1 SWAP3 AND SWAP2 AND OR SWAP1 MSTORE DUP6 MLOAD SWAP2 SWAP1 SWAP4 ADD SWAP3 DUP6 ADD SWAP2 POP DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xC56 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xC37 JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x719 PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x10C0 AND JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0xD0E DUP3 PUSH2 0x756 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x719 DUP3 PUSH2 0x10CC JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD5D DUP3 PUSH2 0xCC2 JUMP JUMPDEST PUSH2 0xD98 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 0x2C DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x17F1 PUSH1 0x2C SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xDA3 DUP4 PUSH2 0x756 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0xDDE JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xDD3 DUP5 PUSH2 0x549 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST DUP1 PUSH2 0xDEE JUMPI POP PUSH2 0xDEE DUP2 DUP6 PUSH2 0xC94 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xE09 DUP3 PUSH2 0x756 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xE4E 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 0x29 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x18F6 PUSH1 0x29 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xE93 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 0x24 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x17CD PUSH1 0x24 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE9E DUP4 DUP4 DUP4 PUSH2 0x681 JUMP JUMPDEST PUSH2 0xEA9 PUSH1 0x0 DUP3 PUSH2 0xCD9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xED1 SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x10D0 AND JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xEFA SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x10DC AND JUMP JUMPDEST POP PUSH2 0xF0D PUSH1 0x2 DUP3 DUP5 PUSH4 0xFFFFFFFF PUSH2 0x10E8 AND JUMP JUMPDEST POP DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x716 DUP4 DUP4 PUSH2 0x10FE JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 DUP1 PUSH2 0xF6F DUP7 DUP7 PUSH2 0x1162 JUMP JUMPDEST SWAP1 SWAP8 SWAP1 SWAP7 POP SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF89 DUP5 DUP5 DUP5 PUSH2 0x11DD JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xF9E DUP5 DUP5 DUP5 PUSH2 0xDF6 JUMP JUMPDEST PUSH2 0xFAA DUP5 DUP5 DUP5 DUP5 PUSH2 0x12A7 JUMP JUMPDEST PUSH2 0xA0B 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 0x32 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x179B PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 PUSH2 0x100A JUMPI POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x4AE JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0x1022 JUMPI PUSH1 0x1 ADD PUSH1 0xA DUP3 DIV SWAP2 POP PUSH2 0x100E JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP1 ISZERO PUSH2 0x103B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1066 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP DUP6 SWAP4 POP SWAP1 POP PUSH1 0x0 NOT DUP3 ADD JUMPDEST DUP4 ISZERO PUSH2 0x10B7 JUMPI PUSH1 0xA DUP5 MOD PUSH1 0x30 ADD PUSH1 0xF8 SHL DUP3 DUP3 DUP1 PUSH1 0x1 SWAP1 SUB SWAP4 POP DUP2 MLOAD DUP2 LT PUSH2 0x1095 JUMPI INVALID JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0xA DUP5 DIV SWAP4 POP PUSH2 0x1072 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x716 DUP4 DUP4 PUSH2 0x1427 JUMP JUMPDEST SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x716 DUP4 DUP4 PUSH2 0x143F JUMP JUMPDEST PUSH1 0x0 PUSH2 0x716 DUP4 DUP4 PUSH2 0x1505 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF89 DUP5 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x154F JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP3 LT PUSH2 0x1140 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 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1779 PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x114F JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP4 LT PUSH2 0x11A6 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 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x18A8 PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x11B7 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD DUP2 PUSH1 0x1 ADD SLOAD SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP3 DUP2 PUSH2 0x1278 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x123D JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1225 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x126A JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP5 PUSH1 0x0 ADD PUSH1 0x1 DUP3 SUB DUP2 SLOAD DUP2 LT PUSH2 0x128B JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12BB DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x15E6 JUMP JUMPDEST PUSH2 0x12C7 JUMPI POP PUSH1 0x1 PUSH2 0xDEE JUMP JUMPDEST PUSH1 0x60 PUSH2 0x13ED PUSH4 0xA85BD01 PUSH1 0xE1 SHL PUSH2 0x12DC PUSH2 0xCD5 JUMP JUMPDEST DUP9 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x24 ADD DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1355 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x133D JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1382 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP6 POP POP POP POP POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x32 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x179B PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0x15EC AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1406 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x14FB JUMPI DUP4 SLOAD PUSH1 0x0 NOT DUP1 DUP4 ADD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x0 SWAP1 DUP8 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x1472 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x148F JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x1 DUP10 DUP2 ADD SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP5 ADD SWAP1 SSTORE DUP7 SLOAD DUP8 SWAP1 DUP1 PUSH2 0x14BF JUMPI INVALID JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP7 PUSH1 0x1 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP5 POP POP POP POP POP PUSH2 0x719 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x719 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1511 DUP4 DUP4 PUSH2 0x1427 JUMP JUMPDEST PUSH2 0x1547 JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x719 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x719 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 PUSH2 0x15B4 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP5 DUP2 MSTORE DUP7 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP10 SSTORE PUSH1 0x0 DUP10 DUP2 MSTORE DUP5 DUP2 KECCAK256 SWAP6 MLOAD PUSH1 0x2 SWAP1 SWAP4 MUL SWAP1 SWAP6 ADD SWAP2 DUP3 SSTORE SWAP2 MLOAD SWAP1 DUP3 ADD SSTORE DUP7 SLOAD DUP7 DUP5 MSTORE DUP2 DUP9 ADD SWAP1 SWAP3 MSTORE SWAP3 SWAP1 SWAP2 KECCAK256 SSTORE PUSH2 0xF8C JUMP JUMPDEST DUP3 DUP6 PUSH1 0x0 ADD PUSH1 0x1 DUP4 SUB DUP2 SLOAD DUP2 LT PUSH2 0x15C7 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 SWAP2 POP POP PUSH2 0xF8C JUMP JUMPDEST EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0xF89 DUP5 DUP5 PUSH1 0x0 DUP6 DUP6 PUSH2 0x1600 DUP6 PUSH2 0x15E6 JUMP JUMPDEST PUSH2 0x1651 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP8 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x1690 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x1671 JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x16F2 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x16F7 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1707 DUP3 DUP3 DUP7 PUSH2 0x1712 JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x1721 JUMPI POP DUP2 PUSH2 0xF8C JUMP JUMPDEST DUP3 MLOAD ISZERO PUSH2 0x1731 JUMPI DUP3 MLOAD DUP1 DUP5 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 DUP2 MSTORE DUP5 MLOAD PUSH1 0x24 DUP5 ADD MSTORE DUP5 MLOAD DUP6 SWAP4 SWAP2 SWAP3 DUP4 SWAP3 PUSH1 0x44 ADD SWAP2 SWAP1 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 DUP4 ISZERO PUSH2 0x123D JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1225 JUMP INVALID GASLIMIT PUSH15 0x756D657261626C655365743A20696E PUSH5 0x6578206F75 PUSH21 0x206F6620626F756E64734552433732313A20747261 PUSH15 0x7366657220746F206E6F6E20455243 CALLDATACOPY ORIGIN BALANCE MSTORE PUSH6 0x636569766572 KECCAK256 PUSH10 0x6D706C656D656E746572 GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH21 0x72616E7366657220746F20746865207A65726F2061 PUSH5 0x6472657373 GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH16 0x70657261746F7220717565727920666F PUSH19 0x206E6F6E6578697374656E7420746F6B656E45 MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH2 0x7070 PUSH19 0x6F76652063616C6C6572206973206E6F74206F PUSH24 0x6E6572206E6F7220617070726F76656420666F7220616C6C GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH3 0x616C61 PUSH15 0x636520717565727920666F72207468 PUSH6 0x207A65726F20 PUSH2 0x6464 PUSH19 0x6573734552433732313A206F776E6572207175 PUSH6 0x727920666F72 KECCAK256 PUSH15 0x6F6E6578697374656E7420746F6B65 PUSH15 0x456E756D657261626C654D61703A20 PUSH10 0x6E646578206F7574206F PUSH7 0x20626F756E6473 GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH2 0x7070 PUSH19 0x6F76656420717565727920666F72206E6F6E65 PUSH25 0x697374656E7420746F6B656E4552433732313A207472616E73 PUSH7 0x6572206F662074 PUSH16 0x6B656E2074686174206973206E6F7420 PUSH16 0x776E4552433732314D65746164617461 GASPRICE KECCAK256 SSTORE MSTORE 0x49 KECCAK256 PUSH18 0x7565727920666F72206E6F6E657869737465 PUSH15 0x7420746F6B656E4552433732313A20 PUSH2 0x7070 PUSH19 0x6F76616C20746F2063757272656E74206F776E PUSH6 0x724552433732 BALANCE GASPRICE KECCAK256 PUSH21 0x72616E736665722063616C6C6572206973206E6F74 KECCAK256 PUSH16 0x776E6572206E6F7220617070726F7665 PUSH5 0xA264697066 PUSH20 0x58221220F3BB2AD36861D79639D87CF3B7B55145 0x4D 0xD PUSH29 0xCFF016CA215A54DB2814195A5964736F6C634300060600330000000000 ", + "pcMap": { + "0": { + "offset": [ + 571, + 16990 + ], + "op": "PUSH1", + "path": "3", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "MSTORE", + "path": "3" + }, + "5": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "CALLVALUE", + "path": "3" + }, + "6": { + "op": "DUP1" + }, + "7": { + "op": "ISZERO" + }, + "8": { + "op": "PUSH2", + "value": "0x10" + }, + "11": { + "op": "JUMPI" + }, + "12": { + "op": "PUSH1", + "value": "0x0" + }, + "14": { + "op": "DUP1" + }, + "15": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "REVERT", + "path": "3" + }, + "16": { + "op": "JUMPDEST" + }, + "17": { + "offset": [ + 571, + 16990 + ], + "op": "POP", + "path": "3" + }, + "18": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "20": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "21": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "LT", + "path": "3" + }, + "22": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x10B" + }, + "25": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "26": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "28": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "29": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH1", + "path": "3", + "value": "0xE0" + }, + "31": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "SHR", + "path": "3" + }, + "32": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "33": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x4F6CCCE7" + }, + "38": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "GT", + "path": "3" + }, + "39": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0xA2" + }, + "42": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "43": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "44": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x95D89B41" + }, + "49": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "GT", + "path": "3" + }, + "50": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x71" + }, + "53": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "54": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "55": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x95D89B41" + }, + "60": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "61": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x349" + }, + "64": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "65": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "66": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0xA22CB465" + }, + "71": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "72": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x351" + }, + "75": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "76": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "77": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0xB88D4FDE" + }, + "82": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "83": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x37F" + }, + "86": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "87": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "88": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0xC87B56DD" + }, + "93": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "94": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x445" + }, + "97": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "98": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "99": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0xE985E9C5" + }, + "104": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "105": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x462" + }, + "108": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "109": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x10B" + }, + "112": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMP", + "path": "3" + }, + "113": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPDEST", + "path": "3" + }, + "114": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "115": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x4F6CCCE7" + }, + "120": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "121": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x2E1" + }, + "124": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "125": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "126": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x6352211E" + }, + "131": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "132": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x2FE" + }, + "135": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "136": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "137": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x6C0360EB" + }, + "142": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "143": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x31B" + }, + "146": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "147": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "148": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x70A08231" + }, + "153": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "154": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x323" + }, + "157": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "158": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x10B" + }, + "161": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMP", + "path": "3" + }, + "162": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPDEST", + "path": "3" + }, + "163": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "164": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x18160DDD" + }, + "169": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "GT", + "path": "3" + }, + "170": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDE" + }, + "173": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "174": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "175": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x18160DDD" + }, + "180": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "181": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x22F" + }, + "184": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "185": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "186": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x23B872DD" + }, + "191": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "192": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x249" + }, + "195": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "196": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "197": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x2F745C59" + }, + "202": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "203": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x27F" + }, + "206": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "207": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "208": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x42842E0E" + }, + "213": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "214": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x2AB" + }, + "217": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "218": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x10B" + }, + "221": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMP", + "path": "3" + }, + "222": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPDEST", + "path": "3" + }, + "223": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "224": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x1FFC9A7" + }, + "229": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "230": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x110" + }, + "233": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "234": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "235": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x6FDDE03" + }, + "240": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "241": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x14B" + }, + "244": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "245": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "246": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x81812FC" + }, + "251": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "252": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1C8" + }, + "255": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "256": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "DUP1", + "path": "3" + }, + "257": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH4", + "path": "3", + "value": "0x95EA7B3" + }, + "262": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "EQ", + "path": "3" + }, + "263": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "PUSH2", + "path": "3", + "value": "0x201" + }, + "266": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPI", + "path": "3" + }, + "267": { + "fn": null, + "offset": [ + 571, + 16990 + ], + "op": "JUMPDEST", + "path": "3" + }, + "268": { + "op": "PUSH1", + "value": "0x0" + }, + "270": { + "op": "DUP1" + }, + "271": { + "first_revert": true, + "op": "REVERT" + }, + "272": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "JUMPDEST", + "path": "0" + }, + "273": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "PUSH2", + "path": "0", + "value": "0x137" + }, + "276": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "278": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "DUP1", + "path": "0" + }, + "279": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "280": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SUB", + "path": "0" + }, + "281": { + "op": "PUSH1", + "value": "0x20" + }, + "283": { + "op": "DUP2" + }, + "284": { + "op": "LT" + }, + "285": { + "op": "ISZERO" + }, + "286": { + "op": "PUSH2", + "value": "0x126" + }, + "289": { + "op": "JUMPI" + }, + "290": { + "op": "PUSH1", + "value": "0x0" + }, + "292": { + "op": "DUP1" + }, + "293": { + "op": "REVERT" + }, + "294": { + "op": "JUMPDEST" + }, + "295": { + "op": "POP" + }, + "296": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "CALLDATALOAD", + "path": "0" + }, + "297": { + "op": "PUSH1", + "value": "0x1" + }, + "299": { + "op": "PUSH1", + "value": "0x1" + }, + "301": { + "op": "PUSH1", + "value": "0xE0" + }, + "303": { + "op": "SHL" + }, + "304": { + "op": "SUB" + }, + "305": { + "op": "NOT" + }, + "306": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "AND", + "path": "0" + }, + "307": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "PUSH2", + "path": "0", + "value": "0x490" + }, + "310": { + "fn": "ERC165.supportsInterface", + "jump": "i", + "offset": [ + 965, + 1113 + ], + "op": "JUMP", + "path": "0" + }, + "311": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "JUMPDEST", + "path": "0" + }, + "312": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "314": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "DUP1", + "path": "0" + }, + "315": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "MLOAD", + "path": "0" + }, + "316": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SWAP2", + "path": "0" + }, + "317": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "ISZERO", + "path": "0" + }, + "318": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "ISZERO", + "path": "0" + }, + "319": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "DUP3", + "path": "0" + }, + "320": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "MSTORE", + "path": "0" + }, + "321": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "MLOAD", + "path": "0" + }, + "322": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SWAP1", + "path": "0" + }, + "323": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "DUP2", + "path": "0" + }, + "324": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SWAP1", + "path": "0" + }, + "325": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SUB", + "path": "0" + }, + "326": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "328": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "ADD", + "path": "0" + }, + "329": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SWAP1", + "path": "0" + }, + "330": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "RETURN", + "path": "0" + }, + "331": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "JUMPDEST", + "path": "3" + }, + "332": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH2", + "path": "3", + "value": "0x153" + }, + "335": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH2", + "path": "3", + "value": "0x4B3" + }, + "338": { + "fn": "ERC721.name", + "jump": "i", + "offset": [ + 4517, + 4615 + ], + "op": "JUMP", + "path": "3" + }, + "339": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "JUMPDEST", + "path": "3" + }, + "340": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "342": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP1", + "path": "3" + }, + "343": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MLOAD", + "path": "3" + }, + "344": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "346": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP1", + "path": "3" + }, + "347": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP3", + "path": "3" + }, + "348": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MSTORE", + "path": "3" + }, + "349": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "350": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MLOAD", + "path": "3" + }, + "351": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP2", + "path": "3" + }, + "352": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "353": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "ADD", + "path": "3" + }, + "354": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MSTORE", + "path": "3" + }, + "355": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "356": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MLOAD", + "path": "3" + }, + "357": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP2", + "path": "3" + }, + "358": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP3", + "path": "3" + }, + "359": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "360": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP3", + "path": "3" + }, + "361": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP1", + "path": "3" + }, + "362": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "363": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "ADD", + "path": "3" + }, + "364": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP2", + "path": "3" + }, + "365": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP6", + "path": "3" + }, + "366": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "ADD", + "path": "3" + }, + "367": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP1", + "path": "3" + }, + "368": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP1", + "path": "3" + }, + "369": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "370": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "371": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "373": { + "op": "JUMPDEST" + }, + "374": { + "op": "DUP4" + }, + "375": { + "op": "DUP2" + }, + "376": { + "op": "LT" + }, + "377": { + "op": "ISZERO" + }, + "378": { + "op": "PUSH2", + "value": "0x18D" + }, + "381": { + "op": "JUMPI" + }, + "382": { + "op": "DUP2" + }, + "383": { + "op": "DUP2" + }, + "384": { + "op": "ADD" + }, + "385": { + "op": "MLOAD" + }, + "386": { + "op": "DUP4" + }, + "387": { + "op": "DUP3" + }, + "388": { + "op": "ADD" + }, + "389": { + "op": "MSTORE" + }, + "390": { + "op": "PUSH1", + "value": "0x20" + }, + "392": { + "op": "ADD" + }, + "393": { + "op": "PUSH2", + "value": "0x175" + }, + "396": { + "op": "JUMP" + }, + "397": { + "op": "JUMPDEST" + }, + "398": { + "op": "POP" + }, + "399": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "400": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "401": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "402": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP1", + "path": "3" + }, + "403": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "404": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP1", + "path": "3" + }, + "405": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP2", + "path": "3" + }, + "406": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "ADD", + "path": "3" + }, + "407": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP1", + "path": "3" + }, + "408": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "410": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "AND", + "path": "3" + }, + "411": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP1", + "path": "3" + }, + "412": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "ISZERO", + "path": "3" + }, + "413": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1BA" + }, + "416": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "JUMPI", + "path": "3" + }, + "417": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP1", + "path": "3" + }, + "418": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP3", + "path": "3" + }, + "419": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SUB", + "path": "3" + }, + "420": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP1", + "path": "3" + }, + "421": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MLOAD", + "path": "3" + }, + "422": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "424": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP4", + "path": "3" + }, + "425": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "427": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SUB", + "path": "3" + }, + "428": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "431": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "EXP", + "path": "3" + }, + "432": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SUB", + "path": "3" + }, + "433": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "NOT", + "path": "3" + }, + "434": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "AND", + "path": "3" + }, + "435": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP2", + "path": "3" + }, + "436": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MSTORE", + "path": "3" + }, + "437": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "439": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "ADD", + "path": "3" + }, + "440": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP2", + "path": "3" + }, + "441": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "442": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "JUMPDEST", + "path": "3" + }, + "443": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "444": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP3", + "path": "3" + }, + "445": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "446": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "447": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "POP", + "path": "3" + }, + "448": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "450": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "MLOAD", + "path": "3" + }, + "451": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "DUP1", + "path": "3" + }, + "452": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP2", + "path": "3" + }, + "453": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SUB", + "path": "3" + }, + "454": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP1", + "path": "3" + }, + "455": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "RETURN", + "path": "3" + }, + "456": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "JUMPDEST", + "path": "3" + }, + "457": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1E5" + }, + "460": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "462": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "DUP1", + "path": "3" + }, + "463": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "464": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "SUB", + "path": "3" + }, + "465": { + "op": "PUSH1", + "value": "0x20" + }, + "467": { + "op": "DUP2" + }, + "468": { + "op": "LT" + }, + "469": { + "op": "ISZERO" + }, + "470": { + "op": "PUSH2", + "value": "0x1DE" + }, + "473": { + "op": "JUMPI" + }, + "474": { + "op": "PUSH1", + "value": "0x0" + }, + "476": { + "op": "DUP1" + }, + "477": { + "op": "REVERT" + }, + "478": { + "op": "JUMPDEST" + }, + "479": { + "op": "POP" + }, + "480": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "481": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "PUSH2", + "path": "3", + "value": "0x549" + }, + "484": { + "fn": "ERC721.getApproved", + "jump": "i", + "offset": [ + 7222, + 7439 + ], + "op": "JUMP", + "path": "3" + }, + "485": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "JUMPDEST", + "path": "3" + }, + "486": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "488": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "DUP1", + "path": "3" + }, + "489": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "MLOAD", + "path": "3" + }, + "490": { + "op": "PUSH1", + "value": "0x1" + }, + "492": { + "op": "PUSH1", + "value": "0x1" + }, + "494": { + "op": "PUSH1", + "value": "0xA0" + }, + "496": { + "op": "SHL" + }, + "497": { + "op": "SUB" + }, + "498": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "SWAP1", + "path": "3" + }, + "499": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "SWAP3", + "path": "3" + }, + "500": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "AND", + "path": "3" + }, + "501": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "DUP3", + "path": "3" + }, + "502": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "MSTORE", + "path": "3" + }, + "503": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "MLOAD", + "path": "3" + }, + "504": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "SWAP1", + "path": "3" + }, + "505": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "DUP2", + "path": "3" + }, + "506": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "SWAP1", + "path": "3" + }, + "507": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "SUB", + "path": "3" + }, + "508": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "510": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "ADD", + "path": "3" + }, + "511": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "SWAP1", + "path": "3" + }, + "512": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "RETURN", + "path": "3" + }, + "513": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "JUMPDEST", + "path": "3" + }, + "514": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "PUSH2", + "path": "3", + "value": "0x22D" + }, + "517": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "519": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "DUP1", + "path": "3" + }, + "520": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "521": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "SUB", + "path": "3" + }, + "522": { + "op": "PUSH1", + "value": "0x40" + }, + "524": { + "op": "DUP2" + }, + "525": { + "op": "LT" + }, + "526": { + "op": "ISZERO" + }, + "527": { + "op": "PUSH2", + "value": "0x217" + }, + "530": { + "op": "JUMPI" + }, + "531": { + "op": "PUSH1", + "value": "0x0" + }, + "533": { + "op": "DUP1" + }, + "534": { + "op": "REVERT" + }, + "535": { + "op": "JUMPDEST" + }, + "536": { + "op": "POP" + }, + "537": { + "op": "PUSH1", + "value": "0x1" + }, + "539": { + "op": "PUSH1", + "value": "0x1" + }, + "541": { + "op": "PUSH1", + "value": "0xA0" + }, + "543": { + "op": "SHL" + }, + "544": { + "op": "SUB" + }, + "545": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "DUP2", + "path": "3" + }, + "546": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "547": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "AND", + "path": "3" + }, + "548": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "SWAP1", + "path": "3" + }, + "549": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "551": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "ADD", + "path": "3" + }, + "552": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "553": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "PUSH2", + "path": "3", + "value": "0x5AB" + }, + "556": { + "fn": "ERC721.approve", + "jump": "i", + "offset": [ + 6766, + 7161 + ], + "op": "JUMP", + "path": "3" + }, + "557": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "JUMPDEST", + "path": "3" + }, + "558": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "STOP", + "path": "3" + }, + "559": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "JUMPDEST", + "path": "3" + }, + "560": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "PUSH2", + "path": "3", + "value": "0x237" + }, + "563": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "PUSH2", + "path": "3", + "value": "0x686" + }, + "566": { + "fn": "ERC721.totalSupply", + "jump": "i", + "offset": [ + 6260, + 6468 + ], + "op": "JUMP", + "path": "3" + }, + "567": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "JUMPDEST", + "path": "3" + }, + "568": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "570": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "DUP1", + "path": "3" + }, + "571": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "MLOAD", + "path": "3" + }, + "572": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "SWAP2", + "path": "3" + }, + "573": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "DUP3", + "path": "3" + }, + "574": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "MSTORE", + "path": "3" + }, + "575": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "MLOAD", + "path": "3" + }, + "576": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "SWAP1", + "path": "3" + }, + "577": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "DUP2", + "path": "3" + }, + "578": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "SWAP1", + "path": "3" + }, + "579": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "SUB", + "path": "3" + }, + "580": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "582": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "ADD", + "path": "3" + }, + "583": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "SWAP1", + "path": "3" + }, + "584": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "RETURN", + "path": "3" + }, + "585": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "JUMPDEST", + "path": "3" + }, + "586": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "PUSH2", + "path": "3", + "value": "0x22D" + }, + "589": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "591": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "DUP1", + "path": "3" + }, + "592": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "593": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "SUB", + "path": "3" + }, + "594": { + "op": "PUSH1", + "value": "0x60" + }, + "596": { + "op": "DUP2" + }, + "597": { + "op": "LT" + }, + "598": { + "op": "ISZERO" + }, + "599": { + "op": "PUSH2", + "value": "0x25F" + }, + "602": { + "op": "JUMPI" + }, + "603": { + "op": "PUSH1", + "value": "0x0" + }, + "605": { + "op": "DUP1" + }, + "606": { + "op": "REVERT" + }, + "607": { + "op": "JUMPDEST" + }, + "608": { + "op": "POP" + }, + "609": { + "op": "PUSH1", + "value": "0x1" + }, + "611": { + "op": "PUSH1", + "value": "0x1" + }, + "613": { + "op": "PUSH1", + "value": "0xA0" + }, + "615": { + "op": "SHL" + }, + "616": { + "op": "SUB" + }, + "617": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "DUP2", + "path": "3" + }, + "618": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "619": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "DUP2", + "path": "3" + }, + "620": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "AND", + "path": "3" + }, + "621": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "SWAP2", + "path": "3" + }, + "622": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "624": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "DUP2", + "path": "3" + }, + "625": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "ADD", + "path": "3" + }, + "626": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "627": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "SWAP1", + "path": "3" + }, + "628": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "SWAP2", + "path": "3" + }, + "629": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "AND", + "path": "3" + }, + "630": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "SWAP1", + "path": "3" + }, + "631": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "633": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "ADD", + "path": "3" + }, + "634": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "635": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "PUSH2", + "path": "3", + "value": "0x697" + }, + "638": { + "fn": "ERC721.transferFrom", + "jump": "i", + "offset": [ + 8086, + 8386 + ], + "op": "JUMP", + "path": "3" + }, + "639": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "JUMPDEST", + "path": "3" + }, + "640": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "PUSH2", + "path": "3", + "value": "0x237" + }, + "643": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "645": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "DUP1", + "path": "3" + }, + "646": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "647": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "SUB", + "path": "3" + }, + "648": { + "op": "PUSH1", + "value": "0x40" + }, + "650": { + "op": "DUP2" + }, + "651": { + "op": "LT" + }, + "652": { + "op": "ISZERO" + }, + "653": { + "op": "PUSH2", + "value": "0x295" + }, + "656": { + "op": "JUMPI" + }, + "657": { + "op": "PUSH1", + "value": "0x0" + }, + "659": { + "op": "DUP1" + }, + "660": { + "op": "REVERT" + }, + "661": { + "op": "JUMPDEST" + }, + "662": { + "op": "POP" + }, + "663": { + "op": "PUSH1", + "value": "0x1" + }, + "665": { + "op": "PUSH1", + "value": "0x1" + }, + "667": { + "op": "PUSH1", + "value": "0xA0" + }, + "669": { + "op": "SHL" + }, + "670": { + "op": "SUB" + }, + "671": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "DUP2", + "path": "3" + }, + "672": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "673": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "AND", + "path": "3" + }, + "674": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "SWAP1", + "path": "3" + }, + "675": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "677": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "ADD", + "path": "3" + }, + "678": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "679": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "PUSH2", + "path": "3", + "value": "0x6EE" + }, + "682": { + "fn": "ERC721.tokenOfOwnerByIndex", + "jump": "i", + "offset": [ + 6029, + 6189 + ], + "op": "JUMP", + "path": "3" + }, + "683": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "JUMPDEST", + "path": "3" + }, + "684": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "PUSH2", + "path": "3", + "value": "0x22D" + }, + "687": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "689": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "DUP1", + "path": "3" + }, + "690": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "691": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "SUB", + "path": "3" + }, + "692": { + "op": "PUSH1", + "value": "0x60" + }, + "694": { + "op": "DUP2" + }, + "695": { + "op": "LT" + }, + "696": { + "op": "ISZERO" + }, + "697": { + "op": "PUSH2", + "value": "0x2C1" + }, + "700": { + "op": "JUMPI" + }, + "701": { + "op": "PUSH1", + "value": "0x0" + }, + "703": { + "op": "DUP1" + }, + "704": { + "op": "REVERT" + }, + "705": { + "op": "JUMPDEST" + }, + "706": { + "op": "POP" + }, + "707": { + "op": "PUSH1", + "value": "0x1" + }, + "709": { + "op": "PUSH1", + "value": "0x1" + }, + "711": { + "op": "PUSH1", + "value": "0xA0" + }, + "713": { + "op": "SHL" + }, + "714": { + "op": "SUB" + }, + "715": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "DUP2", + "path": "3" + }, + "716": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "717": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "DUP2", + "path": "3" + }, + "718": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "AND", + "path": "3" + }, + "719": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "SWAP2", + "path": "3" + }, + "720": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "722": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "DUP2", + "path": "3" + }, + "723": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "ADD", + "path": "3" + }, + "724": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "725": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "SWAP1", + "path": "3" + }, + "726": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "SWAP2", + "path": "3" + }, + "727": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "AND", + "path": "3" + }, + "728": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "SWAP1", + "path": "3" + }, + "729": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "731": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "ADD", + "path": "3" + }, + "732": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "733": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "PUSH2", + "path": "3", + "value": "0x71F" + }, + "736": { + "fn": "ERC721.safeTransferFrom", + "jump": "i", + "offset": [ + 8452, + 8601 + ], + "op": "JUMP", + "path": "3" + }, + "737": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "JUMPDEST", + "path": "3" + }, + "738": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "PUSH2", + "path": "3", + "value": "0x237" + }, + "741": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "743": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "DUP1", + "path": "3" + }, + "744": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "745": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "SUB", + "path": "3" + }, + "746": { + "op": "PUSH1", + "value": "0x20" + }, + "748": { + "op": "DUP2" + }, + "749": { + "op": "LT" + }, + "750": { + "op": "ISZERO" + }, + "751": { + "op": "PUSH2", + "value": "0x2F7" + }, + "754": { + "op": "JUMPI" + }, + "755": { + "op": "PUSH1", + "value": "0x0" + }, + "757": { + "op": "DUP1" + }, + "758": { + "op": "REVERT" + }, + "759": { + "op": "JUMPDEST" + }, + "760": { + "op": "POP" + }, + "761": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "762": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "PUSH2", + "path": "3", + "value": "0x73A" + }, + "765": { + "fn": "ERC721.tokenByIndex", + "jump": "i", + "offset": [ + 6540, + 6709 + ], + "op": "JUMP", + "path": "3" + }, + "766": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "JUMPDEST", + "path": "3" + }, + "767": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1E5" + }, + "770": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "772": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "DUP1", + "path": "3" + }, + "773": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "774": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "SUB", + "path": "3" + }, + "775": { + "op": "PUSH1", + "value": "0x20" + }, + "777": { + "op": "DUP2" + }, + "778": { + "op": "LT" + }, + "779": { + "op": "ISZERO" + }, + "780": { + "op": "PUSH2", + "value": "0x314" + }, + "783": { + "op": "JUMPI" + }, + "784": { + "op": "PUSH1", + "value": "0x0" + }, + "786": { + "op": "DUP1" + }, + "787": { + "op": "REVERT" + }, + "788": { + "op": "JUMPDEST" + }, + "789": { + "op": "POP" + }, + "790": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "791": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "PUSH2", + "path": "3", + "value": "0x756" + }, + "794": { + "fn": "ERC721.ownerOf", + "jump": "i", + "offset": [ + 4280, + 4455 + ], + "op": "JUMP", + "path": "3" + }, + "795": { + "fn": "ERC721.baseURI", + "offset": [ + 5855, + 5950 + ], + "op": "JUMPDEST", + "path": "3" + }, + "796": { + "fn": "ERC721.baseURI", + "offset": [ + 5855, + 5950 + ], + "op": "PUSH2", + "path": "3", + "value": "0x153" + }, + "799": { + "fn": "ERC721.baseURI", + "offset": [ + 5855, + 5950 + ], + "op": "PUSH2", + "path": "3", + "value": "0x784" + }, + "802": { + "fn": "ERC721.baseURI", + "jump": "i", + "offset": [ + 5855, + 5950 + ], + "op": "JUMP", + "path": "3" + }, + "803": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "JUMPDEST", + "path": "3" + }, + "804": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "PUSH2", + "path": "3", + "value": "0x237" + }, + "807": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "809": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "DUP1", + "path": "3" + }, + "810": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "811": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "SUB", + "path": "3" + }, + "812": { + "op": "PUSH1", + "value": "0x20" + }, + "814": { + "op": "DUP2" + }, + "815": { + "op": "LT" + }, + "816": { + "op": "ISZERO" + }, + "817": { + "op": "PUSH2", + "value": "0x339" + }, + "820": { + "op": "JUMPI" + }, + "821": { + "op": "PUSH1", + "value": "0x0" + }, + "823": { + "op": "DUP1" + }, + "824": { + "op": "REVERT" + }, + "825": { + "op": "JUMPDEST" + }, + "826": { + "op": "POP" + }, + "827": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "828": { + "op": "PUSH1", + "value": "0x1" + }, + "830": { + "op": "PUSH1", + "value": "0x1" + }, + "832": { + "op": "PUSH1", + "value": "0xA0" + }, + "834": { + "op": "SHL" + }, + "835": { + "op": "SUB" + }, + "836": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "AND", + "path": "3" + }, + "837": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "PUSH2", + "path": "3", + "value": "0x7E5" + }, + "840": { + "fn": "ERC721.balanceOf", + "jump": "i", + "offset": [ + 4005, + 4223 + ], + "op": "JUMP", + "path": "3" + }, + "841": { + "fn": "ERC721.symbol", + "offset": [ + 4679, + 4781 + ], + "op": "JUMPDEST", + "path": "3" + }, + "842": { + "fn": "ERC721.symbol", + "offset": [ + 4679, + 4781 + ], + "op": "PUSH2", + "path": "3", + "value": "0x153" + }, + "845": { + "fn": "ERC721.symbol", + "offset": [ + 4679, + 4781 + ], + "op": "PUSH2", + "path": "3", + "value": "0x84D" + }, + "848": { + "fn": "ERC721.symbol", + "jump": "i", + "offset": [ + 4679, + 4781 + ], + "op": "JUMP", + "path": "3" + }, + "849": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "JUMPDEST", + "path": "3" + }, + "850": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "PUSH2", + "path": "3", + "value": "0x22D" + }, + "853": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "855": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "DUP1", + "path": "3" + }, + "856": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "857": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "SUB", + "path": "3" + }, + "858": { + "op": "PUSH1", + "value": "0x40" + }, + "860": { + "op": "DUP2" + }, + "861": { + "op": "LT" + }, + "862": { + "op": "ISZERO" + }, + "863": { + "op": "PUSH2", + "value": "0x367" + }, + "866": { + "op": "JUMPI" + }, + "867": { + "op": "PUSH1", + "value": "0x0" + }, + "869": { + "op": "DUP1" + }, + "870": { + "op": "REVERT" + }, + "871": { + "op": "JUMPDEST" + }, + "872": { + "op": "POP" + }, + "873": { + "op": "PUSH1", + "value": "0x1" + }, + "875": { + "op": "PUSH1", + "value": "0x1" + }, + "877": { + "op": "PUSH1", + "value": "0xA0" + }, + "879": { + "op": "SHL" + }, + "880": { + "op": "SUB" + }, + "881": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "DUP2", + "path": "3" + }, + "882": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "883": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "AND", + "path": "3" + }, + "884": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "SWAP1", + "path": "3" + }, + "885": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "887": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "ADD", + "path": "3" + }, + "888": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "889": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "ISZERO", + "path": "3" + }, + "890": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "ISZERO", + "path": "3" + }, + "891": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "PUSH2", + "path": "3", + "value": "0x8AE" + }, + "894": { + "fn": "ERC721.setApprovalForAll", + "jump": "i", + "offset": [ + 7506, + 7796 + ], + "op": "JUMP", + "path": "3" + }, + "895": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "JUMPDEST", + "path": "3" + }, + "896": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH2", + "path": "3", + "value": "0x22D" + }, + "899": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "901": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP1", + "path": "3" + }, + "902": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "903": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SUB", + "path": "3" + }, + "904": { + "op": "PUSH1", + "value": "0x80" + }, + "906": { + "op": "DUP2" + }, + "907": { + "op": "LT" + }, + "908": { + "op": "ISZERO" + }, + "909": { + "op": "PUSH2", + "value": "0x395" + }, + "912": { + "op": "JUMPI" + }, + "913": { + "op": "PUSH1", + "value": "0x0" + }, + "915": { + "op": "DUP1" + }, + "916": { + "op": "REVERT" + }, + "917": { + "op": "JUMPDEST" + }, + "918": { + "op": "PUSH1", + "value": "0x1" + }, + "920": { + "op": "PUSH1", + "value": "0x1" + }, + "922": { + "op": "PUSH1", + "value": "0xA0" + }, + "924": { + "op": "SHL" + }, + "925": { + "op": "SUB" + }, + "926": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP3", + "path": "3" + }, + "927": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "928": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP2", + "path": "3" + }, + "929": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "AND", + "path": "3" + }, + "930": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP3", + "path": "3" + }, + "931": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "933": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP2", + "path": "3" + }, + "934": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "935": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "936": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP1", + "path": "3" + }, + "937": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP2", + "path": "3" + }, + "938": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "AND", + "path": "3" + }, + "939": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP2", + "path": "3" + }, + "940": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "942": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP3", + "path": "3" + }, + "943": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "944": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "945": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP2", + "path": "3" + }, + "946": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP1", + "path": "3" + }, + "947": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP2", + "path": "3" + }, + "948": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "949": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP1", + "path": "3" + }, + "950": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x80" + }, + "952": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP2", + "path": "3" + }, + "953": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "954": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "956": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP3", + "path": "3" + }, + "957": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "958": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "959": { + "op": "PUSH5", + "value": "0x100000000" + }, + "965": { + "op": "DUP2" + }, + "966": { + "op": "GT" + }, + "967": { + "op": "ISZERO" + }, + "968": { + "op": "PUSH2", + "value": "0x3D0" + }, + "971": { + "op": "JUMPI" + }, + "972": { + "op": "PUSH1", + "value": "0x0" + }, + "974": { + "op": "DUP1" + }, + "975": { + "op": "REVERT" + }, + "976": { + "op": "JUMPDEST" + }, + "977": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP3", + "path": "3" + }, + "978": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "979": { + "op": "DUP4" + }, + "980": { + "op": "PUSH1", + "value": "0x20" + }, + "982": { + "op": "DUP3" + }, + "983": { + "op": "ADD" + }, + "984": { + "op": "GT" + }, + "985": { + "op": "ISZERO" + }, + "986": { + "op": "PUSH2", + "value": "0x3E2" + }, + "989": { + "op": "JUMPI" + }, + "990": { + "op": "PUSH1", + "value": "0x0" + }, + "992": { + "op": "DUP1" + }, + "993": { + "op": "REVERT" + }, + "994": { + "op": "JUMPDEST" + }, + "995": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP1", + "path": "3" + }, + "996": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "997": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP1", + "path": "3" + }, + "998": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1000": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1001": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP2", + "path": "3" + }, + "1002": { + "op": "DUP5" + }, + "1003": { + "op": "PUSH1", + "value": "0x1" + }, + "1005": { + "op": "DUP4" + }, + "1006": { + "op": "MUL" + }, + "1007": { + "op": "DUP5" + }, + "1008": { + "op": "ADD" + }, + "1009": { + "op": "GT" + }, + "1010": { + "op": "PUSH5", + "value": "0x100000000" + }, + "1016": { + "op": "DUP4" + }, + "1017": { + "op": "GT" + }, + "1018": { + "op": "OR" + }, + "1019": { + "op": "ISZERO" + }, + "1020": { + "op": "PUSH2", + "value": "0x404" + }, + "1023": { + "op": "JUMPI" + }, + "1024": { + "op": "PUSH1", + "value": "0x0" + }, + "1026": { + "op": "DUP1" + }, + "1027": { + "op": "REVERT" + }, + "1028": { + "op": "JUMPDEST" + }, + "1029": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP2", + "path": "3" + }, + "1030": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP1", + "path": "3" + }, + "1031": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP1", + "path": "3" + }, + "1032": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP1", + "path": "3" + }, + "1033": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "1035": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1036": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1038": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP1", + "path": "3" + }, + "1039": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP2", + "path": "3" + }, + "1040": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DIV", + "path": "3" + }, + "1041": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "MUL", + "path": "3" + }, + "1042": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1044": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1045": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1047": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "MLOAD", + "path": "3" + }, + "1048": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP1", + "path": "3" + }, + "1049": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP2", + "path": "3" + }, + "1050": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1051": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1053": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "MSTORE", + "path": "3" + }, + "1054": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP1", + "path": "3" + }, + "1055": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP4", + "path": "3" + }, + "1056": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP3", + "path": "3" + }, + "1057": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP2", + "path": "3" + }, + "1058": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP1", + "path": "3" + }, + "1059": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP2", + "path": "3" + }, + "1060": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP2", + "path": "3" + }, + "1061": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "MSTORE", + "path": "3" + }, + "1062": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1064": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "ADD", + "path": "3" + }, + "1065": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP4", + "path": "3" + }, + "1066": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "DUP4", + "path": "3" + }, + "1067": { + "op": "DUP1" + }, + "1068": { + "op": "DUP3" + }, + "1069": { + "op": "DUP5" + }, + "1070": { + "op": "CALLDATACOPY" + }, + "1071": { + "op": "PUSH1", + "value": "0x0" + }, + "1073": { + "op": "SWAP3" + }, + "1074": { + "op": "ADD" + }, + "1075": { + "op": "SWAP2" + }, + "1076": { + "op": "SWAP1" + }, + "1077": { + "op": "SWAP2" + }, + "1078": { + "op": "MSTORE" + }, + "1079": { + "op": "POP" + }, + "1080": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP3", + "path": "3" + }, + "1081": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP6", + "path": "3" + }, + "1082": { + "op": "POP" + }, + "1083": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "PUSH2", + "path": "3", + "value": "0x9B3" + }, + "1086": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "SWAP5", + "path": "3" + }, + "1087": { + "op": "POP" + }, + "1088": { + "op": "POP" + }, + "1089": { + "op": "POP" + }, + "1090": { + "op": "POP" + }, + "1091": { + "op": "POP" + }, + "1092": { + "fn": "ERC721.safeTransferFrom", + "jump": "i", + "offset": [ + 8667, + 8949 + ], + "op": "JUMP", + "path": "3" + }, + "1093": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1094": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "PUSH2", + "path": "3", + "value": "0x153" + }, + "1097": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "1099": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "DUP1", + "path": "3" + }, + "1100": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "1101": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "SUB", + "path": "3" + }, + "1102": { + "op": "PUSH1", + "value": "0x20" + }, + "1104": { + "op": "DUP2" + }, + "1105": { + "op": "LT" + }, + "1106": { + "op": "ISZERO" + }, + "1107": { + "op": "PUSH2", + "value": "0x45B" + }, + "1110": { + "op": "JUMPI" + }, + "1111": { + "op": "PUSH1", + "value": "0x0" + }, + "1113": { + "op": "DUP1" + }, + "1114": { + "op": "REVERT" + }, + "1115": { + "op": "JUMPDEST" + }, + "1116": { + "op": "POP" + }, + "1117": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "1118": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "PUSH2", + "path": "3", + "value": "0xA11" + }, + "1121": { + "fn": "ERC721.tokenURI", + "jump": "i", + "offset": [ + 4847, + 5623 + ], + "op": "JUMP", + "path": "3" + }, + "1122": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1123": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "PUSH2", + "path": "3", + "value": "0x137" + }, + "1126": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "1128": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "DUP1", + "path": "3" + }, + "1129": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "CALLDATASIZE", + "path": "3" + }, + "1130": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "SUB", + "path": "3" + }, + "1131": { + "op": "PUSH1", + "value": "0x40" + }, + "1133": { + "op": "DUP2" + }, + "1134": { + "op": "LT" + }, + "1135": { + "op": "ISZERO" + }, + "1136": { + "op": "PUSH2", + "value": "0x478" + }, + "1139": { + "op": "JUMPI" + }, + "1140": { + "op": "PUSH1", + "value": "0x0" + }, + "1142": { + "op": "DUP1" + }, + "1143": { + "op": "REVERT" + }, + "1144": { + "op": "JUMPDEST" + }, + "1145": { + "op": "POP" + }, + "1146": { + "op": "PUSH1", + "value": "0x1" + }, + "1148": { + "op": "PUSH1", + "value": "0x1" + }, + "1150": { + "op": "PUSH1", + "value": "0xA0" + }, + "1152": { + "op": "SHL" + }, + "1153": { + "op": "SUB" + }, + "1154": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "DUP2", + "path": "3" + }, + "1155": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "1156": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "DUP2", + "path": "3" + }, + "1157": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "AND", + "path": "3" + }, + "1158": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "SWAP2", + "path": "3" + }, + "1159": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1161": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "ADD", + "path": "3" + }, + "1162": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "CALLDATALOAD", + "path": "3" + }, + "1163": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "AND", + "path": "3" + }, + "1164": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "PUSH2", + "path": "3", + "value": "0xC94" + }, + "1167": { + "fn": "ERC721.isApprovedForAll", + "jump": "i", + "offset": [ + 7862, + 8024 + ], + "op": "JUMP", + "path": "3" + }, + "1168": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1169": { + "op": "PUSH1", + "value": "0x1" + }, + "1171": { + "op": "PUSH1", + "value": "0x1" + }, + "1173": { + "op": "PUSH1", + "value": "0xE0" + }, + "1175": { + "op": "SHL" + }, + "1176": { + "op": "SUB" + }, + "1177": { + "op": "NOT" + }, + "1178": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "DUP2", + "path": "0", + "statement": 0 + }, + "1179": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "AND", + "path": "0" + }, + "1180": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1050, + 1054 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1182": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "SWAP1", + "path": "0" + }, + "1183": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "DUP2", + "path": "0" + }, + "1184": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "MSTORE", + "path": "0" + }, + "1185": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "1187": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "DUP2", + "path": "0" + }, + "1188": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "SWAP1", + "path": "0" + }, + "1189": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "MSTORE", + "path": "0" + }, + "1190": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1192": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "SWAP1", + "path": "0" + }, + "1193": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "KECCAK256", + "path": "0" + }, + "1194": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "SLOAD", + "path": "0" + }, + "1195": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "PUSH1", + "path": "0", + "value": "0xFF" + }, + "1197": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1073, + 1106 + ], + "op": "AND", + "path": "0" + }, + "1198": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1199": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SWAP2", + "path": "0" + }, + "1200": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "SWAP1", + "path": "0" + }, + "1201": { + "fn": "ERC165.supportsInterface", + "offset": [ + 965, + 1113 + ], + "op": "POP", + "path": "0" + }, + "1202": { + "fn": "ERC165.supportsInterface", + "jump": "o", + "offset": [ + 965, + 1113 + ], + "op": "JUMP", + "path": "0" + }, + "1203": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1204": { + "fn": "ERC721.name", + "offset": [ + 4603, + 4608 + ], + "op": "PUSH1", + "path": "3", + "statement": 1, + "value": "0x6" + }, + "1206": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP1", + "path": "3" + }, + "1207": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SLOAD", + "path": "3" + }, + "1208": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1210": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP1", + "path": "3" + }, + "1211": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MLOAD", + "path": "3" + }, + "1212": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1214": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "1216": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "1218": { + "op": "PUSH1", + "value": "0x0" + }, + "1220": { + "op": "NOT" + }, + "1221": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "1224": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "1226": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP9", + "path": "3" + }, + "1227": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "AND", + "path": "3" + }, + "1228": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ISZERO", + "path": "3" + }, + "1229": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MUL", + "path": "3" + }, + "1230": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1231": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1232": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP6", + "path": "3" + }, + "1233": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "AND", + "path": "3" + }, + "1234": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP5", + "path": "3" + }, + "1235": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1236": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP5", + "path": "3" + }, + "1237": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DIV", + "path": "3" + }, + "1238": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP4", + "path": "3" + }, + "1239": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP5", + "path": "3" + }, + "1240": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1241": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP2", + "path": "3" + }, + "1242": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1243": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DIV", + "path": "3" + }, + "1244": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP2", + "path": "3" + }, + "1245": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MUL", + "path": "3" + }, + "1246": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP3", + "path": "3" + }, + "1247": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1248": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP2", + "path": "3" + }, + "1249": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1250": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1251": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP3", + "path": "3" + }, + "1252": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MSTORE", + "path": "3" + }, + "1253": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP3", + "path": "3" + }, + "1254": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP2", + "path": "3" + }, + "1255": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MSTORE", + "path": "3" + }, + "1256": { + "fn": "ERC721.name", + "offset": [ + 4571, + 4584 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "1258": { + "fn": "ERC721.name", + "offset": [ + 4571, + 4584 + ], + "op": "SWAP4", + "path": "3" + }, + "1259": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1260": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP3", + "path": "3" + }, + "1261": { + "fn": "ERC721.name", + "offset": [ + 4603, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1262": { + "fn": "ERC721.name", + "offset": [ + 4603, + 4608 + ], + "op": "SWAP2", + "path": "3" + }, + "1263": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP4", + "path": "3" + }, + "1264": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1265": { + "fn": "ERC721.name", + "offset": [ + 4603, + 4608 + ], + "op": "DUP3", + "path": "3" + }, + "1266": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP3", + "path": "3" + }, + "1267": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP1", + "path": "3" + }, + "1268": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ISZERO", + "path": "3" + }, + "1269": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH2", + "path": "3", + "value": "0x53F" + }, + "1272": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "JUMPI", + "path": "3" + }, + "1273": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP1", + "path": "3" + }, + "1274": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "1276": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "LT", + "path": "3" + }, + "1277": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH2", + "path": "3", + "value": "0x514" + }, + "1280": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "JUMPI", + "path": "3" + }, + "1281": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "1284": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP1", + "path": "3" + }, + "1285": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP4", + "path": "3" + }, + "1286": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SLOAD", + "path": "3" + }, + "1287": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DIV", + "path": "3" + }, + "1288": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MUL", + "path": "3" + }, + "1289": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP4", + "path": "3" + }, + "1290": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MSTORE", + "path": "3" + }, + "1291": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP2", + "path": "3" + }, + "1292": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1294": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1295": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP2", + "path": "3" + }, + "1296": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH2", + "path": "3", + "value": "0x53F" + }, + "1299": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "JUMP", + "path": "3" + }, + "1300": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1301": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP3", + "path": "3" + }, + "1302": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1303": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP2", + "path": "3" + }, + "1304": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1305": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "1307": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MSTORE", + "path": "3" + }, + "1308": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1310": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "1312": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "KECCAK256", + "path": "3" + }, + "1313": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1314": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1315": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP2", + "path": "3" + }, + "1316": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SLOAD", + "path": "3" + }, + "1317": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP2", + "path": "3" + }, + "1318": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "MSTORE", + "path": "3" + }, + "1319": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1320": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "1322": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1323": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1324": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1326": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1327": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP1", + "path": "3" + }, + "1328": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP4", + "path": "3" + }, + "1329": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "GT", + "path": "3" + }, + "1330": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH2", + "path": "3", + "value": "0x522" + }, + "1333": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "JUMPI", + "path": "3" + }, + "1334": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP3", + "path": "3" + }, + "1335": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1336": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SUB", + "path": "3" + }, + "1337": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "1339": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "AND", + "path": "3" + }, + "1340": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "DUP3", + "path": "3" + }, + "1341": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "ADD", + "path": "3" + }, + "1342": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP2", + "path": "3" + }, + "1343": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1344": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "POP", + "path": "3" + }, + "1345": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "POP", + "path": "3" + }, + "1346": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "POP", + "path": "3" + }, + "1347": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "POP", + "path": "3" + }, + "1348": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "POP", + "path": "3" + }, + "1349": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "SWAP1", + "path": "3" + }, + "1350": { + "fn": "ERC721.name", + "offset": [ + 4596, + 4608 + ], + "op": "POP", + "path": "3" + }, + "1351": { + "fn": "ERC721.name", + "offset": [ + 4517, + 4615 + ], + "op": "SWAP1", + "path": "3" + }, + "1352": { + "fn": "ERC721.name", + "jump": "o", + "offset": [ + 4517, + 4615 + ], + "op": "JUMP", + "path": "3" + }, + "1353": { + "fn": "ERC721.getApproved", + "offset": [ + 7222, + 7439 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1354": { + "fn": "ERC721.getApproved", + "offset": [ + 7298, + 7305 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "1356": { + "fn": "ERC721.getApproved", + "offset": [ + 7325, + 7341 + ], + "op": "PUSH2", + "path": "3", + "statement": 2, + "value": "0x554" + }, + "1359": { + "fn": "ERC721.getApproved", + "offset": [ + 7333, + 7340 + ], + "op": "DUP3", + "path": "3" + }, + "1360": { + "fn": "ERC721.getApproved", + "offset": [ + 7325, + 7332 + ], + "op": "PUSH2", + "path": "3", + "value": "0xCC2" + }, + "1363": { + "fn": "ERC721.getApproved", + "jump": "i", + "offset": [ + 7325, + 7341 + ], + "op": "JUMP", + "path": "3" + }, + "1364": { + "branch": 88, + "fn": "ERC721.getApproved", + "offset": [ + 7325, + 7341 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1365": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH2", + "path": "3", + "value": "0x58F" + }, + "1368": { + "branch": 88, + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "JUMPI", + "path": "3" + }, + "1369": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1371": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "MLOAD", + "path": "3" + }, + "1372": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1376": { + "op": "PUSH1", + "value": "0xE5" + }, + "1378": { + "op": "SHL" + }, + "1379": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP2", + "path": "3" + }, + "1380": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "MSTORE", + "path": "3" + }, + "1381": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "1383": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "ADD", + "path": "3" + }, + "1384": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP1", + "path": "3" + }, + "1385": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP1", + "path": "3" + }, + "1386": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1388": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "ADD", + "path": "3" + }, + "1389": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP3", + "path": "3" + }, + "1390": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP2", + "path": "3" + }, + "1391": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "SUB", + "path": "3" + }, + "1392": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP3", + "path": "3" + }, + "1393": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "MSTORE", + "path": "3" + }, + "1394": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2C" + }, + "1396": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP2", + "path": "3" + }, + "1397": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "MSTORE", + "path": "3" + }, + "1398": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1400": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "ADD", + "path": "3" + }, + "1401": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP1", + "path": "3" + }, + "1402": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH2", + "path": "3", + "value": "0x18CA" + }, + "1405": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2C" + }, + "1407": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "SWAP2", + "path": "3" + }, + "1408": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "CODECOPY", + "path": "3" + }, + "1409": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1411": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "ADD", + "path": "3" + }, + "1412": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "SWAP2", + "path": "3" + }, + "1413": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "POP", + "path": "3" + }, + "1414": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "POP", + "path": "3" + }, + "1415": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1417": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "MLOAD", + "path": "3" + }, + "1418": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "DUP1", + "path": "3" + }, + "1419": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "SWAP2", + "path": "3" + }, + "1420": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "SUB", + "path": "3" + }, + "1421": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "SWAP1", + "path": "3" + }, + "1422": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "REVERT", + "path": "3" + }, + "1423": { + "fn": "ERC721.getApproved", + "offset": [ + 7317, + 7390 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1424": { + "op": "POP" + }, + "1425": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "PUSH1", + "path": "3", + "statement": 3, + "value": "0x0" + }, + "1427": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "SWAP1", + "path": "3" + }, + "1428": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "DUP2", + "path": "3" + }, + "1429": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "MSTORE", + "path": "3" + }, + "1430": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7423 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "1432": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1434": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "MSTORE", + "path": "3" + }, + "1435": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1437": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "SWAP1", + "path": "3" + }, + "1438": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "KECCAK256", + "path": "3" + }, + "1439": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "SLOAD", + "path": "3" + }, + "1440": { + "op": "PUSH1", + "value": "0x1" + }, + "1442": { + "op": "PUSH1", + "value": "0x1" + }, + "1444": { + "op": "PUSH1", + "value": "0xA0" + }, + "1446": { + "op": "SHL" + }, + "1447": { + "op": "SUB" + }, + "1448": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "AND", + "path": "3" + }, + "1449": { + "fn": "ERC721.getApproved", + "offset": [ + 7408, + 7432 + ], + "op": "SWAP1", + "path": "3" + }, + "1450": { + "fn": "ERC721.getApproved", + "jump": "o", + "offset": [ + 7222, + 7439 + ], + "op": "JUMP", + "path": "3" + }, + "1451": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1452": { + "fn": "ERC721.approve", + "offset": [ + 6846, + 6859 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "1454": { + "fn": "ERC721.approve", + "offset": [ + 6862, + 6885 + ], + "op": "PUSH2", + "path": "3", + "value": "0x5B6" + }, + "1457": { + "fn": "ERC721.approve", + "offset": [ + 6877, + 6884 + ], + "op": "DUP3", + "path": "3" + }, + "1458": { + "fn": "ERC721.approve", + "offset": [ + 6862, + 6876 + ], + "op": "PUSH2", + "path": "3", + "value": "0x756" + }, + "1461": { + "fn": "ERC721.approve", + "jump": "i", + "offset": [ + 6862, + 6885 + ], + "op": "JUMP", + "path": "3" + }, + "1462": { + "fn": "ERC721.approve", + "offset": [ + 6862, + 6885 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1463": { + "fn": "ERC721.approve", + "offset": [ + 6846, + 6885 + ], + "op": "SWAP1", + "path": "3" + }, + "1464": { + "fn": "ERC721.approve", + "offset": [ + 6846, + 6885 + ], + "op": "POP", + "path": "3" + }, + "1465": { + "fn": "ERC721.approve", + "offset": [ + 6909, + 6914 + ], + "op": "DUP1", + "path": "3", + "statement": 4 + }, + "1466": { + "op": "PUSH1", + "value": "0x1" + }, + "1468": { + "op": "PUSH1", + "value": "0x1" + }, + "1470": { + "op": "PUSH1", + "value": "0xA0" + }, + "1472": { + "op": "SHL" + }, + "1473": { + "op": "SUB" + }, + "1474": { + "fn": "ERC721.approve", + "offset": [ + 6903, + 6914 + ], + "op": "AND", + "path": "3" + }, + "1475": { + "fn": "ERC721.approve", + "offset": [ + 6903, + 6905 + ], + "op": "DUP4", + "path": "3" + }, + "1476": { + "op": "PUSH1", + "value": "0x1" + }, + "1478": { + "op": "PUSH1", + "value": "0x1" + }, + "1480": { + "op": "PUSH1", + "value": "0xA0" + }, + "1482": { + "op": "SHL" + }, + "1483": { + "op": "SUB" + }, + "1484": { + "fn": "ERC721.approve", + "offset": [ + 6903, + 6914 + ], + "op": "AND", + "path": "3" + }, + "1485": { + "fn": "ERC721.approve", + "offset": [ + 6903, + 6914 + ], + "op": "EQ", + "path": "3" + }, + "1486": { + "branch": 89, + "fn": "ERC721.approve", + "offset": [ + 6903, + 6914 + ], + "op": "ISZERO", + "path": "3" + }, + "1487": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH2", + "path": "3", + "value": "0x609" + }, + "1490": { + "branch": 89, + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "JUMPI", + "path": "3" + }, + "1491": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1493": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "MLOAD", + "path": "3" + }, + "1494": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1498": { + "op": "PUSH1", + "value": "0xE5" + }, + "1500": { + "op": "SHL" + }, + "1501": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP2", + "path": "3" + }, + "1502": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "MSTORE", + "path": "3" + }, + "1503": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "1505": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "ADD", + "path": "3" + }, + "1506": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP1", + "path": "3" + }, + "1507": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP1", + "path": "3" + }, + "1508": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1510": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "ADD", + "path": "3" + }, + "1511": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP3", + "path": "3" + }, + "1512": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP2", + "path": "3" + }, + "1513": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "SUB", + "path": "3" + }, + "1514": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP3", + "path": "3" + }, + "1515": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "MSTORE", + "path": "3" + }, + "1516": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x21" + }, + "1518": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP2", + "path": "3" + }, + "1519": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "MSTORE", + "path": "3" + }, + "1520": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1522": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "ADD", + "path": "3" + }, + "1523": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP1", + "path": "3" + }, + "1524": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH2", + "path": "3", + "value": "0x194E" + }, + "1527": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x21" + }, + "1529": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "SWAP2", + "path": "3" + }, + "1530": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "CODECOPY", + "path": "3" + }, + "1531": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1533": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "ADD", + "path": "3" + }, + "1534": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "SWAP2", + "path": "3" + }, + "1535": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "POP", + "path": "3" + }, + "1536": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "POP", + "path": "3" + }, + "1537": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1539": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "MLOAD", + "path": "3" + }, + "1540": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "DUP1", + "path": "3" + }, + "1541": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "SWAP2", + "path": "3" + }, + "1542": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "SUB", + "path": "3" + }, + "1543": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "SWAP1", + "path": "3" + }, + "1544": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "REVERT", + "path": "3" + }, + "1545": { + "fn": "ERC721.approve", + "offset": [ + 6895, + 6952 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1546": { + "fn": "ERC721.approve", + "offset": [ + 6987, + 6992 + ], + "op": "DUP1", + "path": "3", + "statement": 5 + }, + "1547": { + "op": "PUSH1", + "value": "0x1" + }, + "1549": { + "op": "PUSH1", + "value": "0x1" + }, + "1551": { + "op": "PUSH1", + "value": "0xA0" + }, + "1553": { + "op": "SHL" + }, + "1554": { + "op": "SUB" + }, + "1555": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 6992 + ], + "op": "AND", + "path": "3" + }, + "1556": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 6983 + ], + "op": "PUSH2", + "path": "3", + "value": "0x61B" + }, + "1559": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 6981 + ], + "op": "PUSH2", + "path": "3", + "value": "0xCD5" + }, + "1562": { + "fn": "ERC721.approve", + "jump": "i", + "offset": [ + 6971, + 6983 + ], + "op": "JUMP", + "path": "3" + }, + "1563": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 6983 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1564": { + "op": "PUSH1", + "value": "0x1" + }, + "1566": { + "op": "PUSH1", + "value": "0x1" + }, + "1568": { + "op": "PUSH1", + "value": "0xA0" + }, + "1570": { + "op": "SHL" + }, + "1571": { + "op": "SUB" + }, + "1572": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 6992 + ], + "op": "AND", + "path": "3" + }, + "1573": { + "branch": 90, + "fn": "ERC721.approve", + "offset": [ + 6971, + 6992 + ], + "op": "EQ", + "path": "3" + }, + "1574": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 7040 + ], + "op": "DUP1", + "path": "3" + }, + "1575": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 7040 + ], + "op": "PUSH2", + "path": "3", + "value": "0x63C" + }, + "1578": { + "branch": 90, + "fn": "ERC721.approve", + "offset": [ + 6971, + 7040 + ], + "op": "JUMPI", + "path": "3" + }, + "1579": { + "fn": "ERC721.approve", + "offset": [ + 6971, + 7040 + ], + "op": "POP", + "path": "3" + }, + "1580": { + "fn": "ERC721.approve", + "offset": [ + 6996, + 7040 + ], + "op": "PUSH2", + "path": "3", + "value": "0x63C" + }, + "1583": { + "fn": "ERC721.approve", + "offset": [ + 7020, + 7025 + ], + "op": "DUP2", + "path": "3" + }, + "1584": { + "fn": "ERC721.approve", + "offset": [ + 7027, + 7039 + ], + "op": "PUSH2", + "path": "3", + "value": "0x637" + }, + "1587": { + "fn": "ERC721.approve", + "offset": [ + 7027, + 7037 + ], + "op": "PUSH2", + "path": "3", + "value": "0xCD5" + }, + "1590": { + "fn": "ERC721.approve", + "jump": "i", + "offset": [ + 7027, + 7039 + ], + "op": "JUMP", + "path": "3" + }, + "1591": { + "fn": "ERC721.approve", + "offset": [ + 7027, + 7039 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1592": { + "fn": "ERC721.approve", + "offset": [ + 6996, + 7019 + ], + "op": "PUSH2", + "path": "3", + "value": "0xC94" + }, + "1595": { + "fn": "ERC721.approve", + "jump": "i", + "offset": [ + 6996, + 7040 + ], + "op": "JUMP", + "path": "3" + }, + "1596": { + "branch": 91, + "fn": "ERC721.approve", + "offset": [ + 6996, + 7040 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1597": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH2", + "path": "3", + "value": "0x677" + }, + "1600": { + "branch": 91, + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "JUMPI", + "path": "3" + }, + "1601": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1603": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "MLOAD", + "path": "3" + }, + "1604": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1608": { + "op": "PUSH1", + "value": "0xE5" + }, + "1610": { + "op": "SHL" + }, + "1611": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP2", + "path": "3" + }, + "1612": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "MSTORE", + "path": "3" + }, + "1613": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "1615": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "ADD", + "path": "3" + }, + "1616": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP1", + "path": "3" + }, + "1617": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP1", + "path": "3" + }, + "1618": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1620": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "ADD", + "path": "3" + }, + "1621": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP3", + "path": "3" + }, + "1622": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP2", + "path": "3" + }, + "1623": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "SUB", + "path": "3" + }, + "1624": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP3", + "path": "3" + }, + "1625": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "MSTORE", + "path": "3" + }, + "1626": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x38" + }, + "1628": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP2", + "path": "3" + }, + "1629": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "MSTORE", + "path": "3" + }, + "1630": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1632": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "ADD", + "path": "3" + }, + "1633": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP1", + "path": "3" + }, + "1634": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH2", + "path": "3", + "value": "0x181D" + }, + "1637": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x38" + }, + "1639": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "SWAP2", + "path": "3" + }, + "1640": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "CODECOPY", + "path": "3" + }, + "1641": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1643": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "ADD", + "path": "3" + }, + "1644": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "SWAP2", + "path": "3" + }, + "1645": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "POP", + "path": "3" + }, + "1646": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "POP", + "path": "3" + }, + "1647": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1649": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "MLOAD", + "path": "3" + }, + "1650": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "DUP1", + "path": "3" + }, + "1651": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "SWAP2", + "path": "3" + }, + "1652": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "SUB", + "path": "3" + }, + "1653": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "SWAP1", + "path": "3" + }, + "1654": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "REVERT", + "path": "3" + }, + "1655": { + "fn": "ERC721.approve", + "offset": [ + 6963, + 7122 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1656": { + "fn": "ERC721.approve", + "offset": [ + 7133, + 7154 + ], + "op": "PUSH2", + "path": "3", + "statement": 6, + "value": "0x681" + }, + "1659": { + "fn": "ERC721.approve", + "offset": [ + 7142, + 7144 + ], + "op": "DUP4", + "path": "3" + }, + "1660": { + "fn": "ERC721.approve", + "offset": [ + 7146, + 7153 + ], + "op": "DUP4", + "path": "3" + }, + "1661": { + "fn": "ERC721.approve", + "offset": [ + 7133, + 7141 + ], + "op": "PUSH2", + "path": "3", + "value": "0xCD9" + }, + "1664": { + "fn": "ERC721.approve", + "jump": "i", + "offset": [ + 7133, + 7154 + ], + "op": "JUMP", + "path": "3" + }, + "1665": { + "fn": "ERC721.approve", + "offset": [ + 7133, + 7154 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1666": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "POP", + "path": "3" + }, + "1667": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "POP", + "path": "3" + }, + "1668": { + "fn": "ERC721.approve", + "offset": [ + 6766, + 7161 + ], + "op": "POP", + "path": "3" + }, + "1669": { + "fn": "ERC721.approve", + "jump": "o", + "offset": [ + 6766, + 7161 + ], + "op": "JUMP", + "path": "3" + }, + "1670": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1671": { + "fn": "ERC721.totalSupply", + "offset": [ + 6321, + 6328 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "1673": { + "fn": "ERC721.totalSupply", + "offset": [ + 6440, + 6461 + ], + "op": "PUSH2", + "path": "3", + "statement": 7, + "value": "0x692" + }, + "1676": { + "fn": "ERC721.totalSupply", + "offset": [ + 6440, + 6452 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "1678": { + "fn": "ERC721.totalSupply", + "offset": [ + 6440, + 6459 + ], + "op": "PUSH2", + "path": "3", + "value": "0xD47" + }, + "1681": { + "fn": "ERC721.totalSupply", + "jump": "i", + "offset": [ + 6440, + 6461 + ], + "op": "JUMP", + "path": "3" + }, + "1682": { + "fn": "ERC721.totalSupply", + "offset": [ + 6440, + 6461 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1683": { + "fn": "ERC721.totalSupply", + "offset": [ + 6433, + 6461 + ], + "op": "SWAP1", + "path": "3" + }, + "1684": { + "fn": "ERC721.totalSupply", + "offset": [ + 6433, + 6461 + ], + "op": "POP", + "path": "3" + }, + "1685": { + "fn": "ERC721.totalSupply", + "offset": [ + 6260, + 6468 + ], + "op": "SWAP1", + "path": "3" + }, + "1686": { + "fn": "ERC721.totalSupply", + "jump": "o", + "offset": [ + 6260, + 6468 + ], + "op": "JUMP", + "path": "3" + }, + "1687": { + "fn": "ERC721.transferFrom", + "offset": [ + 8086, + 8386 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1688": { + "fn": "ERC721.transferFrom", + "offset": [ + 8245, + 8286 + ], + "op": "PUSH2", + "path": "3", + "statement": 8, + "value": "0x6A8" + }, + "1691": { + "fn": "ERC721.transferFrom", + "offset": [ + 8264, + 8276 + ], + "op": "PUSH2", + "path": "3", + "value": "0x6A2" + }, + "1694": { + "fn": "ERC721.transferFrom", + "offset": [ + 8264, + 8274 + ], + "op": "PUSH2", + "path": "3", + "value": "0xCD5" + }, + "1697": { + "fn": "ERC721.transferFrom", + "jump": "i", + "offset": [ + 8264, + 8276 + ], + "op": "JUMP", + "path": "3" + }, + "1698": { + "fn": "ERC721.transferFrom", + "offset": [ + 8264, + 8276 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1699": { + "fn": "ERC721.transferFrom", + "offset": [ + 8278, + 8285 + ], + "op": "DUP3", + "path": "3" + }, + "1700": { + "fn": "ERC721.transferFrom", + "offset": [ + 8245, + 8263 + ], + "op": "PUSH2", + "path": "3", + "value": "0xD52" + }, + "1703": { + "fn": "ERC721.transferFrom", + "jump": "i", + "offset": [ + 8245, + 8286 + ], + "op": "JUMP", + "path": "3" + }, + "1704": { + "branch": 92, + "fn": "ERC721.transferFrom", + "offset": [ + 8245, + 8286 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1705": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH2", + "path": "3", + "value": "0x6E3" + }, + "1708": { + "branch": 92, + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "JUMPI", + "path": "3" + }, + "1709": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1711": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "MLOAD", + "path": "3" + }, + "1712": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1716": { + "op": "PUSH1", + "value": "0xE5" + }, + "1718": { + "op": "SHL" + }, + "1719": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP2", + "path": "3" + }, + "1720": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "MSTORE", + "path": "3" + }, + "1721": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "1723": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "ADD", + "path": "3" + }, + "1724": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP1", + "path": "3" + }, + "1725": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP1", + "path": "3" + }, + "1726": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1728": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "ADD", + "path": "3" + }, + "1729": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP3", + "path": "3" + }, + "1730": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP2", + "path": "3" + }, + "1731": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "SUB", + "path": "3" + }, + "1732": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP3", + "path": "3" + }, + "1733": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "MSTORE", + "path": "3" + }, + "1734": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x31" + }, + "1736": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP2", + "path": "3" + }, + "1737": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "MSTORE", + "path": "3" + }, + "1738": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1740": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "ADD", + "path": "3" + }, + "1741": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP1", + "path": "3" + }, + "1742": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH2", + "path": "3", + "value": "0x196F" + }, + "1745": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x31" + }, + "1747": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "SWAP2", + "path": "3" + }, + "1748": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "CODECOPY", + "path": "3" + }, + "1749": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1751": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "ADD", + "path": "3" + }, + "1752": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "SWAP2", + "path": "3" + }, + "1753": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "POP", + "path": "3" + }, + "1754": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "POP", + "path": "3" + }, + "1755": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1757": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "MLOAD", + "path": "3" + }, + "1758": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "DUP1", + "path": "3" + }, + "1759": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "SWAP2", + "path": "3" + }, + "1760": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "SUB", + "path": "3" + }, + "1761": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "SWAP1", + "path": "3" + }, + "1762": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "REVERT", + "path": "3" + }, + "1763": { + "fn": "ERC721.transferFrom", + "offset": [ + 8237, + 8340 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1764": { + "fn": "ERC721.transferFrom", + "offset": [ + 8351, + 8379 + ], + "op": "PUSH2", + "path": "3", + "statement": 9, + "value": "0x681" + }, + "1767": { + "fn": "ERC721.transferFrom", + "offset": [ + 8361, + 8365 + ], + "op": "DUP4", + "path": "3" + }, + "1768": { + "fn": "ERC721.transferFrom", + "offset": [ + 8367, + 8369 + ], + "op": "DUP4", + "path": "3" + }, + "1769": { + "fn": "ERC721.transferFrom", + "offset": [ + 8371, + 8378 + ], + "op": "DUP4", + "path": "3" + }, + "1770": { + "fn": "ERC721.transferFrom", + "offset": [ + 8351, + 8360 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDF6" + }, + "1773": { + "fn": "ERC721.transferFrom", + "jump": "i", + "offset": [ + 8351, + 8379 + ], + "op": "JUMP", + "path": "3" + }, + "1774": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1775": { + "op": "PUSH1", + "value": "0x1" + }, + "1777": { + "op": "PUSH1", + "value": "0x1" + }, + "1779": { + "op": "PUSH1", + "value": "0xA0" + }, + "1781": { + "op": "SHL" + }, + "1782": { + "op": "SUB" + }, + "1783": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "DUP3", + "path": "3", + "statement": 10 + }, + "1784": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "AND", + "path": "3" + }, + "1785": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6126, + 6133 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "1787": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "SWAP1", + "path": "3" + }, + "1788": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "DUP2", + "path": "3" + }, + "1789": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "MSTORE", + "path": "3" + }, + "1790": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6165 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "1792": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1794": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "MSTORE", + "path": "3" + }, + "1795": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1797": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "DUP2", + "path": "3" + }, + "1798": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6172 + ], + "op": "KECCAK256", + "path": "3" + }, + "1799": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6182 + ], + "op": "PUSH2", + "path": "3", + "value": "0x716" + }, + "1802": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6182 + ], + "op": "SWAP1", + "path": "3" + }, + "1803": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6176, + 6181 + ], + "op": "DUP4", + "path": "3" + }, + "1804": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6182 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "1809": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6175 + ], + "op": "PUSH2", + "path": "3", + "value": "0xF54" + }, + "1812": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6182 + ], + "op": "AND", + "path": "3" + }, + "1813": { + "fn": "ERC721.tokenOfOwnerByIndex", + "jump": "i", + "offset": [ + 6152, + 6182 + ], + "op": "JUMP", + "path": "3" + }, + "1814": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6152, + 6182 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1815": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6145, + 6182 + ], + "op": "SWAP1", + "path": "3" + }, + "1816": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6145, + 6182 + ], + "op": "POP", + "path": "3" + }, + "1817": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1818": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "SWAP3", + "path": "3" + }, + "1819": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "SWAP2", + "path": "3" + }, + "1820": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "POP", + "path": "3" + }, + "1821": { + "fn": "ERC721.tokenOfOwnerByIndex", + "offset": [ + 6029, + 6189 + ], + "op": "POP", + "path": "3" + }, + "1822": { + "fn": "ERC721.tokenOfOwnerByIndex", + "jump": "o", + "offset": [ + 6029, + 6189 + ], + "op": "JUMP", + "path": "3" + }, + "1823": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8452, + 8601 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1824": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "PUSH2", + "path": "3", + "statement": 11, + "value": "0x681" + }, + "1827": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8572, + 8576 + ], + "op": "DUP4", + "path": "3" + }, + "1828": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8578, + 8580 + ], + "op": "DUP4", + "path": "3" + }, + "1829": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8582, + 8589 + ], + "op": "DUP4", + "path": "3" + }, + "1830": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1832": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "MLOAD", + "path": "3" + }, + "1833": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "DUP1", + "path": "3" + }, + "1834": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1836": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "ADD", + "path": "3" + }, + "1837": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1839": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "MSTORE", + "path": "3" + }, + "1840": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "DUP1", + "path": "3" + }, + "1841": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "1843": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "DUP2", + "path": "3" + }, + "1844": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "MSTORE", + "path": "3" + }, + "1845": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8594 + ], + "op": "POP", + "path": "3" + }, + "1846": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8555, + 8571 + ], + "op": "PUSH2", + "path": "3", + "value": "0x9B3" + }, + "1849": { + "fn": "ERC721.safeTransferFrom", + "jump": "i", + "offset": [ + 8555, + 8594 + ], + "op": "JUMP", + "path": "3" + }, + "1850": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1851": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6615, + 6622 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "1853": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6615, + 6622 + ], + "op": "DUP1", + "path": "3" + }, + "1854": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6656, + 6678 + ], + "op": "PUSH2", + "path": "3", + "value": "0x74E" + }, + "1857": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6656, + 6668 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "1859": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6672, + 6677 + ], + "op": "DUP5", + "path": "3" + }, + "1860": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6656, + 6678 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "1865": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6656, + 6671 + ], + "op": "PUSH2", + "path": "3", + "value": "0xF60" + }, + "1868": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6656, + 6678 + ], + "op": "AND", + "path": "3" + }, + "1869": { + "fn": "ERC721.tokenByIndex", + "jump": "i", + "offset": [ + 6656, + 6678 + ], + "op": "JUMP", + "path": "3" + }, + "1870": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6656, + 6678 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1871": { + "op": "POP" + }, + "1872": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6634, + 6678 + ], + "op": "SWAP4", + "path": "3" + }, + "1873": { + "fn": "ERC721.tokenByIndex", + "offset": [ + 6540, + 6709 + ], + "op": "SWAP3", + "path": "3" + }, + "1874": { + "op": "POP" + }, + "1875": { + "op": "POP" + }, + "1876": { + "op": "POP" + }, + "1877": { + "fn": "ERC721.tokenByIndex", + "jump": "o", + "offset": [ + 6540, + 6709 + ], + "op": "JUMP", + "path": "3" + }, + "1878": { + "fn": "ERC721.ownerOf", + "offset": [ + 4280, + 4455 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1879": { + "fn": "ERC721.ownerOf", + "offset": [ + 4352, + 4359 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "1881": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH2", + "path": "3", + "statement": 12, + "value": "0x719" + }, + "1884": { + "fn": "ERC721.ownerOf", + "offset": [ + 4395, + 4402 + ], + "op": "DUP3", + "path": "3" + }, + "1885": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1887": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "MLOAD", + "path": "3" + }, + "1888": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "DUP1", + "path": "3" + }, + "1889": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "1891": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "ADD", + "path": "3" + }, + "1892": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1894": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "MSTORE", + "path": "3" + }, + "1895": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "DUP1", + "path": "3" + }, + "1896": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x29" + }, + "1898": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "DUP2", + "path": "3" + }, + "1899": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "MSTORE", + "path": "3" + }, + "1900": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1902": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "ADD", + "path": "3" + }, + "1903": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH2", + "path": "3", + "value": "0x187F" + }, + "1906": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x29" + }, + "1908": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "SWAP2", + "path": "3" + }, + "1909": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "CODECOPY", + "path": "3" + }, + "1910": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4390 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "1912": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4390 + ], + "op": "SWAP2", + "path": "3" + }, + "1913": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "SWAP1", + "path": "3" + }, + "1914": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "1919": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4394 + ], + "op": "PUSH2", + "path": "3", + "value": "0xF7C" + }, + "1922": { + "fn": "ERC721.ownerOf", + "offset": [ + 4378, + 4448 + ], + "op": "AND", + "path": "3" + }, + "1923": { + "fn": "ERC721.ownerOf", + "jump": "i", + "offset": [ + 4378, + 4448 + ], + "op": "JUMP", + "path": "3" + }, + "1924": { + "fn": "ERC721.baseURI", + "offset": [ + 5855, + 5950 + ], + "op": "JUMPDEST", + "path": "3" + }, + "1925": { + "fn": "ERC721.baseURI", + "offset": [ + 5935, + 5943 + ], + "op": "PUSH1", + "path": "3", + "statement": 13, + "value": "0x9" + }, + "1927": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP1", + "path": "3" + }, + "1928": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SLOAD", + "path": "3" + }, + "1929": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "1931": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP1", + "path": "3" + }, + "1932": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "MLOAD", + "path": "3" + }, + "1933": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "1935": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "1937": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "1939": { + "op": "PUSH1", + "value": "0x0" + }, + "1941": { + "op": "NOT" + }, + "1942": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "1945": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "1947": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP9", + "path": "3" + }, + "1948": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "AND", + "path": "3" + }, + "1949": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ISZERO", + "path": "3" + }, + "1950": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "MUL", + "path": "3" + }, + "1951": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ADD", + "path": "3" + }, + "1952": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP1", + "path": "3" + }, + "1953": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP6", + "path": "3" + }, + "1954": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "AND", + "path": "3" + }, + "1955": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP5", + "path": "3" + }, + "1956": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP1", + "path": "3" + }, + "1957": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP5", + "path": "3" + }, + "1958": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DIV", + "path": "3" + }, + "1959": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP4", + "path": "3" + }, + "1960": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP5", + "path": "3" + }, + "1961": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ADD", + "path": "3" + }, + "1962": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP2", + "path": "3" + }, + "1963": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP1", + "path": "3" + }, + "1964": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DIV", + "path": "3" + }, + "1965": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP2", + "path": "3" + }, + "1966": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "MUL", + "path": "3" + }, + "1967": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP3", + "path": "3" + }, + "1968": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ADD", + "path": "3" + }, + "1969": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP2", + "path": "3" + }, + "1970": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ADD", + "path": "3" + }, + "1971": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP1", + "path": "3" + }, + "1972": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP3", + "path": "3" + }, + "1973": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "MSTORE", + "path": "3" + }, + "1974": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP3", + "path": "3" + }, + "1975": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP2", + "path": "3" + }, + "1976": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "MSTORE", + "path": "3" + }, + "1977": { + "fn": "ERC721.baseURI", + "offset": [ + 5903, + 5916 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "1979": { + "fn": "ERC721.baseURI", + "offset": [ + 5903, + 5916 + ], + "op": "SWAP4", + "path": "3" + }, + "1980": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP1", + "path": "3" + }, + "1981": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP3", + "path": "3" + }, + "1982": { + "fn": "ERC721.baseURI", + "offset": [ + 5935, + 5943 + ], + "op": "SWAP1", + "path": "3" + }, + "1983": { + "fn": "ERC721.baseURI", + "offset": [ + 5935, + 5943 + ], + "op": "SWAP2", + "path": "3" + }, + "1984": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP4", + "path": "3" + }, + "1985": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ADD", + "path": "3" + }, + "1986": { + "fn": "ERC721.baseURI", + "offset": [ + 5935, + 5943 + ], + "op": "DUP3", + "path": "3" + }, + "1987": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP3", + "path": "3" + }, + "1988": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP1", + "path": "3" + }, + "1989": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ISZERO", + "path": "3" + }, + "1990": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH2", + "path": "3", + "value": "0x53F" + }, + "1993": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "JUMPI", + "path": "3" + }, + "1994": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP1", + "path": "3" + }, + "1995": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "1997": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "LT", + "path": "3" + }, + "1998": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH2", + "path": "3", + "value": "0x514" + }, + "2001": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "JUMPI", + "path": "3" + }, + "2002": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "2005": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP1", + "path": "3" + }, + "2006": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP4", + "path": "3" + }, + "2007": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SLOAD", + "path": "3" + }, + "2008": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DIV", + "path": "3" + }, + "2009": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "MUL", + "path": "3" + }, + "2010": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "DUP4", + "path": "3" + }, + "2011": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "MSTORE", + "path": "3" + }, + "2012": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP2", + "path": "3" + }, + "2013": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2015": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "ADD", + "path": "3" + }, + "2016": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "SWAP2", + "path": "3" + }, + "2017": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "PUSH2", + "path": "3", + "value": "0x53F" + }, + "2020": { + "fn": "ERC721.baseURI", + "offset": [ + 5928, + 5943 + ], + "op": "JUMP", + "path": "3" + }, + "2021": { + "fn": "ERC721.balanceOf", + "offset": [ + 4005, + 4223 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2022": { + "fn": "ERC721.balanceOf", + "offset": [ + 4077, + 4084 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "2024": { + "op": "PUSH1", + "value": "0x1" + }, + "2026": { + "op": "PUSH1", + "value": "0x1" + }, + "2028": { + "op": "PUSH1", + "value": "0xA0" + }, + "2030": { + "op": "SHL" + }, + "2031": { + "op": "SUB" + }, + "2032": { + "fn": "ERC721.balanceOf", + "offset": [ + 4104, + 4123 + ], + "op": "DUP3", + "path": "3", + "statement": 14 + }, + "2033": { + "branch": 93, + "fn": "ERC721.balanceOf", + "offset": [ + 4104, + 4123 + ], + "op": "AND", + "path": "3" + }, + "2034": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH2", + "path": "3", + "value": "0x82C" + }, + "2037": { + "branch": 93, + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "JUMPI", + "path": "3" + }, + "2038": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2040": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "MLOAD", + "path": "3" + }, + "2041": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2045": { + "op": "PUSH1", + "value": "0xE5" + }, + "2047": { + "op": "SHL" + }, + "2048": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP2", + "path": "3" + }, + "2049": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "MSTORE", + "path": "3" + }, + "2050": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "2052": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "ADD", + "path": "3" + }, + "2053": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP1", + "path": "3" + }, + "2054": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP1", + "path": "3" + }, + "2055": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2057": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "ADD", + "path": "3" + }, + "2058": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP3", + "path": "3" + }, + "2059": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP2", + "path": "3" + }, + "2060": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "SUB", + "path": "3" + }, + "2061": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP3", + "path": "3" + }, + "2062": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "MSTORE", + "path": "3" + }, + "2063": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2A" + }, + "2065": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP2", + "path": "3" + }, + "2066": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "MSTORE", + "path": "3" + }, + "2067": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2069": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "ADD", + "path": "3" + }, + "2070": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP1", + "path": "3" + }, + "2071": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1855" + }, + "2074": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2A" + }, + "2076": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "SWAP2", + "path": "3" + }, + "2077": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "CODECOPY", + "path": "3" + }, + "2078": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2080": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "ADD", + "path": "3" + }, + "2081": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "SWAP2", + "path": "3" + }, + "2082": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "POP", + "path": "3" + }, + "2083": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "POP", + "path": "3" + }, + "2084": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2086": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "MLOAD", + "path": "3" + }, + "2087": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "DUP1", + "path": "3" + }, + "2088": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "SWAP2", + "path": "3" + }, + "2089": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "SUB", + "path": "3" + }, + "2090": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "SWAP1", + "path": "3" + }, + "2091": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "REVERT", + "path": "3" + }, + "2092": { + "fn": "ERC721.balanceOf", + "offset": [ + 4096, + 4170 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2093": { + "op": "PUSH1", + "value": "0x1" + }, + "2095": { + "op": "PUSH1", + "value": "0x1" + }, + "2097": { + "op": "PUSH1", + "value": "0xA0" + }, + "2099": { + "op": "SHL" + }, + "2100": { + "op": "SUB" + }, + "2101": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "DUP3", + "path": "3", + "statement": 15 + }, + "2102": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "AND", + "path": "3" + }, + "2103": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "2105": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "SWAP1", + "path": "3" + }, + "2106": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "DUP2", + "path": "3" + }, + "2107": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "MSTORE", + "path": "3" + }, + "2108": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4200 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "2110": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2112": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "MSTORE", + "path": "3" + }, + "2113": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2115": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "SWAP1", + "path": "3" + }, + "2116": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4207 + ], + "op": "KECCAK256", + "path": "3" + }, + "2117": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4216 + ], + "op": "PUSH2", + "path": "3", + "value": "0x719" + }, + "2120": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4216 + ], + "op": "SWAP1", + "path": "3" + }, + "2121": { + "fn": "ERC721.balanceOf", + "offset": [ + 4187, + 4214 + ], + "op": "PUSH2", + "path": "3", + "value": "0xD47" + }, + "2124": { + "fn": "ERC721.balanceOf", + "jump": "i", + "offset": [ + 4187, + 4216 + ], + "op": "JUMP", + "path": "3" + }, + "2125": { + "fn": "ERC721.symbol", + "offset": [ + 4679, + 4781 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2126": { + "fn": "ERC721.symbol", + "offset": [ + 4767, + 4774 + ], + "op": "PUSH1", + "path": "3", + "statement": 16, + "value": "0x7" + }, + "2128": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP1", + "path": "3" + }, + "2129": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SLOAD", + "path": "3" + }, + "2130": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2132": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP1", + "path": "3" + }, + "2133": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "MLOAD", + "path": "3" + }, + "2134": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2136": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "2138": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "2140": { + "op": "PUSH1", + "value": "0x0" + }, + "2142": { + "op": "NOT" + }, + "2143": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "2146": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "2148": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP9", + "path": "3" + }, + "2149": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "AND", + "path": "3" + }, + "2150": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ISZERO", + "path": "3" + }, + "2151": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "MUL", + "path": "3" + }, + "2152": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ADD", + "path": "3" + }, + "2153": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP1", + "path": "3" + }, + "2154": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP6", + "path": "3" + }, + "2155": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "AND", + "path": "3" + }, + "2156": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP5", + "path": "3" + }, + "2157": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP1", + "path": "3" + }, + "2158": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP5", + "path": "3" + }, + "2159": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DIV", + "path": "3" + }, + "2160": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP4", + "path": "3" + }, + "2161": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP5", + "path": "3" + }, + "2162": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ADD", + "path": "3" + }, + "2163": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP2", + "path": "3" + }, + "2164": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP1", + "path": "3" + }, + "2165": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DIV", + "path": "3" + }, + "2166": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP2", + "path": "3" + }, + "2167": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "MUL", + "path": "3" + }, + "2168": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP3", + "path": "3" + }, + "2169": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ADD", + "path": "3" + }, + "2170": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP2", + "path": "3" + }, + "2171": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ADD", + "path": "3" + }, + "2172": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP1", + "path": "3" + }, + "2173": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP3", + "path": "3" + }, + "2174": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "MSTORE", + "path": "3" + }, + "2175": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP3", + "path": "3" + }, + "2176": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP2", + "path": "3" + }, + "2177": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "MSTORE", + "path": "3" + }, + "2178": { + "fn": "ERC721.symbol", + "offset": [ + 4735, + 4748 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "2180": { + "fn": "ERC721.symbol", + "offset": [ + 4735, + 4748 + ], + "op": "SWAP4", + "path": "3" + }, + "2181": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP1", + "path": "3" + }, + "2182": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP3", + "path": "3" + }, + "2183": { + "fn": "ERC721.symbol", + "offset": [ + 4767, + 4774 + ], + "op": "SWAP1", + "path": "3" + }, + "2184": { + "fn": "ERC721.symbol", + "offset": [ + 4767, + 4774 + ], + "op": "SWAP2", + "path": "3" + }, + "2185": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP4", + "path": "3" + }, + "2186": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ADD", + "path": "3" + }, + "2187": { + "fn": "ERC721.symbol", + "offset": [ + 4767, + 4774 + ], + "op": "DUP3", + "path": "3" + }, + "2188": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP3", + "path": "3" + }, + "2189": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP1", + "path": "3" + }, + "2190": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ISZERO", + "path": "3" + }, + "2191": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH2", + "path": "3", + "value": "0x53F" + }, + "2194": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "JUMPI", + "path": "3" + }, + "2195": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP1", + "path": "3" + }, + "2196": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "2198": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "LT", + "path": "3" + }, + "2199": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH2", + "path": "3", + "value": "0x514" + }, + "2202": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "JUMPI", + "path": "3" + }, + "2203": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "2206": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP1", + "path": "3" + }, + "2207": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP4", + "path": "3" + }, + "2208": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SLOAD", + "path": "3" + }, + "2209": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DIV", + "path": "3" + }, + "2210": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "MUL", + "path": "3" + }, + "2211": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "DUP4", + "path": "3" + }, + "2212": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "MSTORE", + "path": "3" + }, + "2213": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP2", + "path": "3" + }, + "2214": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2216": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "ADD", + "path": "3" + }, + "2217": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "SWAP2", + "path": "3" + }, + "2218": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "PUSH2", + "path": "3", + "value": "0x53F" + }, + "2221": { + "fn": "ERC721.symbol", + "offset": [ + 4760, + 4774 + ], + "op": "JUMP", + "path": "3" + }, + "2222": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2223": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7620, + 7632 + ], + "op": "PUSH2", + "path": "3", + "statement": 17, + "value": "0x8B6" + }, + "2226": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7620, + 7630 + ], + "op": "PUSH2", + "path": "3", + "value": "0xCD5" + }, + "2229": { + "fn": "ERC721.setApprovalForAll", + "jump": "i", + "offset": [ + 7620, + 7632 + ], + "op": "JUMP", + "path": "3" + }, + "2230": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7620, + 7632 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2231": { + "op": "PUSH1", + "value": "0x1" + }, + "2233": { + "op": "PUSH1", + "value": "0x1" + }, + "2235": { + "op": "PUSH1", + "value": "0xA0" + }, + "2237": { + "op": "SHL" + }, + "2238": { + "op": "SUB" + }, + "2239": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7608, + 7632 + ], + "op": "AND", + "path": "3" + }, + "2240": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7608, + 7616 + ], + "op": "DUP3", + "path": "3" + }, + "2241": { + "op": "PUSH1", + "value": "0x1" + }, + "2243": { + "op": "PUSH1", + "value": "0x1" + }, + "2245": { + "op": "PUSH1", + "value": "0xA0" + }, + "2247": { + "op": "SHL" + }, + "2248": { + "op": "SUB" + }, + "2249": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7608, + 7632 + ], + "op": "AND", + "path": "3" + }, + "2250": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7608, + 7632 + ], + "op": "EQ", + "path": "3" + }, + "2251": { + "branch": 94, + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7608, + 7632 + ], + "op": "ISZERO", + "path": "3" + }, + "2252": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH2", + "path": "3", + "value": "0x91C" + }, + "2255": { + "branch": 94, + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "JUMPI", + "path": "3" + }, + "2256": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2258": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "DUP1", + "path": "3" + }, + "2259": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "MLOAD", + "path": "3" + }, + "2260": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2264": { + "op": "PUSH1", + "value": "0xE5" + }, + "2266": { + "op": "SHL" + }, + "2267": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "DUP2", + "path": "3" + }, + "2268": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "MSTORE", + "path": "3" + }, + "2269": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2271": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "2273": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "DUP3", + "path": "3" + }, + "2274": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "ADD", + "path": "3" + }, + "2275": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "MSTORE", + "path": "3" + }, + "2276": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH1", + "path": "3", + "value": "0x19" + }, + "2278": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH1", + "path": "3", + "value": "0x24" + }, + "2280": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "DUP3", + "path": "3" + }, + "2281": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "ADD", + "path": "3" + }, + "2282": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "MSTORE", + "path": "3" + }, + "2283": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH32", + "path": "3", + "value": "0x4552433732313A20617070726F766520746F2063616C6C657200000000000000" + }, + "2316": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH1", + "path": "3", + "value": "0x44" + }, + "2318": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "DUP3", + "path": "3" + }, + "2319": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "ADD", + "path": "3" + }, + "2320": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "MSTORE", + "path": "3" + }, + "2321": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "SWAP1", + "path": "3" + }, + "2322": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "MLOAD", + "path": "3" + }, + "2323": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "SWAP1", + "path": "3" + }, + "2324": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "DUP2", + "path": "3" + }, + "2325": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "SWAP1", + "path": "3" + }, + "2326": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "SUB", + "path": "3" + }, + "2327": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "PUSH1", + "path": "3", + "value": "0x64" + }, + "2329": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "ADD", + "path": "3" + }, + "2330": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "SWAP1", + "path": "3" + }, + "2331": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "REVERT", + "path": "3" + }, + "2332": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7600, + 7662 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2333": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7718, + 7726 + ], + "op": "DUP1", + "path": "3", + "statement": 18 + }, + "2334": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7691 + ], + "op": "PUSH1", + "path": "3", + "value": "0x5" + }, + "2336": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "2338": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7692, + 7704 + ], + "op": "PUSH2", + "path": "3", + "value": "0x929" + }, + "2341": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7692, + 7702 + ], + "op": "PUSH2", + "path": "3", + "value": "0xCD5" + }, + "2344": { + "fn": "ERC721.setApprovalForAll", + "jump": "i", + "offset": [ + 7692, + 7704 + ], + "op": "JUMP", + "path": "3" + }, + "2345": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7692, + 7704 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2346": { + "op": "PUSH1", + "value": "0x1" + }, + "2348": { + "op": "PUSH1", + "value": "0x1" + }, + "2350": { + "op": "PUSH1", + "value": "0xA0" + }, + "2352": { + "op": "SHL" + }, + "2353": { + "op": "SUB" + }, + "2354": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "SWAP1", + "path": "3" + }, + "2355": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "DUP2", + "path": "3" + }, + "2356": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "AND", + "path": "3" + }, + "2357": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "DUP3", + "path": "3" + }, + "2358": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "MSTORE", + "path": "3" + }, + "2359": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2361": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "DUP1", + "path": "3" + }, + "2362": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "DUP4", + "path": "3" + }, + "2363": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "ADD", + "path": "3" + }, + "2364": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "SWAP4", + "path": "3" + }, + "2365": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "SWAP1", + "path": "3" + }, + "2366": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "SWAP4", + "path": "3" + }, + "2367": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "MSTORE", + "path": "3" + }, + "2368": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2370": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "SWAP2", + "path": "3" + }, + "2371": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "DUP3", + "path": "3" + }, + "2372": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "ADD", + "path": "3" + }, + "2373": { + "op": "PUSH1", + "value": "0x0" + }, + "2375": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "SWAP1", + "path": "3" + }, + "2376": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "DUP2", + "path": "3" + }, + "2377": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7705 + ], + "op": "KECCAK256", + "path": "3" + }, + "2378": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "SWAP2", + "path": "3" + }, + "2379": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "DUP8", + "path": "3" + }, + "2380": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "AND", + "path": "3" + }, + "2381": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "DUP1", + "path": "3" + }, + "2382": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "DUP3", + "path": "3" + }, + "2383": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "MSTORE", + "path": "3" + }, + "2384": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "SWAP2", + "path": "3" + }, + "2385": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "SWAP1", + "path": "3" + }, + "2386": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "SWAP4", + "path": "3" + }, + "2387": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "MSTORE", + "path": "3" + }, + "2388": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "SWAP2", + "path": "3" + }, + "2389": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7715 + ], + "op": "KECCAK256", + "path": "3" + }, + "2390": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "DUP1", + "path": "3" + }, + "2391": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SLOAD", + "path": "3" + }, + "2392": { + "op": "PUSH1", + "value": "0xFF" + }, + "2394": { + "op": "NOT" + }, + "2395": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "AND", + "path": "3" + }, + "2396": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SWAP3", + "path": "3" + }, + "2397": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "ISZERO", + "path": "3" + }, + "2398": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "ISZERO", + "path": "3" + }, + "2399": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SWAP3", + "path": "3" + }, + "2400": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SWAP1", + "path": "3" + }, + "2401": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SWAP3", + "path": "3" + }, + "2402": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "OR", + "path": "3" + }, + "2403": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SWAP1", + "path": "3" + }, + "2404": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SWAP2", + "path": "3" + }, + "2405": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7673, + 7726 + ], + "op": "SSTORE", + "path": "3" + }, + "2406": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7756, + 7768 + ], + "op": "PUSH2", + "path": "3", + "statement": 19, + "value": "0x96D" + }, + "2409": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7756, + 7766 + ], + "op": "PUSH2", + "path": "3", + "value": "0xCD5" + }, + "2412": { + "fn": "ERC721.setApprovalForAll", + "jump": "i", + "offset": [ + 7756, + 7768 + ], + "op": "JUMP", + "path": "3" + }, + "2413": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7756, + 7768 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2414": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2416": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "DUP1", + "path": "3" + }, + "2417": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "MLOAD", + "path": "3" + }, + "2418": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "DUP5", + "path": "3" + }, + "2419": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "ISZERO", + "path": "3" + }, + "2420": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "ISZERO", + "path": "3" + }, + "2421": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "DUP2", + "path": "3" + }, + "2422": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "MSTORE", + "path": "3" + }, + "2423": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP1", + "path": "3" + }, + "2424": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "MLOAD", + "path": "3" + }, + "2425": { + "op": "PUSH1", + "value": "0x1" + }, + "2427": { + "op": "PUSH1", + "value": "0x1" + }, + "2429": { + "op": "PUSH1", + "value": "0xA0" + }, + "2431": { + "op": "SHL" + }, + "2432": { + "op": "SUB" + }, + "2433": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP3", + "path": "3" + }, + "2434": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP1", + "path": "3" + }, + "2435": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP3", + "path": "3" + }, + "2436": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "AND", + "path": "3" + }, + "2437": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP2", + "path": "3" + }, + "2438": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "PUSH32", + "path": "3", + "value": "0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31" + }, + "2471": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP2", + "path": "3" + }, + "2472": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "DUP2", + "path": "3" + }, + "2473": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP1", + "path": "3" + }, + "2474": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SUB", + "path": "3" + }, + "2475": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2477": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "ADD", + "path": "3" + }, + "2478": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "SWAP1", + "path": "3" + }, + "2479": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7741, + 7789 + ], + "op": "LOG3", + "path": "3" + }, + "2480": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "POP", + "path": "3" + }, + "2481": { + "fn": "ERC721.setApprovalForAll", + "offset": [ + 7506, + 7796 + ], + "op": "POP", + "path": "3" + }, + "2482": { + "fn": "ERC721.setApprovalForAll", + "jump": "o", + "offset": [ + 7506, + 7796 + ], + "op": "JUMP", + "path": "3" + }, + "2483": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2484": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8798, + 8839 + ], + "op": "PUSH2", + "path": "3", + "statement": 20, + "value": "0x9C4" + }, + "2487": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8817, + 8829 + ], + "op": "PUSH2", + "path": "3", + "value": "0x9BE" + }, + "2490": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8817, + 8827 + ], + "op": "PUSH2", + "path": "3", + "value": "0xCD5" + }, + "2493": { + "fn": "ERC721.safeTransferFrom", + "jump": "i", + "offset": [ + 8817, + 8829 + ], + "op": "JUMP", + "path": "3" + }, + "2494": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8817, + 8829 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2495": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8831, + 8838 + ], + "op": "DUP4", + "path": "3" + }, + "2496": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8798, + 8816 + ], + "op": "PUSH2", + "path": "3", + "value": "0xD52" + }, + "2499": { + "fn": "ERC721.safeTransferFrom", + "jump": "i", + "offset": [ + 8798, + 8839 + ], + "op": "JUMP", + "path": "3" + }, + "2500": { + "branch": 95, + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8798, + 8839 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2501": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH2", + "path": "3", + "value": "0x9FF" + }, + "2504": { + "branch": 95, + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "JUMPI", + "path": "3" + }, + "2505": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2507": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "MLOAD", + "path": "3" + }, + "2508": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2512": { + "op": "PUSH1", + "value": "0xE5" + }, + "2514": { + "op": "SHL" + }, + "2515": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP2", + "path": "3" + }, + "2516": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "MSTORE", + "path": "3" + }, + "2517": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "2519": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "ADD", + "path": "3" + }, + "2520": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP1", + "path": "3" + }, + "2521": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP1", + "path": "3" + }, + "2522": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2524": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "ADD", + "path": "3" + }, + "2525": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP3", + "path": "3" + }, + "2526": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP2", + "path": "3" + }, + "2527": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "SUB", + "path": "3" + }, + "2528": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP3", + "path": "3" + }, + "2529": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "MSTORE", + "path": "3" + }, + "2530": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x31" + }, + "2532": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP2", + "path": "3" + }, + "2533": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "MSTORE", + "path": "3" + }, + "2534": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2536": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "ADD", + "path": "3" + }, + "2537": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP1", + "path": "3" + }, + "2538": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH2", + "path": "3", + "value": "0x196F" + }, + "2541": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x31" + }, + "2543": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "SWAP2", + "path": "3" + }, + "2544": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "CODECOPY", + "path": "3" + }, + "2545": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2547": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "ADD", + "path": "3" + }, + "2548": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "SWAP2", + "path": "3" + }, + "2549": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "POP", + "path": "3" + }, + "2550": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "POP", + "path": "3" + }, + "2551": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2553": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "MLOAD", + "path": "3" + }, + "2554": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "DUP1", + "path": "3" + }, + "2555": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "SWAP2", + "path": "3" + }, + "2556": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "SUB", + "path": "3" + }, + "2557": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "SWAP1", + "path": "3" + }, + "2558": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "REVERT", + "path": "3" + }, + "2559": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8790, + 8893 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2560": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8903, + 8942 + ], + "op": "PUSH2", + "path": "3", + "statement": 21, + "value": "0xA0B" + }, + "2563": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8917, + 8921 + ], + "op": "DUP5", + "path": "3" + }, + "2564": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8923, + 8925 + ], + "op": "DUP5", + "path": "3" + }, + "2565": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8927, + 8934 + ], + "op": "DUP5", + "path": "3" + }, + "2566": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8936, + 8941 + ], + "op": "DUP5", + "path": "3" + }, + "2567": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8903, + 8916 + ], + "op": "PUSH2", + "path": "3", + "value": "0xF93" + }, + "2570": { + "fn": "ERC721.safeTransferFrom", + "jump": "i", + "offset": [ + 8903, + 8942 + ], + "op": "JUMP", + "path": "3" + }, + "2571": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8903, + 8942 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2572": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "POP", + "path": "3" + }, + "2573": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "POP", + "path": "3" + }, + "2574": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "POP", + "path": "3" + }, + "2575": { + "fn": "ERC721.safeTransferFrom", + "offset": [ + 8667, + 8949 + ], + "op": "POP", + "path": "3" + }, + "2576": { + "fn": "ERC721.safeTransferFrom", + "jump": "o", + "offset": [ + 8667, + 8949 + ], + "op": "JUMP", + "path": "3" + }, + "2577": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2578": { + "fn": "ERC721.tokenURI", + "offset": [ + 4920, + 4933 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "2580": { + "fn": "ERC721.tokenURI", + "offset": [ + 4953, + 4969 + ], + "op": "PUSH2", + "path": "3", + "statement": 22, + "value": "0xA1C" + }, + "2583": { + "fn": "ERC721.tokenURI", + "offset": [ + 4961, + 4968 + ], + "op": "DUP3", + "path": "3" + }, + "2584": { + "fn": "ERC721.tokenURI", + "offset": [ + 4953, + 4960 + ], + "op": "PUSH2", + "path": "3", + "value": "0xCC2" + }, + "2587": { + "fn": "ERC721.tokenURI", + "jump": "i", + "offset": [ + 4953, + 4969 + ], + "op": "JUMP", + "path": "3" + }, + "2588": { + "branch": 96, + "fn": "ERC721.tokenURI", + "offset": [ + 4953, + 4969 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2589": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH2", + "path": "3", + "value": "0xA57" + }, + "2592": { + "branch": 96, + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "JUMPI", + "path": "3" + }, + "2593": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2595": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "MLOAD", + "path": "3" + }, + "2596": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2600": { + "op": "PUSH1", + "value": "0xE5" + }, + "2602": { + "op": "SHL" + }, + "2603": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP2", + "path": "3" + }, + "2604": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "MSTORE", + "path": "3" + }, + "2605": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "2607": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "ADD", + "path": "3" + }, + "2608": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP1", + "path": "3" + }, + "2609": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP1", + "path": "3" + }, + "2610": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2612": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "ADD", + "path": "3" + }, + "2613": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP3", + "path": "3" + }, + "2614": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP2", + "path": "3" + }, + "2615": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "SUB", + "path": "3" + }, + "2616": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP3", + "path": "3" + }, + "2617": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "MSTORE", + "path": "3" + }, + "2618": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2F" + }, + "2620": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP2", + "path": "3" + }, + "2621": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "MSTORE", + "path": "3" + }, + "2622": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2624": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "ADD", + "path": "3" + }, + "2625": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP1", + "path": "3" + }, + "2626": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH2", + "path": "3", + "value": "0x191F" + }, + "2629": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2F" + }, + "2631": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "SWAP2", + "path": "3" + }, + "2632": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "CODECOPY", + "path": "3" + }, + "2633": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2635": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "ADD", + "path": "3" + }, + "2636": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "SWAP2", + "path": "3" + }, + "2637": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "POP", + "path": "3" + }, + "2638": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "POP", + "path": "3" + }, + "2639": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2641": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "MLOAD", + "path": "3" + }, + "2642": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "DUP1", + "path": "3" + }, + "2643": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "SWAP2", + "path": "3" + }, + "2644": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "SUB", + "path": "3" + }, + "2645": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "SWAP1", + "path": "3" + }, + "2646": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "REVERT", + "path": "3" + }, + "2647": { + "fn": "ERC721.tokenURI", + "offset": [ + 4945, + 5021 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2648": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "2650": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "2651": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "DUP2", + "path": "3" + }, + "2652": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "MSTORE", + "path": "3" + }, + "2653": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5068 + ], + "op": "PUSH1", + "path": "3", + "value": "0x8" + }, + "2655": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2657": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2658": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "DUP2", + "path": "3" + }, + "2659": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "MSTORE", + "path": "3" + }, + "2660": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2662": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "SWAP2", + "path": "3" + }, + "2663": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "2664": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2665": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "KECCAK256", + "path": "3" + }, + "2666": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP1", + "path": "3" + }, + "2667": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SLOAD", + "path": "3" + }, + "2668": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP4", + "path": "3" + }, + "2669": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MLOAD", + "path": "3" + }, + "2670": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "2672": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "2674": { + "op": "PUSH1", + "value": "0x0" + }, + "2676": { + "op": "NOT" + }, + "2677": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "2680": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "2682": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP7", + "path": "3" + }, + "2683": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "AND", + "path": "3" + }, + "2684": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ISZERO", + "path": "3" + }, + "2685": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MUL", + "path": "3" + }, + "2686": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2687": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2688": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP4", + "path": "3" + }, + "2689": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "AND", + "path": "3" + }, + "2690": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP3", + "path": "3" + }, + "2691": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2692": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP3", + "path": "3" + }, + "2693": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DIV", + "path": "3" + }, + "2694": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP2", + "path": "3" + }, + "2695": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "2696": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2697": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP5", + "path": "3" + }, + "2698": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2699": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DIV", + "path": "3" + }, + "2700": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP5", + "path": "3" + }, + "2701": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MUL", + "path": "3" + }, + "2702": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP2", + "path": "3" + }, + "2703": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2704": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP5", + "path": "3" + }, + "2705": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2706": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2707": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP5", + "path": "3" + }, + "2708": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MSTORE", + "path": "3" + }, + "2709": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP1", + "path": "3" + }, + "2710": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP5", + "path": "3" + }, + "2711": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MSTORE", + "path": "3" + }, + "2712": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5055 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "2714": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5055 + ], + "op": "SWAP4", + "path": "3" + }, + "2715": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP3", + "path": "3" + }, + "2716": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP4", + "path": "3" + }, + "2717": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2718": { + "fn": "ERC721.tokenURI", + "offset": [ + 5058, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "2719": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "2720": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP1", + "path": "3" + }, + "2721": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ISZERO", + "path": "3" + }, + "2722": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH2", + "path": "3", + "value": "0xAEC" + }, + "2725": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "JUMPI", + "path": "3" + }, + "2726": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP1", + "path": "3" + }, + "2727": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "2729": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "LT", + "path": "3" + }, + "2730": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH2", + "path": "3", + "value": "0xAC1" + }, + "2733": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "JUMPI", + "path": "3" + }, + "2734": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "2737": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP1", + "path": "3" + }, + "2738": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP4", + "path": "3" + }, + "2739": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SLOAD", + "path": "3" + }, + "2740": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DIV", + "path": "3" + }, + "2741": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MUL", + "path": "3" + }, + "2742": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP4", + "path": "3" + }, + "2743": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MSTORE", + "path": "3" + }, + "2744": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP2", + "path": "3" + }, + "2745": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2747": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2748": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP2", + "path": "3" + }, + "2749": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH2", + "path": "3", + "value": "0xAEC" + }, + "2752": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "JUMP", + "path": "3" + }, + "2753": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2754": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "2755": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2756": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP2", + "path": "3" + }, + "2757": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2758": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "2760": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MSTORE", + "path": "3" + }, + "2761": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2763": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "2765": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "KECCAK256", + "path": "3" + }, + "2766": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2767": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2768": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP2", + "path": "3" + }, + "2769": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SLOAD", + "path": "3" + }, + "2770": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP2", + "path": "3" + }, + "2771": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "MSTORE", + "path": "3" + }, + "2772": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2773": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "2775": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2776": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2777": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2779": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2780": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP1", + "path": "3" + }, + "2781": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP4", + "path": "3" + }, + "2782": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "GT", + "path": "3" + }, + "2783": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH2", + "path": "3", + "value": "0xACF" + }, + "2786": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "JUMPI", + "path": "3" + }, + "2787": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "2788": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2789": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SUB", + "path": "3" + }, + "2790": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "2792": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "AND", + "path": "3" + }, + "2793": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "DUP3", + "path": "3" + }, + "2794": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "ADD", + "path": "3" + }, + "2795": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP2", + "path": "3" + }, + "2796": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2797": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "POP", + "path": "3" + }, + "2798": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "POP", + "path": "3" + }, + "2799": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "POP", + "path": "3" + }, + "2800": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "POP", + "path": "3" + }, + "2801": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "POP", + "path": "3" + }, + "2802": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "SWAP1", + "path": "3" + }, + "2803": { + "fn": "ERC721.tokenURI", + "offset": [ + 5032, + 5077 + ], + "op": "POP", + "path": "3" + }, + "2804": { + "fn": "ERC721.tokenURI", + "offset": [ + 5087, + 5105 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "2806": { + "fn": "ERC721.tokenURI", + "offset": [ + 5108, + 5117 + ], + "op": "PUSH2", + "path": "3", + "value": "0xAFD" + }, + "2809": { + "fn": "ERC721.tokenURI", + "offset": [ + 5108, + 5115 + ], + "op": "PUSH2", + "path": "3", + "value": "0x784" + }, + "2812": { + "fn": "ERC721.tokenURI", + "jump": "i", + "offset": [ + 5108, + 5117 + ], + "op": "JUMP", + "path": "3" + }, + "2813": { + "fn": "ERC721.tokenURI", + "offset": [ + 5108, + 5117 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2814": { + "fn": "ERC721.tokenURI", + "offset": [ + 5087, + 5117 + ], + "op": "SWAP1", + "path": "3" + }, + "2815": { + "fn": "ERC721.tokenURI", + "offset": [ + 5087, + 5117 + ], + "op": "POP", + "path": "3" + }, + "2816": { + "fn": "ERC721.tokenURI", + "offset": [ + 5196, + 5200 + ], + "op": "DUP1", + "path": "3" + }, + "2817": { + "fn": "ERC721.tokenURI", + "offset": [ + 5190, + 5208 + ], + "op": "MLOAD", + "path": "3" + }, + "2818": { + "fn": "ERC721.tokenURI", + "offset": [ + 5212, + 5213 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "2820": { + "branch": 97, + "fn": "ERC721.tokenURI", + "offset": [ + 5190, + 5213 + ], + "op": "EQ", + "path": "3" + }, + "2821": { + "fn": "ERC721.tokenURI", + "offset": [ + 5186, + 5256 + ], + "op": "ISZERO", + "path": "3" + }, + "2822": { + "fn": "ERC721.tokenURI", + "offset": [ + 5186, + 5256 + ], + "op": "PUSH2", + "path": "3", + "value": "0xB11" + }, + "2825": { + "branch": 97, + "fn": "ERC721.tokenURI", + "offset": [ + 5186, + 5256 + ], + "op": "JUMPI", + "path": "3" + }, + "2826": { + "op": "POP" + }, + "2827": { + "fn": "ERC721.tokenURI", + "offset": [ + 5236, + 5245 + ], + "op": "SWAP1", + "path": "3", + "statement": 23 + }, + "2828": { + "op": "POP" + }, + "2829": { + "fn": "ERC721.tokenURI", + "offset": [ + 5229, + 5245 + ], + "op": "PUSH2", + "path": "3", + "value": "0x4AE" + }, + "2832": { + "fn": "ERC721.tokenURI", + "offset": [ + 5229, + 5245 + ], + "op": "JUMP", + "path": "3" + }, + "2833": { + "fn": "ERC721.tokenURI", + "offset": [ + 5186, + 5256 + ], + "op": "JUMPDEST", + "path": "3" + }, + "2834": { + "fn": "ERC721.tokenURI", + "offset": [ + 5358, + 5381 + ], + "op": "DUP2", + "path": "3" + }, + "2835": { + "fn": "ERC721.tokenURI", + "offset": [ + 5358, + 5381 + ], + "op": "MLOAD", + "path": "3" + }, + "2836": { + "branch": 98, + "fn": "ERC721.tokenURI", + "offset": [ + 5358, + 5385 + ], + "op": "ISZERO", + "path": "3" + }, + "2837": { + "fn": "ERC721.tokenURI", + "offset": [ + 5354, + 5460 + ], + "op": "PUSH2", + "path": "3", + "value": "0xBD2" + }, + "2840": { + "branch": 98, + "fn": "ERC721.tokenURI", + "offset": [ + 5354, + 5460 + ], + "op": "JUMPI", + "path": "3" + }, + "2841": { + "fn": "ERC721.tokenURI", + "offset": [ + 5432, + 5436 + ], + "op": "DUP1", + "path": "3", + "statement": 24 + }, + "2842": { + "fn": "ERC721.tokenURI", + "offset": [ + 5438, + 5447 + ], + "op": "DUP3", + "path": "3" + }, + "2843": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "2845": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "MLOAD", + "path": "3" + }, + "2846": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2848": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "ADD", + "path": "3" + }, + "2849": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP1", + "path": "3" + }, + "2850": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP4", + "path": "3" + }, + "2851": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP1", + "path": "3" + }, + "2852": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "MLOAD", + "path": "3" + }, + "2853": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP1", + "path": "3" + }, + "2854": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "2856": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "ADD", + "path": "3" + }, + "2857": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP1", + "path": "3" + }, + "2858": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP1", + "path": "3" + }, + "2859": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP4", + "path": "3" + }, + "2860": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP4", + "path": "3" + }, + "2861": { + "op": "JUMPDEST" + }, + "2862": { + "op": "PUSH1", + "value": "0x20" + }, + "2864": { + "op": "DUP4" + }, + "2865": { + "op": "LT" + }, + "2866": { + "op": "PUSH2", + "value": "0xB4C" + }, + "2869": { + "op": "JUMPI" + }, + "2870": { + "op": "DUP1" + }, + "2871": { + "op": "MLOAD" + }, + "2872": { + "op": "DUP3" + }, + "2873": { + "op": "MSTORE" + }, + "2874": { + "op": "PUSH1", + "value": "0x1F" + }, + "2876": { + "op": "NOT" + }, + "2877": { + "op": "SWAP1" + }, + "2878": { + "op": "SWAP3" + }, + "2879": { + "op": "ADD" + }, + "2880": { + "op": "SWAP2" + }, + "2881": { + "op": "PUSH1", + "value": "0x20" + }, + "2883": { + "op": "SWAP2" + }, + "2884": { + "op": "DUP3" + }, + "2885": { + "op": "ADD" + }, + "2886": { + "op": "SWAP2" + }, + "2887": { + "op": "ADD" + }, + "2888": { + "op": "PUSH2", + "value": "0xB2D" + }, + "2891": { + "op": "JUMP" + }, + "2892": { + "op": "JUMPDEST" + }, + "2893": { + "op": "MLOAD" + }, + "2894": { + "op": "DUP2" + }, + "2895": { + "op": "MLOAD" + }, + "2896": { + "op": "PUSH1", + "value": "0x20" + }, + "2898": { + "op": "SWAP4" + }, + "2899": { + "op": "DUP5" + }, + "2900": { + "op": "SUB" + }, + "2901": { + "op": "PUSH2", + "value": "0x100" + }, + "2904": { + "op": "EXP" + }, + "2905": { + "op": "PUSH1", + "value": "0x0" + }, + "2907": { + "op": "NOT" + }, + "2908": { + "op": "ADD" + }, + "2909": { + "op": "DUP1" + }, + "2910": { + "op": "NOT" + }, + "2911": { + "op": "SWAP1" + }, + "2912": { + "op": "SWAP3" + }, + "2913": { + "op": "AND" + }, + "2914": { + "op": "SWAP2" + }, + "2915": { + "op": "AND" + }, + "2916": { + "op": "OR" + }, + "2917": { + "op": "SWAP1" + }, + "2918": { + "op": "MSTORE" + }, + "2919": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP6", + "path": "3" + }, + "2920": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "MLOAD", + "path": "3" + }, + "2921": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP2", + "path": "3" + }, + "2922": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP1", + "path": "3" + }, + "2923": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP4", + "path": "3" + }, + "2924": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "ADD", + "path": "3" + }, + "2925": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP3", + "path": "3" + }, + "2926": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP6", + "path": "3" + }, + "2927": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "ADD", + "path": "3" + }, + "2928": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP2", + "path": "3" + }, + "2929": { + "op": "POP" + }, + "2930": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP1", + "path": "3" + }, + "2931": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP4", + "path": "3" + }, + "2932": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "DUP4", + "path": "3" + }, + "2933": { + "op": "JUMPDEST" + }, + "2934": { + "op": "PUSH1", + "value": "0x20" + }, + "2936": { + "op": "DUP4" + }, + "2937": { + "op": "LT" + }, + "2938": { + "op": "PUSH2", + "value": "0xB94" + }, + "2941": { + "op": "JUMPI" + }, + "2942": { + "op": "DUP1" + }, + "2943": { + "op": "MLOAD" + }, + "2944": { + "op": "DUP3" + }, + "2945": { + "op": "MSTORE" + }, + "2946": { + "op": "PUSH1", + "value": "0x1F" + }, + "2948": { + "op": "NOT" + }, + "2949": { + "op": "SWAP1" + }, + "2950": { + "op": "SWAP3" + }, + "2951": { + "op": "ADD" + }, + "2952": { + "op": "SWAP2" + }, + "2953": { + "op": "PUSH1", + "value": "0x20" + }, + "2955": { + "op": "SWAP2" + }, + "2956": { + "op": "DUP3" + }, + "2957": { + "op": "ADD" + }, + "2958": { + "op": "SWAP2" + }, + "2959": { + "op": "ADD" + }, + "2960": { + "op": "PUSH2", + "value": "0xB75" + }, + "2963": { + "op": "JUMP" + }, + "2964": { + "op": "JUMPDEST" + }, + "2965": { + "op": "PUSH1", + "value": "0x1" + }, + "2967": { + "op": "DUP4" + }, + "2968": { + "op": "PUSH1", + "value": "0x20" + }, + "2970": { + "op": "SUB" + }, + "2971": { + "op": "PUSH2", + "value": "0x100" + }, + "2974": { + "op": "EXP" + }, + "2975": { + "op": "SUB" + }, + "2976": { + "op": "DUP1" + }, + "2977": { + "op": "NOT" + }, + "2978": { + "op": "DUP3" + }, + "2979": { + "op": "MLOAD" + }, + "2980": { + "op": "AND" + }, + "2981": { + "op": "DUP2" + }, + "2982": { + "op": "DUP5" + }, + "2983": { + "op": "MLOAD" + }, + "2984": { + "op": "AND" + }, + "2985": { + "op": "DUP1" + }, + "2986": { + "op": "DUP3" + }, + "2987": { + "op": "OR" + }, + "2988": { + "op": "DUP6" + }, + "2989": { + "op": "MSTORE" + }, + "2990": { + "op": "POP" + }, + "2991": { + "op": "POP" + }, + "2992": { + "op": "POP" + }, + "2993": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "POP", + "path": "3" + }, + "2994": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "POP", + "path": "3" + }, + "2995": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "POP", + "path": "3" + }, + "2996": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP1", + "path": "3" + }, + "2997": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "POP", + "path": "3" + }, + "2998": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "ADD", + "path": "3" + }, + "2999": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP3", + "path": "3" + }, + "3000": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "POP", + "path": "3" + }, + "3001": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "POP", + "path": "3" + }, + "3002": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "POP", + "path": "3" + }, + "3003": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3005": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "MLOAD", + "path": "3" + }, + "3006": { + "op": "PUSH1", + "value": "0x20" + }, + "3008": { + "op": "DUP2" + }, + "3009": { + "op": "DUP4" + }, + "3010": { + "op": "SUB" + }, + "3011": { + "op": "SUB" + }, + "3012": { + "op": "DUP2" + }, + "3013": { + "op": "MSTORE" + }, + "3014": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "SWAP1", + "path": "3" + }, + "3015": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3017": { + "fn": "ERC721.tokenURI", + "offset": [ + 5415, + 5448 + ], + "op": "MSTORE", + "path": "3" + }, + "3018": { + "fn": "ERC721.tokenURI", + "offset": [ + 5401, + 5449 + ], + "op": "SWAP3", + "path": "3" + }, + "3019": { + "fn": "ERC721.tokenURI", + "offset": [ + 5401, + 5449 + ], + "op": "POP", + "path": "3" + }, + "3020": { + "fn": "ERC721.tokenURI", + "offset": [ + 5401, + 5449 + ], + "op": "POP", + "path": "3" + }, + "3021": { + "fn": "ERC721.tokenURI", + "offset": [ + 5401, + 5449 + ], + "op": "POP", + "path": "3" + }, + "3022": { + "fn": "ERC721.tokenURI", + "offset": [ + 5401, + 5449 + ], + "op": "PUSH2", + "path": "3", + "value": "0x4AE" + }, + "3025": { + "fn": "ERC721.tokenURI", + "offset": [ + 5401, + 5449 + ], + "op": "JUMP", + "path": "3" + }, + "3026": { + "fn": "ERC721.tokenURI", + "offset": [ + 5354, + 5460 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3027": { + "fn": "ERC721.tokenURI", + "offset": [ + 5590, + 5594 + ], + "op": "DUP1", + "path": "3", + "statement": 25 + }, + "3028": { + "fn": "ERC721.tokenURI", + "offset": [ + 5596, + 5614 + ], + "op": "PUSH2", + "path": "3", + "value": "0xBDC" + }, + "3031": { + "fn": "ERC721.tokenURI", + "offset": [ + 5596, + 5603 + ], + "op": "DUP6", + "path": "3" + }, + "3032": { + "fn": "ERC721.tokenURI", + "offset": [ + 5596, + 5612 + ], + "op": "PUSH2", + "path": "3", + "value": "0xFE5" + }, + "3035": { + "fn": "ERC721.tokenURI", + "jump": "i", + "offset": [ + 5596, + 5614 + ], + "op": "JUMP", + "path": "3" + }, + "3036": { + "fn": "ERC721.tokenURI", + "offset": [ + 5596, + 5614 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3037": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3039": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "MLOAD", + "path": "3" + }, + "3040": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3042": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "ADD", + "path": "3" + }, + "3043": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP1", + "path": "3" + }, + "3044": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP4", + "path": "3" + }, + "3045": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP1", + "path": "3" + }, + "3046": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "MLOAD", + "path": "3" + }, + "3047": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP1", + "path": "3" + }, + "3048": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3050": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "ADD", + "path": "3" + }, + "3051": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP1", + "path": "3" + }, + "3052": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP1", + "path": "3" + }, + "3053": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP4", + "path": "3" + }, + "3054": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP4", + "path": "3" + }, + "3055": { + "op": "JUMPDEST" + }, + "3056": { + "op": "PUSH1", + "value": "0x20" + }, + "3058": { + "op": "DUP4" + }, + "3059": { + "op": "LT" + }, + "3060": { + "op": "PUSH2", + "value": "0xC0E" + }, + "3063": { + "op": "JUMPI" + }, + "3064": { + "op": "DUP1" + }, + "3065": { + "op": "MLOAD" + }, + "3066": { + "op": "DUP3" + }, + "3067": { + "op": "MSTORE" + }, + "3068": { + "op": "PUSH1", + "value": "0x1F" + }, + "3070": { + "op": "NOT" + }, + "3071": { + "op": "SWAP1" + }, + "3072": { + "op": "SWAP3" + }, + "3073": { + "op": "ADD" + }, + "3074": { + "op": "SWAP2" + }, + "3075": { + "op": "PUSH1", + "value": "0x20" + }, + "3077": { + "op": "SWAP2" + }, + "3078": { + "op": "DUP3" + }, + "3079": { + "op": "ADD" + }, + "3080": { + "op": "SWAP2" + }, + "3081": { + "op": "ADD" + }, + "3082": { + "op": "PUSH2", + "value": "0xBEF" + }, + "3085": { + "op": "JUMP" + }, + "3086": { + "op": "JUMPDEST" + }, + "3087": { + "op": "MLOAD" + }, + "3088": { + "op": "DUP2" + }, + "3089": { + "op": "MLOAD" + }, + "3090": { + "op": "PUSH1", + "value": "0x20" + }, + "3092": { + "op": "SWAP4" + }, + "3093": { + "op": "DUP5" + }, + "3094": { + "op": "SUB" + }, + "3095": { + "op": "PUSH2", + "value": "0x100" + }, + "3098": { + "op": "EXP" + }, + "3099": { + "op": "PUSH1", + "value": "0x0" + }, + "3101": { + "op": "NOT" + }, + "3102": { + "op": "ADD" + }, + "3103": { + "op": "DUP1" + }, + "3104": { + "op": "NOT" + }, + "3105": { + "op": "SWAP1" + }, + "3106": { + "op": "SWAP3" + }, + "3107": { + "op": "AND" + }, + "3108": { + "op": "SWAP2" + }, + "3109": { + "op": "AND" + }, + "3110": { + "op": "OR" + }, + "3111": { + "op": "SWAP1" + }, + "3112": { + "op": "MSTORE" + }, + "3113": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP6", + "path": "3" + }, + "3114": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "MLOAD", + "path": "3" + }, + "3115": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP2", + "path": "3" + }, + "3116": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP1", + "path": "3" + }, + "3117": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP4", + "path": "3" + }, + "3118": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "ADD", + "path": "3" + }, + "3119": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP3", + "path": "3" + }, + "3120": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP6", + "path": "3" + }, + "3121": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "ADD", + "path": "3" + }, + "3122": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP2", + "path": "3" + }, + "3123": { + "op": "POP" + }, + "3124": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP1", + "path": "3" + }, + "3125": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP4", + "path": "3" + }, + "3126": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "DUP4", + "path": "3" + }, + "3127": { + "op": "JUMPDEST" + }, + "3128": { + "op": "PUSH1", + "value": "0x20" + }, + "3130": { + "op": "DUP4" + }, + "3131": { + "op": "LT" + }, + "3132": { + "op": "PUSH2", + "value": "0xC56" + }, + "3135": { + "op": "JUMPI" + }, + "3136": { + "op": "DUP1" + }, + "3137": { + "op": "MLOAD" + }, + "3138": { + "op": "DUP3" + }, + "3139": { + "op": "MSTORE" + }, + "3140": { + "op": "PUSH1", + "value": "0x1F" + }, + "3142": { + "op": "NOT" + }, + "3143": { + "op": "SWAP1" + }, + "3144": { + "op": "SWAP3" + }, + "3145": { + "op": "ADD" + }, + "3146": { + "op": "SWAP2" + }, + "3147": { + "op": "PUSH1", + "value": "0x20" + }, + "3149": { + "op": "SWAP2" + }, + "3150": { + "op": "DUP3" + }, + "3151": { + "op": "ADD" + }, + "3152": { + "op": "SWAP2" + }, + "3153": { + "op": "ADD" + }, + "3154": { + "op": "PUSH2", + "value": "0xC37" + }, + "3157": { + "op": "JUMP" + }, + "3158": { + "op": "JUMPDEST" + }, + "3159": { + "op": "PUSH1", + "value": "0x1" + }, + "3161": { + "op": "DUP4" + }, + "3162": { + "op": "PUSH1", + "value": "0x20" + }, + "3164": { + "op": "SUB" + }, + "3165": { + "op": "PUSH2", + "value": "0x100" + }, + "3168": { + "op": "EXP" + }, + "3169": { + "op": "SUB" + }, + "3170": { + "op": "DUP1" + }, + "3171": { + "op": "NOT" + }, + "3172": { + "op": "DUP3" + }, + "3173": { + "op": "MLOAD" + }, + "3174": { + "op": "AND" + }, + "3175": { + "op": "DUP2" + }, + "3176": { + "op": "DUP5" + }, + "3177": { + "op": "MLOAD" + }, + "3178": { + "op": "AND" + }, + "3179": { + "op": "DUP1" + }, + "3180": { + "op": "DUP3" + }, + "3181": { + "op": "OR" + }, + "3182": { + "op": "DUP6" + }, + "3183": { + "op": "MSTORE" + }, + "3184": { + "op": "POP" + }, + "3185": { + "op": "POP" + }, + "3186": { + "op": "POP" + }, + "3187": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "POP", + "path": "3" + }, + "3188": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "POP", + "path": "3" + }, + "3189": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "POP", + "path": "3" + }, + "3190": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP1", + "path": "3" + }, + "3191": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "POP", + "path": "3" + }, + "3192": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "ADD", + "path": "3" + }, + "3193": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP3", + "path": "3" + }, + "3194": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "POP", + "path": "3" + }, + "3195": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "POP", + "path": "3" + }, + "3196": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "POP", + "path": "3" + }, + "3197": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3199": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "MLOAD", + "path": "3" + }, + "3200": { + "op": "PUSH1", + "value": "0x20" + }, + "3202": { + "op": "DUP2" + }, + "3203": { + "op": "DUP4" + }, + "3204": { + "op": "SUB" + }, + "3205": { + "op": "SUB" + }, + "3206": { + "op": "DUP2" + }, + "3207": { + "op": "MSTORE" + }, + "3208": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "SWAP1", + "path": "3" + }, + "3209": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3211": { + "fn": "ERC721.tokenURI", + "offset": [ + 5573, + 5615 + ], + "op": "MSTORE", + "path": "3" + }, + "3212": { + "fn": "ERC721.tokenURI", + "offset": [ + 5559, + 5616 + ], + "op": "SWAP3", + "path": "3" + }, + "3213": { + "fn": "ERC721.tokenURI", + "offset": [ + 5559, + 5616 + ], + "op": "POP", + "path": "3" + }, + "3214": { + "fn": "ERC721.tokenURI", + "offset": [ + 5559, + 5616 + ], + "op": "POP", + "path": "3" + }, + "3215": { + "fn": "ERC721.tokenURI", + "offset": [ + 5559, + 5616 + ], + "op": "POP", + "path": "3" + }, + "3216": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "SWAP2", + "path": "3" + }, + "3217": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "SWAP1", + "path": "3" + }, + "3218": { + "fn": "ERC721.tokenURI", + "offset": [ + 4847, + 5623 + ], + "op": "POP", + "path": "3" + }, + "3219": { + "fn": "ERC721.tokenURI", + "jump": "o", + "offset": [ + 4847, + 5623 + ], + "op": "JUMP", + "path": "3" + }, + "3220": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7862, + 8024 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3221": { + "op": "PUSH1", + "value": "0x1" + }, + "3223": { + "op": "PUSH1", + "value": "0x1" + }, + "3225": { + "op": "PUSH1", + "value": "0xA0" + }, + "3227": { + "op": "SHL" + }, + "3228": { + "op": "SUB" + }, + "3229": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "SWAP2", + "path": "3", + "statement": 26 + }, + "3230": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "DUP3", + "path": "3" + }, + "3231": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "AND", + "path": "3" + }, + "3232": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7959, + 7963 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "3234": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "SWAP1", + "path": "3" + }, + "3235": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "DUP2", + "path": "3" + }, + "3236": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "MSTORE", + "path": "3" + }, + "3237": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8000 + ], + "op": "PUSH1", + "path": "3", + "value": "0x5" + }, + "3239": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3241": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "SWAP1", + "path": "3" + }, + "3242": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "DUP2", + "path": "3" + }, + "3243": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "MSTORE", + "path": "3" + }, + "3244": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3246": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "DUP1", + "path": "3" + }, + "3247": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "DUP4", + "path": "3" + }, + "3248": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8007 + ], + "op": "KECCAK256", + "path": "3" + }, + "3249": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SWAP4", + "path": "3" + }, + "3250": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SWAP1", + "path": "3" + }, + "3251": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SWAP5", + "path": "3" + }, + "3252": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "AND", + "path": "3" + }, + "3253": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "DUP3", + "path": "3" + }, + "3254": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "MSTORE", + "path": "3" + }, + "3255": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SWAP2", + "path": "3" + }, + "3256": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SWAP1", + "path": "3" + }, + "3257": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SWAP2", + "path": "3" + }, + "3258": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "MSTORE", + "path": "3" + }, + "3259": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "KECCAK256", + "path": "3" + }, + "3260": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SLOAD", + "path": "3" + }, + "3261": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "PUSH1", + "path": "3", + "value": "0xFF" + }, + "3263": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "AND", + "path": "3" + }, + "3264": { + "fn": "ERC721.isApprovedForAll", + "offset": [ + 7982, + 8017 + ], + "op": "SWAP1", + "path": "3" + }, + "3265": { + "fn": "ERC721.isApprovedForAll", + "jump": "o", + "offset": [ + 7862, + 8024 + ], + "op": "JUMP", + "path": "3" + }, + "3266": { + "fn": "ERC721._exists", + "offset": [ + 10383, + 10508 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3267": { + "fn": "ERC721._exists", + "offset": [ + 10448, + 10452 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "3269": { + "fn": "ERC721._exists", + "offset": [ + 10471, + 10501 + ], + "op": "PUSH2", + "path": "3", + "statement": 27, + "value": "0x719" + }, + "3272": { + "fn": "ERC721._exists", + "offset": [ + 10471, + 10483 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "3274": { + "fn": "ERC721._exists", + "offset": [ + 10493, + 10500 + ], + "op": "DUP4", + "path": "3" + }, + "3275": { + "fn": "ERC721._exists", + "offset": [ + 10471, + 10501 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "3280": { + "fn": "ERC721._exists", + "offset": [ + 10471, + 10492 + ], + "op": "PUSH2", + "path": "3", + "value": "0x10C0" + }, + "3283": { + "fn": "ERC721._exists", + "offset": [ + 10471, + 10501 + ], + "op": "AND", + "path": "3" + }, + "3284": { + "fn": "ERC721._exists", + "jump": "i", + "offset": [ + 10471, + 10501 + ], + "op": "JUMP", + "path": "3" + }, + "3285": { + "fn": "Context._msgSender", + "offset": [ + 598, + 702 + ], + "op": "JUMPDEST", + "path": "9" + }, + "3286": { + "fn": "Context._msgSender", + "offset": [ + 685, + 695 + ], + "op": "CALLER", + "path": "9", + "statement": 28 + }, + "3287": { + "fn": "Context._msgSender", + "offset": [ + 598, + 702 + ], + "op": "SWAP1", + "path": "9" + }, + "3288": { + "fn": "Context._msgSender", + "jump": "o", + "offset": [ + 598, + 702 + ], + "op": "JUMP", + "path": "9" + }, + "3289": { + "fn": "ERC721._approve", + "offset": [ + 16119, + 16299 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3290": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "PUSH1", + "path": "3", + "statement": 29, + "value": "0x0" + }, + "3292": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "DUP2", + "path": "3" + }, + "3293": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "DUP2", + "path": "3" + }, + "3294": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "MSTORE", + "path": "3" + }, + "3295": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16199 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "3297": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3299": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "MSTORE", + "path": "3" + }, + "3300": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3302": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "SWAP1", + "path": "3" + }, + "3303": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "KECCAK256", + "path": "3" + }, + "3304": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "DUP1", + "path": "3" + }, + "3305": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "SLOAD", + "path": "3" + }, + "3306": { + "op": "PUSH1", + "value": "0x1" + }, + "3308": { + "op": "PUSH1", + "value": "0x1" + }, + "3310": { + "op": "PUSH1", + "value": "0xA0" + }, + "3312": { + "op": "SHL" + }, + "3313": { + "op": "SUB" + }, + "3314": { + "op": "NOT" + }, + "3315": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "AND", + "path": "3" + }, + "3316": { + "op": "PUSH1", + "value": "0x1" + }, + "3318": { + "op": "PUSH1", + "value": "0x1" + }, + "3320": { + "op": "PUSH1", + "value": "0xA0" + }, + "3322": { + "op": "SHL" + }, + "3323": { + "op": "SUB" + }, + "3324": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "DUP5", + "path": "3" + }, + "3325": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "AND", + "path": "3" + }, + "3326": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "SWAP1", + "path": "3" + }, + "3327": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "DUP2", + "path": "3" + }, + "3328": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "OR", + "path": "3" + }, + "3329": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "SWAP1", + "path": "3" + }, + "3330": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "SWAP2", + "path": "3" + }, + "3331": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16213 + ], + "op": "SSTORE", + "path": "3" + }, + "3332": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "DUP2", + "path": "3" + }, + "3333": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "SWAP1", + "path": "3" + }, + "3334": { + "fn": "ERC721._approve", + "offset": [ + 16237, + 16260 + ], + "op": "PUSH2", + "path": "3", + "statement": 30, + "value": "0xD0E" + }, + "3337": { + "fn": "ERC721._approve", + "offset": [ + 16184, + 16208 + ], + "op": "DUP3", + "path": "3" + }, + "3338": { + "fn": "ERC721._approve", + "offset": [ + 16237, + 16251 + ], + "op": "PUSH2", + "path": "3", + "value": "0x756" + }, + "3341": { + "fn": "ERC721._approve", + "jump": "i", + "offset": [ + 16237, + 16260 + ], + "op": "JUMP", + "path": "3" + }, + "3342": { + "fn": "ERC721._approve", + "offset": [ + 16237, + 16260 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3343": { + "op": "PUSH1", + "value": "0x1" + }, + "3345": { + "op": "PUSH1", + "value": "0x1" + }, + "3347": { + "op": "PUSH1", + "value": "0xA0" + }, + "3349": { + "op": "SHL" + }, + "3350": { + "op": "SUB" + }, + "3351": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "AND", + "path": "3" + }, + "3352": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "PUSH32", + "path": "3", + "value": "0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + "3385": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3387": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "MLOAD", + "path": "3" + }, + "3388": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3390": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "MLOAD", + "path": "3" + }, + "3391": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "DUP1", + "path": "3" + }, + "3392": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "SWAP2", + "path": "3" + }, + "3393": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "SUB", + "path": "3" + }, + "3394": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "SWAP1", + "path": "3" + }, + "3395": { + "fn": "ERC721._approve", + "offset": [ + 16228, + 16274 + ], + "op": "LOG4", + "path": "3" + }, + "3396": { + "fn": "ERC721._approve", + "offset": [ + 16119, + 16299 + ], + "op": "POP", + "path": "3" + }, + "3397": { + "fn": "ERC721._approve", + "offset": [ + 16119, + 16299 + ], + "op": "POP", + "path": "3" + }, + "3398": { + "fn": "ERC721._approve", + "jump": "o", + "offset": [ + 16119, + 16299 + ], + "op": "JUMP", + "path": "3" + }, + "3399": { + "fn": "EnumerableMap.length", + "offset": [ + 7820, + 7941 + ], + "op": "JUMPDEST", + "path": "10" + }, + "3400": { + "fn": "EnumerableMap.length", + "offset": [ + 7889, + 7896 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "3402": { + "fn": "EnumerableMap.length", + "offset": [ + 7915, + 7934 + ], + "op": "PUSH2", + "path": "10", + "statement": 31, + "value": "0x719" + }, + "3405": { + "fn": "EnumerableMap.length", + "offset": [ + 7923, + 7926 + ], + "op": "DUP3", + "path": "10" + }, + "3406": { + "fn": "EnumerableMap.length", + "offset": [ + 7915, + 7922 + ], + "op": "PUSH2", + "path": "10", + "value": "0x10CC" + }, + "3409": { + "fn": "EnumerableMap.length", + "jump": "i", + "offset": [ + 7915, + 7934 + ], + "op": "JUMP", + "path": "10" + }, + "3410": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10666, + 11017 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3411": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10759, + 10763 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "3413": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10783, + 10799 + ], + "op": "PUSH2", + "path": "3", + "statement": 32, + "value": "0xD5D" + }, + "3416": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10791, + 10798 + ], + "op": "DUP3", + "path": "3" + }, + "3417": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10783, + 10790 + ], + "op": "PUSH2", + "path": "3", + "value": "0xCC2" + }, + "3420": { + "fn": "ERC721._isApprovedOrOwner", + "jump": "i", + "offset": [ + 10783, + 10799 + ], + "op": "JUMP", + "path": "3" + }, + "3421": { + "branch": 99, + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10783, + 10799 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3422": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH2", + "path": "3", + "value": "0xD98" + }, + "3425": { + "branch": 99, + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "JUMPI", + "path": "3" + }, + "3426": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3428": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "MLOAD", + "path": "3" + }, + "3429": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3433": { + "op": "PUSH1", + "value": "0xE5" + }, + "3435": { + "op": "SHL" + }, + "3436": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP2", + "path": "3" + }, + "3437": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "MSTORE", + "path": "3" + }, + "3438": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "3440": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "ADD", + "path": "3" + }, + "3441": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP1", + "path": "3" + }, + "3442": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP1", + "path": "3" + }, + "3443": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3445": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "ADD", + "path": "3" + }, + "3446": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP3", + "path": "3" + }, + "3447": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP2", + "path": "3" + }, + "3448": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "SUB", + "path": "3" + }, + "3449": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP3", + "path": "3" + }, + "3450": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "MSTORE", + "path": "3" + }, + "3451": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2C" + }, + "3453": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP2", + "path": "3" + }, + "3454": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "MSTORE", + "path": "3" + }, + "3455": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3457": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "ADD", + "path": "3" + }, + "3458": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP1", + "path": "3" + }, + "3459": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH2", + "path": "3", + "value": "0x17F1" + }, + "3462": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2C" + }, + "3464": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "SWAP2", + "path": "3" + }, + "3465": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "CODECOPY", + "path": "3" + }, + "3466": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3468": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "ADD", + "path": "3" + }, + "3469": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "SWAP2", + "path": "3" + }, + "3470": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "POP", + "path": "3" + }, + "3471": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "POP", + "path": "3" + }, + "3472": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3474": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "MLOAD", + "path": "3" + }, + "3475": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "DUP1", + "path": "3" + }, + "3476": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "SWAP2", + "path": "3" + }, + "3477": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "SUB", + "path": "3" + }, + "3478": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "SWAP1", + "path": "3" + }, + "3479": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "REVERT", + "path": "3" + }, + "3480": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10775, + 10848 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3481": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10858, + 10871 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "3483": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10874, + 10897 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDA3" + }, + "3486": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10889, + 10896 + ], + "op": "DUP4", + "path": "3" + }, + "3487": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10874, + 10888 + ], + "op": "PUSH2", + "path": "3", + "value": "0x756" + }, + "3490": { + "fn": "ERC721._isApprovedOrOwner", + "jump": "i", + "offset": [ + 10874, + 10897 + ], + "op": "JUMP", + "path": "3" + }, + "3491": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10874, + 10897 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3492": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10858, + 10897 + ], + "op": "SWAP1", + "path": "3" + }, + "3493": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10858, + 10897 + ], + "op": "POP", + "path": "3" + }, + "3494": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10926, + 10931 + ], + "op": "DUP1", + "path": "3", + "statement": 33 + }, + "3495": { + "op": "PUSH1", + "value": "0x1" + }, + "3497": { + "op": "PUSH1", + "value": "0x1" + }, + "3499": { + "op": "PUSH1", + "value": "0xA0" + }, + "3501": { + "op": "SHL" + }, + "3502": { + "op": "SUB" + }, + "3503": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10931 + ], + "op": "AND", + "path": "3" + }, + "3504": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10922 + ], + "op": "DUP5", + "path": "3" + }, + "3505": { + "op": "PUSH1", + "value": "0x1" + }, + "3507": { + "op": "PUSH1", + "value": "0x1" + }, + "3509": { + "op": "PUSH1", + "value": "0xA0" + }, + "3511": { + "op": "SHL" + }, + "3512": { + "op": "SUB" + }, + "3513": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10931 + ], + "op": "AND", + "path": "3" + }, + "3514": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10931 + ], + "op": "EQ", + "path": "3" + }, + "3515": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10966 + ], + "op": "DUP1", + "path": "3" + }, + "3516": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10966 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDDE" + }, + "3519": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10966 + ], + "op": "JUMPI", + "path": "3" + }, + "3520": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10966 + ], + "op": "POP", + "path": "3" + }, + "3521": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10959, + 10966 + ], + "op": "DUP4", + "path": "3" + }, + "3522": { + "op": "PUSH1", + "value": "0x1" + }, + "3524": { + "op": "PUSH1", + "value": "0x1" + }, + "3526": { + "op": "PUSH1", + "value": "0xA0" + }, + "3528": { + "op": "SHL" + }, + "3529": { + "op": "SUB" + }, + "3530": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10935, + 10966 + ], + "op": "AND", + "path": "3" + }, + "3531": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10935, + 10955 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDD3" + }, + "3534": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10947, + 10954 + ], + "op": "DUP5", + "path": "3" + }, + "3535": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10935, + 10946 + ], + "op": "PUSH2", + "path": "3", + "value": "0x549" + }, + "3538": { + "fn": "ERC721._isApprovedOrOwner", + "jump": "i", + "offset": [ + 10935, + 10955 + ], + "op": "JUMP", + "path": "3" + }, + "3539": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10935, + 10955 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3540": { + "op": "PUSH1", + "value": "0x1" + }, + "3542": { + "op": "PUSH1", + "value": "0x1" + }, + "3544": { + "op": "PUSH1", + "value": "0xA0" + }, + "3546": { + "op": "SHL" + }, + "3547": { + "op": "SUB" + }, + "3548": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10935, + 10966 + ], + "op": "AND", + "path": "3" + }, + "3549": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10935, + 10966 + ], + "op": "EQ", + "path": "3" + }, + "3550": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 10966 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3551": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 11009 + ], + "op": "DUP1", + "path": "3" + }, + "3552": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 11009 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDEE" + }, + "3555": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 11009 + ], + "op": "JUMPI", + "path": "3" + }, + "3556": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10915, + 11009 + ], + "op": "POP", + "path": "3" + }, + "3557": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10970, + 11009 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDEE" + }, + "3560": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10994, + 10999 + ], + "op": "DUP2", + "path": "3" + }, + "3561": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 11001, + 11008 + ], + "op": "DUP6", + "path": "3" + }, + "3562": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10970, + 10993 + ], + "op": "PUSH2", + "path": "3", + "value": "0xC94" + }, + "3565": { + "fn": "ERC721._isApprovedOrOwner", + "jump": "i", + "offset": [ + 10970, + 11009 + ], + "op": "JUMP", + "path": "3" + }, + "3566": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10970, + 11009 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3567": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10907, + 11010 + ], + "op": "SWAP5", + "path": "3" + }, + "3568": { + "fn": "ERC721._isApprovedOrOwner", + "offset": [ + 10666, + 11017 + ], + "op": "SWAP4", + "path": "3" + }, + "3569": { + "op": "POP" + }, + "3570": { + "op": "POP" + }, + "3571": { + "op": "POP" + }, + "3572": { + "op": "POP" + }, + "3573": { + "fn": "ERC721._isApprovedOrOwner", + "jump": "o", + "offset": [ + 10666, + 11017 + ], + "op": "JUMP", + "path": "3" + }, + "3574": { + "fn": "ERC721._transfer", + "offset": [ + 13707, + 14291 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3575": { + "fn": "ERC721._transfer", + "offset": [ + 13831, + 13835 + ], + "op": "DUP3", + "path": "3", + "statement": 34 + }, + "3576": { + "op": "PUSH1", + "value": "0x1" + }, + "3578": { + "op": "PUSH1", + "value": "0x1" + }, + "3580": { + "op": "PUSH1", + "value": "0xA0" + }, + "3582": { + "op": "SHL" + }, + "3583": { + "op": "SUB" + }, + "3584": { + "fn": "ERC721._transfer", + "offset": [ + 13804, + 13835 + ], + "op": "AND", + "path": "3" + }, + "3585": { + "fn": "ERC721._transfer", + "offset": [ + 13804, + 13827 + ], + "op": "PUSH2", + "path": "3", + "value": "0xE09" + }, + "3588": { + "fn": "ERC721._transfer", + "offset": [ + 13819, + 13826 + ], + "op": "DUP3", + "path": "3" + }, + "3589": { + "fn": "ERC721._transfer", + "offset": [ + 13804, + 13818 + ], + "op": "PUSH2", + "path": "3", + "value": "0x756" + }, + "3592": { + "fn": "ERC721._transfer", + "jump": "i", + "offset": [ + 13804, + 13827 + ], + "op": "JUMP", + "path": "3" + }, + "3593": { + "fn": "ERC721._transfer", + "offset": [ + 13804, + 13827 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3594": { + "op": "PUSH1", + "value": "0x1" + }, + "3596": { + "op": "PUSH1", + "value": "0x1" + }, + "3598": { + "op": "PUSH1", + "value": "0xA0" + }, + "3600": { + "op": "SHL" + }, + "3601": { + "op": "SUB" + }, + "3602": { + "fn": "ERC721._transfer", + "offset": [ + 13804, + 13835 + ], + "op": "AND", + "path": "3" + }, + "3603": { + "branch": 100, + "fn": "ERC721._transfer", + "offset": [ + 13804, + 13835 + ], + "op": "EQ", + "path": "3" + }, + "3604": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH2", + "path": "3", + "value": "0xE4E" + }, + "3607": { + "branch": 100, + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "JUMPI", + "path": "3" + }, + "3608": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3610": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "MLOAD", + "path": "3" + }, + "3611": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3615": { + "op": "PUSH1", + "value": "0xE5" + }, + "3617": { + "op": "SHL" + }, + "3618": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP2", + "path": "3" + }, + "3619": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "MSTORE", + "path": "3" + }, + "3620": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "3622": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "ADD", + "path": "3" + }, + "3623": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP1", + "path": "3" + }, + "3624": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP1", + "path": "3" + }, + "3625": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3627": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "ADD", + "path": "3" + }, + "3628": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP3", + "path": "3" + }, + "3629": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP2", + "path": "3" + }, + "3630": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "SUB", + "path": "3" + }, + "3631": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP3", + "path": "3" + }, + "3632": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "MSTORE", + "path": "3" + }, + "3633": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x29" + }, + "3635": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP2", + "path": "3" + }, + "3636": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "MSTORE", + "path": "3" + }, + "3637": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3639": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "ADD", + "path": "3" + }, + "3640": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP1", + "path": "3" + }, + "3641": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH2", + "path": "3", + "value": "0x18F6" + }, + "3644": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x29" + }, + "3646": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "SWAP2", + "path": "3" + }, + "3647": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "CODECOPY", + "path": "3" + }, + "3648": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3650": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "ADD", + "path": "3" + }, + "3651": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "SWAP2", + "path": "3" + }, + "3652": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "POP", + "path": "3" + }, + "3653": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "POP", + "path": "3" + }, + "3654": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3656": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "MLOAD", + "path": "3" + }, + "3657": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "DUP1", + "path": "3" + }, + "3658": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "SWAP2", + "path": "3" + }, + "3659": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "SUB", + "path": "3" + }, + "3660": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "SWAP1", + "path": "3" + }, + "3661": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "REVERT", + "path": "3" + }, + "3662": { + "fn": "ERC721._transfer", + "offset": [ + 13796, + 13881 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3663": { + "op": "PUSH1", + "value": "0x1" + }, + "3665": { + "op": "PUSH1", + "value": "0x1" + }, + "3667": { + "op": "PUSH1", + "value": "0xA0" + }, + "3669": { + "op": "SHL" + }, + "3670": { + "op": "SUB" + }, + "3671": { + "fn": "ERC721._transfer", + "offset": [ + 13917, + 13933 + ], + "op": "DUP3", + "path": "3", + "statement": 35 + }, + "3672": { + "branch": 101, + "fn": "ERC721._transfer", + "offset": [ + 13917, + 13933 + ], + "op": "AND", + "path": "3" + }, + "3673": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH2", + "path": "3", + "value": "0xE93" + }, + "3676": { + "branch": 101, + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "JUMPI", + "path": "3" + }, + "3677": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3679": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "MLOAD", + "path": "3" + }, + "3680": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3684": { + "op": "PUSH1", + "value": "0xE5" + }, + "3686": { + "op": "SHL" + }, + "3687": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP2", + "path": "3" + }, + "3688": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "MSTORE", + "path": "3" + }, + "3689": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "3691": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "ADD", + "path": "3" + }, + "3692": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP1", + "path": "3" + }, + "3693": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP1", + "path": "3" + }, + "3694": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3696": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "ADD", + "path": "3" + }, + "3697": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP3", + "path": "3" + }, + "3698": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP2", + "path": "3" + }, + "3699": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "SUB", + "path": "3" + }, + "3700": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP3", + "path": "3" + }, + "3701": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "MSTORE", + "path": "3" + }, + "3702": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x24" + }, + "3704": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP2", + "path": "3" + }, + "3705": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "MSTORE", + "path": "3" + }, + "3706": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3708": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "ADD", + "path": "3" + }, + "3709": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP1", + "path": "3" + }, + "3710": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH2", + "path": "3", + "value": "0x17CD" + }, + "3713": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x24" + }, + "3715": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "SWAP2", + "path": "3" + }, + "3716": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "CODECOPY", + "path": "3" + }, + "3717": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3719": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "ADD", + "path": "3" + }, + "3720": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "SWAP2", + "path": "3" + }, + "3721": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "POP", + "path": "3" + }, + "3722": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "POP", + "path": "3" + }, + "3723": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3725": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "MLOAD", + "path": "3" + }, + "3726": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "DUP1", + "path": "3" + }, + "3727": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "SWAP2", + "path": "3" + }, + "3728": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "SUB", + "path": "3" + }, + "3729": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "SWAP1", + "path": "3" + }, + "3730": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "REVERT", + "path": "3" + }, + "3731": { + "fn": "ERC721._transfer", + "offset": [ + 13909, + 13974 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3732": { + "fn": "ERC721._transfer", + "offset": [ + 13985, + 14024 + ], + "op": "PUSH2", + "path": "3", + "statement": 36, + "value": "0xE9E" + }, + "3735": { + "fn": "ERC721._transfer", + "offset": [ + 14006, + 14010 + ], + "op": "DUP4", + "path": "3" + }, + "3736": { + "fn": "ERC721._transfer", + "offset": [ + 14012, + 14014 + ], + "op": "DUP4", + "path": "3" + }, + "3737": { + "fn": "ERC721._transfer", + "offset": [ + 14016, + 14023 + ], + "op": "DUP4", + "path": "3" + }, + "3738": { + "fn": "ERC721._transfer", + "offset": [ + 13985, + 14005 + ], + "op": "PUSH2", + "path": "3", + "value": "0x681" + }, + "3741": { + "fn": "ERC721._transfer", + "jump": "i", + "offset": [ + 13985, + 14024 + ], + "op": "JUMP", + "path": "3" + }, + "3742": { + "fn": "ERC721._transfer", + "offset": [ + 13985, + 14024 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3743": { + "fn": "ERC721._transfer", + "offset": [ + 14086, + 14115 + ], + "op": "PUSH2", + "path": "3", + "statement": 37, + "value": "0xEA9" + }, + "3746": { + "fn": "ERC721._transfer", + "offset": [ + 14103, + 14104 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "3748": { + "fn": "ERC721._transfer", + "offset": [ + 14107, + 14114 + ], + "op": "DUP3", + "path": "3" + }, + "3749": { + "fn": "ERC721._transfer", + "offset": [ + 14086, + 14094 + ], + "op": "PUSH2", + "path": "3", + "value": "0xCD9" + }, + "3752": { + "fn": "ERC721._transfer", + "jump": "i", + "offset": [ + 14086, + 14115 + ], + "op": "JUMP", + "path": "3" + }, + "3753": { + "fn": "ERC721._transfer", + "offset": [ + 14086, + 14115 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3754": { + "op": "PUSH1", + "value": "0x1" + }, + "3756": { + "op": "PUSH1", + "value": "0x1" + }, + "3758": { + "op": "PUSH1", + "value": "0xA0" + }, + "3760": { + "op": "SHL" + }, + "3761": { + "op": "SUB" + }, + "3762": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "DUP4", + "path": "3", + "statement": 38 + }, + "3763": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "AND", + "path": "3" + }, + "3764": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "3766": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "SWAP1", + "path": "3" + }, + "3767": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "DUP2", + "path": "3" + }, + "3768": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "MSTORE", + "path": "3" + }, + "3769": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14139 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "3771": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3773": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "MSTORE", + "path": "3" + }, + "3774": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3776": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "SWAP1", + "path": "3" + }, + "3777": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14145 + ], + "op": "KECCAK256", + "path": "3" + }, + "3778": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14161 + ], + "op": "PUSH2", + "path": "3", + "value": "0xED1" + }, + "3781": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14161 + ], + "op": "SWAP1", + "path": "3" + }, + "3782": { + "fn": "ERC721._transfer", + "offset": [ + 14153, + 14160 + ], + "op": "DUP3", + "path": "3" + }, + "3783": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14161 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "3788": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14152 + ], + "op": "PUSH2", + "path": "3", + "value": "0x10D0" + }, + "3791": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14161 + ], + "op": "AND", + "path": "3" + }, + "3792": { + "fn": "ERC721._transfer", + "jump": "i", + "offset": [ + 14126, + 14161 + ], + "op": "JUMP", + "path": "3" + }, + "3793": { + "fn": "ERC721._transfer", + "offset": [ + 14126, + 14161 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3794": { + "op": "POP" + }, + "3795": { + "op": "PUSH1", + "value": "0x1" + }, + "3797": { + "op": "PUSH1", + "value": "0x1" + }, + "3799": { + "op": "PUSH1", + "value": "0xA0" + }, + "3801": { + "op": "SHL" + }, + "3802": { + "op": "SUB" + }, + "3803": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "DUP3", + "path": "3", + "statement": 39 + }, + "3804": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "AND", + "path": "3" + }, + "3805": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "3807": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "SWAP1", + "path": "3" + }, + "3808": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "DUP2", + "path": "3" + }, + "3809": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "MSTORE", + "path": "3" + }, + "3810": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14184 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "3812": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "3814": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "MSTORE", + "path": "3" + }, + "3815": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3817": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "SWAP1", + "path": "3" + }, + "3818": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14188 + ], + "op": "KECCAK256", + "path": "3" + }, + "3819": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14201 + ], + "op": "PUSH2", + "path": "3", + "value": "0xEFA" + }, + "3822": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14201 + ], + "op": "SWAP1", + "path": "3" + }, + "3823": { + "fn": "ERC721._transfer", + "offset": [ + 14193, + 14200 + ], + "op": "DUP3", + "path": "3" + }, + "3824": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14201 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "3829": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14192 + ], + "op": "PUSH2", + "path": "3", + "value": "0x10DC" + }, + "3832": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14201 + ], + "op": "AND", + "path": "3" + }, + "3833": { + "fn": "ERC721._transfer", + "jump": "i", + "offset": [ + 14171, + 14201 + ], + "op": "JUMP", + "path": "3" + }, + "3834": { + "fn": "ERC721._transfer", + "offset": [ + 14171, + 14201 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3835": { + "op": "POP" + }, + "3836": { + "fn": "ERC721._transfer", + "offset": [ + 14212, + 14241 + ], + "op": "PUSH2", + "path": "3", + "statement": 40, + "value": "0xF0D" + }, + "3839": { + "fn": "ERC721._transfer", + "offset": [ + 14212, + 14224 + ], + "op": "PUSH1", + "path": "3", + "value": "0x2" + }, + "3841": { + "fn": "ERC721._transfer", + "offset": [ + 14229, + 14236 + ], + "op": "DUP3", + "path": "3" + }, + "3842": { + "fn": "ERC721._transfer", + "offset": [ + 14238, + 14240 + ], + "op": "DUP5", + "path": "3" + }, + "3843": { + "fn": "ERC721._transfer", + "offset": [ + 14212, + 14241 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "3848": { + "fn": "ERC721._transfer", + "offset": [ + 14212, + 14228 + ], + "op": "PUSH2", + "path": "3", + "value": "0x10E8" + }, + "3851": { + "fn": "ERC721._transfer", + "offset": [ + 14212, + 14241 + ], + "op": "AND", + "path": "3" + }, + "3852": { + "fn": "ERC721._transfer", + "jump": "i", + "offset": [ + 14212, + 14241 + ], + "op": "JUMP", + "path": "3" + }, + "3853": { + "fn": "ERC721._transfer", + "offset": [ + 14212, + 14241 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3854": { + "fn": "ERC721._transfer", + "offset": [ + 14212, + 14241 + ], + "op": "POP", + "path": "3" + }, + "3855": { + "fn": "ERC721._transfer", + "offset": [ + 14276, + 14283 + ], + "op": "DUP1", + "path": "3", + "statement": 41 + }, + "3856": { + "fn": "ERC721._transfer", + "offset": [ + 14272, + 14274 + ], + "op": "DUP3", + "path": "3" + }, + "3857": { + "op": "PUSH1", + "value": "0x1" + }, + "3859": { + "op": "PUSH1", + "value": "0x1" + }, + "3861": { + "op": "PUSH1", + "value": "0xA0" + }, + "3863": { + "op": "SHL" + }, + "3864": { + "op": "SUB" + }, + "3865": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "AND", + "path": "3" + }, + "3866": { + "fn": "ERC721._transfer", + "offset": [ + 14266, + 14270 + ], + "op": "DUP5", + "path": "3" + }, + "3867": { + "op": "PUSH1", + "value": "0x1" + }, + "3869": { + "op": "PUSH1", + "value": "0x1" + }, + "3871": { + "op": "PUSH1", + "value": "0xA0" + }, + "3873": { + "op": "SHL" + }, + "3874": { + "op": "SUB" + }, + "3875": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "AND", + "path": "3" + }, + "3876": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "PUSH32", + "path": "3", + "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + "3909": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3911": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "MLOAD", + "path": "3" + }, + "3912": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "3914": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "MLOAD", + "path": "3" + }, + "3915": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "DUP1", + "path": "3" + }, + "3916": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "SWAP2", + "path": "3" + }, + "3917": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "SUB", + "path": "3" + }, + "3918": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "SWAP1", + "path": "3" + }, + "3919": { + "fn": "ERC721._transfer", + "offset": [ + 14257, + 14284 + ], + "op": "LOG4", + "path": "3" + }, + "3920": { + "fn": "ERC721._transfer", + "offset": [ + 13707, + 14291 + ], + "op": "POP", + "path": "3" + }, + "3921": { + "fn": "ERC721._transfer", + "offset": [ + 13707, + 14291 + ], + "op": "POP", + "path": "3" + }, + "3922": { + "fn": "ERC721._transfer", + "offset": [ + 13707, + 14291 + ], + "op": "POP", + "path": "3" + }, + "3923": { + "fn": "ERC721._transfer", + "jump": "o", + "offset": [ + 13707, + 14291 + ], + "op": "JUMP", + "path": "3" + }, + "3924": { + "fn": "EnumerableSet.at", + "offset": [ + 9250, + 9385 + ], + "op": "JUMPDEST", + "path": "11" + }, + "3925": { + "fn": "EnumerableSet.at", + "offset": [ + 9321, + 9328 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "3927": { + "fn": "EnumerableSet.at", + "offset": [ + 9355, + 9377 + ], + "op": "PUSH2", + "path": "11", + "statement": 42, + "value": "0x716" + }, + "3930": { + "fn": "EnumerableSet.at", + "offset": [ + 9359, + 9362 + ], + "op": "DUP4", + "path": "11" + }, + "3931": { + "fn": "EnumerableSet.at", + "offset": [ + 9371, + 9376 + ], + "op": "DUP4", + "path": "11" + }, + "3932": { + "fn": "EnumerableSet.at", + "offset": [ + 9355, + 9358 + ], + "op": "PUSH2", + "path": "11", + "value": "0x10FE" + }, + "3935": { + "fn": "EnumerableSet.at", + "jump": "i", + "offset": [ + 9355, + 9377 + ], + "op": "JUMP", + "path": "11" + }, + "3936": { + "fn": "EnumerableMap.at", + "offset": [ + 8269, + 8502 + ], + "op": "JUMPDEST", + "path": "10" + }, + "3937": { + "fn": "EnumerableMap.at", + "offset": [ + 8349, + 8356 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "3939": { + "fn": "EnumerableMap.at", + "offset": [ + 8349, + 8356 + ], + "op": "DUP1", + "path": "10" + }, + "3940": { + "fn": "EnumerableMap.at", + "offset": [ + 8349, + 8356 + ], + "op": "DUP1", + "path": "10" + }, + "3941": { + "fn": "EnumerableMap.at", + "offset": [ + 8349, + 8356 + ], + "op": "DUP1", + "path": "10" + }, + "3942": { + "fn": "EnumerableMap.at", + "offset": [ + 8408, + 8430 + ], + "op": "PUSH2", + "path": "10", + "value": "0xF6F" + }, + "3945": { + "fn": "EnumerableMap.at", + "offset": [ + 8412, + 8415 + ], + "op": "DUP7", + "path": "10" + }, + "3946": { + "fn": "EnumerableMap.at", + "offset": [ + 8424, + 8429 + ], + "op": "DUP7", + "path": "10" + }, + "3947": { + "fn": "EnumerableMap.at", + "offset": [ + 8408, + 8411 + ], + "op": "PUSH2", + "path": "10", + "value": "0x1162" + }, + "3950": { + "fn": "EnumerableMap.at", + "jump": "i", + "offset": [ + 8408, + 8430 + ], + "op": "JUMP", + "path": "10" + }, + "3951": { + "fn": "EnumerableMap.at", + "offset": [ + 8408, + 8430 + ], + "op": "JUMPDEST", + "path": "10" + }, + "3952": { + "fn": "EnumerableMap.at", + "offset": [ + 8377, + 8430 + ], + "op": "SWAP1", + "path": "10" + }, + "3953": { + "fn": "EnumerableMap.at", + "offset": [ + 8377, + 8430 + ], + "op": "SWAP8", + "path": "10" + }, + "3954": { + "fn": "EnumerableMap.at", + "offset": [ + 8377, + 8430 + ], + "op": "SWAP1", + "path": "10" + }, + "3955": { + "fn": "EnumerableMap.at", + "offset": [ + 8377, + 8430 + ], + "op": "SWAP7", + "path": "10" + }, + "3956": { + "op": "POP" + }, + "3957": { + "fn": "EnumerableMap.at", + "offset": [ + 8269, + 8502 + ], + "op": "SWAP5", + "path": "10" + }, + "3958": { + "op": "POP" + }, + "3959": { + "op": "POP" + }, + "3960": { + "op": "POP" + }, + "3961": { + "op": "POP" + }, + "3962": { + "op": "POP" + }, + "3963": { + "fn": "EnumerableMap.at", + "jump": "o", + "offset": [ + 8269, + 8502 + ], + "op": "JUMP", + "path": "10" + }, + "3964": { + "fn": "EnumerableMap.get", + "offset": [ + 9522, + 9733 + ], + "op": "JUMPDEST", + "path": "10" + }, + "3965": { + "fn": "EnumerableMap.get", + "offset": [ + 9629, + 9636 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "3967": { + "fn": "EnumerableMap.get", + "offset": [ + 9679, + 9723 + ], + "op": "PUSH2", + "path": "10", + "statement": 43, + "value": "0xF89" + }, + "3970": { + "fn": "EnumerableMap.get", + "offset": [ + 9684, + 9687 + ], + "op": "DUP5", + "path": "10" + }, + "3971": { + "fn": "EnumerableMap.get", + "offset": [ + 9704, + 9707 + ], + "op": "DUP5", + "path": "10" + }, + "3972": { + "fn": "EnumerableMap.get", + "offset": [ + 9710, + 9722 + ], + "op": "DUP5", + "path": "10" + }, + "3973": { + "fn": "EnumerableMap.get", + "offset": [ + 9679, + 9683 + ], + "op": "PUSH2", + "path": "10", + "value": "0x11DD" + }, + "3976": { + "fn": "EnumerableMap.get", + "jump": "i", + "offset": [ + 9679, + 9723 + ], + "op": "JUMP", + "path": "10" + }, + "3977": { + "fn": "EnumerableMap.get", + "offset": [ + 9679, + 9723 + ], + "op": "JUMPDEST", + "path": "10" + }, + "3978": { + "fn": "EnumerableMap.get", + "offset": [ + 9671, + 9724 + ], + "op": "SWAP1", + "path": "10" + }, + "3979": { + "op": "POP" + }, + "3980": { + "fn": "EnumerableMap.get", + "offset": [ + 9522, + 9733 + ], + "op": "JUMPDEST", + "path": "10" + }, + "3981": { + "fn": "EnumerableMap.get", + "offset": [ + 9522, + 9733 + ], + "op": "SWAP4", + "path": "10" + }, + "3982": { + "fn": "EnumerableMap.get", + "offset": [ + 9522, + 9733 + ], + "op": "SWAP3", + "path": "10" + }, + "3983": { + "fn": "EnumerableMap.get", + "offset": [ + 9522, + 9733 + ], + "op": "POP", + "path": "10" + }, + "3984": { + "fn": "EnumerableMap.get", + "offset": [ + 9522, + 9733 + ], + "op": "POP", + "path": "10" + }, + "3985": { + "fn": "EnumerableMap.get", + "offset": [ + 9522, + 9733 + ], + "op": "POP", + "path": "10" + }, + "3986": { + "fn": "EnumerableMap.get", + "jump": "o", + "offset": [ + 9522, + 9733 + ], + "op": "JUMP", + "path": "10" + }, + "3987": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9811, + 10080 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3988": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9924, + 9952 + ], + "op": "PUSH2", + "path": "3", + "statement": 44, + "value": "0xF9E" + }, + "3991": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9934, + 9938 + ], + "op": "DUP5", + "path": "3" + }, + "3992": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9940, + 9942 + ], + "op": "DUP5", + "path": "3" + }, + "3993": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9944, + 9951 + ], + "op": "DUP5", + "path": "3" + }, + "3994": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9924, + 9933 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDF6" + }, + "3997": { + "fn": "ERC721._safeTransfer", + "jump": "i", + "offset": [ + 9924, + 9952 + ], + "op": "JUMP", + "path": "3" + }, + "3998": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9924, + 9952 + ], + "op": "JUMPDEST", + "path": "3" + }, + "3999": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9970, + 10018 + ], + "op": "PUSH2", + "path": "3", + "statement": 45, + "value": "0xFAA" + }, + "4002": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9993, + 9997 + ], + "op": "DUP5", + "path": "3" + }, + "4003": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9999, + 10001 + ], + "op": "DUP5", + "path": "3" + }, + "4004": { + "fn": "ERC721._safeTransfer", + "offset": [ + 10003, + 10010 + ], + "op": "DUP5", + "path": "3" + }, + "4005": { + "fn": "ERC721._safeTransfer", + "offset": [ + 10012, + 10017 + ], + "op": "DUP5", + "path": "3" + }, + "4006": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9970, + 9992 + ], + "op": "PUSH2", + "path": "3", + "value": "0x12A7" + }, + "4009": { + "fn": "ERC721._safeTransfer", + "jump": "i", + "offset": [ + 9970, + 10018 + ], + "op": "JUMP", + "path": "3" + }, + "4010": { + "branch": 102, + "fn": "ERC721._safeTransfer", + "offset": [ + 9970, + 10018 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4011": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH2", + "path": "3", + "value": "0xA0B" + }, + "4014": { + "branch": 102, + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "JUMPI", + "path": "3" + }, + "4015": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4017": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "MLOAD", + "path": "3" + }, + "4018": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4022": { + "op": "PUSH1", + "value": "0xE5" + }, + "4024": { + "op": "SHL" + }, + "4025": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP2", + "path": "3" + }, + "4026": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "MSTORE", + "path": "3" + }, + "4027": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x4" + }, + "4029": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "ADD", + "path": "3" + }, + "4030": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP1", + "path": "3" + }, + "4031": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP1", + "path": "3" + }, + "4032": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4034": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "ADD", + "path": "3" + }, + "4035": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP3", + "path": "3" + }, + "4036": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP2", + "path": "3" + }, + "4037": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "SUB", + "path": "3" + }, + "4038": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP3", + "path": "3" + }, + "4039": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "MSTORE", + "path": "3" + }, + "4040": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x32" + }, + "4042": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP2", + "path": "3" + }, + "4043": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "MSTORE", + "path": "3" + }, + "4044": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4046": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "ADD", + "path": "3" + }, + "4047": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP1", + "path": "3" + }, + "4048": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH2", + "path": "3", + "value": "0x179B" + }, + "4051": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x32" + }, + "4053": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "SWAP2", + "path": "3" + }, + "4054": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "CODECOPY", + "path": "3" + }, + "4055": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4057": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "ADD", + "path": "3" + }, + "4058": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "SWAP2", + "path": "3" + }, + "4059": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "POP", + "path": "3" + }, + "4060": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "POP", + "path": "3" + }, + "4061": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4063": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "MLOAD", + "path": "3" + }, + "4064": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "DUP1", + "path": "3" + }, + "4065": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "SWAP2", + "path": "3" + }, + "4066": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "SUB", + "path": "3" + }, + "4067": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "SWAP1", + "path": "3" + }, + "4068": { + "fn": "ERC721._safeTransfer", + "offset": [ + 9962, + 10073 + ], + "op": "REVERT", + "path": "3" + }, + "4069": { + "fn": "Strings.toString", + "offset": [ + 210, + 935 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4070": { + "fn": "Strings.toString", + "offset": [ + 266, + 279 + ], + "op": "PUSH1", + "path": "12", + "value": "0x60" + }, + "4072": { + "branch": 113, + "fn": "Strings.toString", + "offset": [ + 483, + 493 + ], + "op": "DUP2", + "path": "12" + }, + "4073": { + "fn": "Strings.toString", + "offset": [ + 479, + 530 + ], + "op": "PUSH2", + "path": "12", + "value": "0x100A" + }, + "4076": { + "branch": 113, + "fn": "Strings.toString", + "offset": [ + 479, + 530 + ], + "op": "JUMPI", + "path": "12" + }, + "4077": { + "op": "POP" + }, + "4078": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "PUSH1", + "path": "12", + "statement": 46, + "value": "0x40" + }, + "4080": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "DUP1", + "path": "12" + }, + "4081": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "MLOAD", + "path": "12" + }, + "4082": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "DUP1", + "path": "12" + }, + "4083": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "DUP3", + "path": "12" + }, + "4084": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "ADD", + "path": "12" + }, + "4085": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "SWAP1", + "path": "12" + }, + "4086": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "SWAP2", + "path": "12" + }, + "4087": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "MSTORE", + "path": "12" + }, + "4088": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "PUSH1", + "path": "12", + "value": "0x1" + }, + "4090": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "DUP2", + "path": "12" + }, + "4091": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "MSTORE", + "path": "12" + }, + "4092": { + "op": "PUSH1", + "value": "0x3" + }, + "4094": { + "op": "PUSH1", + "value": "0xFC" + }, + "4096": { + "op": "SHL" + }, + "4097": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "PUSH1", + "path": "12", + "value": "0x20" + }, + "4099": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "DUP3", + "path": "12" + }, + "4100": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "ADD", + "path": "12" + }, + "4101": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "MSTORE", + "path": "12" + }, + "4102": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "PUSH2", + "path": "12", + "value": "0x4AE" + }, + "4105": { + "fn": "Strings.toString", + "offset": [ + 509, + 519 + ], + "op": "JUMP", + "path": "12" + }, + "4106": { + "fn": "Strings.toString", + "offset": [ + 479, + 530 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4107": { + "fn": "Strings.toString", + "offset": [ + 554, + 559 + ], + "op": "DUP2", + "path": "12" + }, + "4108": { + "fn": "Strings.toString", + "offset": [ + 539, + 551 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "4110": { + "fn": "Strings.toString", + "offset": [ + 593, + 668 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4111": { + "fn": "Strings.toString", + "offset": [ + 600, + 609 + ], + "op": "DUP2", + "path": "12" + }, + "4112": { + "fn": "Strings.toString", + "offset": [ + 600, + 609 + ], + "op": "ISZERO", + "path": "12" + }, + "4113": { + "fn": "Strings.toString", + "offset": [ + 593, + 668 + ], + "op": "PUSH2", + "path": "12", + "value": "0x1022" + }, + "4116": { + "fn": "Strings.toString", + "offset": [ + 593, + 668 + ], + "op": "JUMPI", + "path": "12" + }, + "4117": { + "fn": "Strings.toString", + "offset": [ + 625, + 633 + ], + "op": "PUSH1", + "path": "12", + "statement": 47, + "value": "0x1" + }, + "4119": { + "fn": "Strings.toString", + "offset": [ + 625, + 633 + ], + "op": "ADD", + "path": "12" + }, + "4120": { + "fn": "Strings.toString", + "offset": [ + 655, + 657 + ], + "op": "PUSH1", + "path": "12", + "statement": 48, + "value": "0xA" + }, + "4122": { + "fn": "Strings.toString", + "offset": [ + 647, + 657 + ], + "op": "DUP3", + "path": "12" + }, + "4123": { + "fn": "Strings.toString", + "offset": [ + 647, + 657 + ], + "op": "DIV", + "path": "12" + }, + "4124": { + "fn": "Strings.toString", + "offset": [ + 647, + 657 + ], + "op": "SWAP2", + "path": "12" + }, + "4125": { + "fn": "Strings.toString", + "offset": [ + 647, + 657 + ], + "op": "POP", + "path": "12" + }, + "4126": { + "fn": "Strings.toString", + "offset": [ + 593, + 668 + ], + "op": "PUSH2", + "path": "12", + "value": "0x100E" + }, + "4129": { + "fn": "Strings.toString", + "offset": [ + 593, + 668 + ], + "op": "JUMP", + "path": "12" + }, + "4130": { + "fn": "Strings.toString", + "offset": [ + 593, + 668 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4131": { + "fn": "Strings.toString", + "offset": [ + 677, + 696 + ], + "op": "PUSH1", + "path": "12", + "value": "0x60" + }, + "4133": { + "fn": "Strings.toString", + "offset": [ + 709, + 715 + ], + "op": "DUP2", + "path": "12" + }, + "4134": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH8", + "path": "12", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "4143": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP2", + "path": "12" + }, + "4144": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "GT", + "path": "12" + }, + "4145": { + "op": "DUP1" + }, + "4146": { + "op": "ISZERO" + }, + "4147": { + "op": "PUSH2", + "value": "0x103B" + }, + "4150": { + "op": "JUMPI" + }, + "4151": { + "op": "PUSH1", + "value": "0x0" + }, + "4153": { + "op": "DUP1" + }, + "4154": { + "op": "REVERT" + }, + "4155": { + "op": "JUMPDEST" + }, + "4156": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "POP", + "path": "12" + }, + "4157": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH1", + "path": "12", + "value": "0x40" + }, + "4159": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "MLOAD", + "path": "12" + }, + "4160": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "SWAP1", + "path": "12" + }, + "4161": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP1", + "path": "12" + }, + "4162": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP3", + "path": "12" + }, + "4163": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "MSTORE", + "path": "12" + }, + "4164": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP1", + "path": "12" + }, + "4165": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH1", + "path": "12", + "value": "0x1F" + }, + "4167": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "ADD", + "path": "12" + }, + "4168": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH1", + "path": "12", + "value": "0x1F" + }, + "4170": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "NOT", + "path": "12" + }, + "4171": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "AND", + "path": "12" + }, + "4172": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH1", + "path": "12", + "value": "0x20" + }, + "4174": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "ADD", + "path": "12" + }, + "4175": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP3", + "path": "12" + }, + "4176": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "ADD", + "path": "12" + }, + "4177": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH1", + "path": "12", + "value": "0x40" + }, + "4179": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "MSTORE", + "path": "12" + }, + "4180": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP1", + "path": "12" + }, + "4181": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "ISZERO", + "path": "12" + }, + "4182": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH2", + "path": "12", + "value": "0x1066" + }, + "4185": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "JUMPI", + "path": "12" + }, + "4186": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "PUSH1", + "path": "12", + "value": "0x20" + }, + "4188": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP3", + "path": "12" + }, + "4189": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "ADD", + "path": "12" + }, + "4190": { + "op": "DUP2" + }, + "4191": { + "op": "DUP1" + }, + "4192": { + "op": "CALLDATASIZE" + }, + "4193": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "DUP4", + "path": "12" + }, + "4194": { + "op": "CALLDATACOPY" + }, + "4195": { + "op": "ADD" + }, + "4196": { + "op": "SWAP1" + }, + "4197": { + "op": "POP" + }, + "4198": { + "fn": "Strings.toString", + "offset": [ + 699, + 716 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4199": { + "op": "POP" + }, + "4200": { + "fn": "Strings.toString", + "offset": [ + 769, + 774 + ], + "op": "DUP6", + "path": "12", + "statement": 49 + }, + "4201": { + "fn": "Strings.toString", + "offset": [ + 769, + 774 + ], + "op": "SWAP4", + "path": "12" + }, + "4202": { + "op": "POP" + }, + "4203": { + "fn": "Strings.toString", + "offset": [ + 677, + 716 + ], + "op": "SWAP1", + "path": "12" + }, + "4204": { + "op": "POP" + }, + "4205": { + "op": "PUSH1", + "value": "0x0" + }, + "4207": { + "op": "NOT" + }, + "4208": { + "fn": "Strings.toString", + "offset": [ + 742, + 752 + ], + "op": "DUP3", + "path": "12" + }, + "4209": { + "fn": "Strings.toString", + "offset": [ + 742, + 752 + ], + "op": "ADD", + "path": "12" + }, + "4210": { + "fn": "Strings.toString", + "offset": [ + 784, + 898 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4211": { + "fn": "Strings.toString", + "offset": [ + 791, + 800 + ], + "op": "DUP4", + "path": "12" + }, + "4212": { + "fn": "Strings.toString", + "offset": [ + 791, + 800 + ], + "op": "ISZERO", + "path": "12" + }, + "4213": { + "fn": "Strings.toString", + "offset": [ + 784, + 898 + ], + "op": "PUSH2", + "path": "12", + "value": "0x10B7" + }, + "4216": { + "fn": "Strings.toString", + "offset": [ + 784, + 898 + ], + "op": "JUMPI", + "path": "12" + }, + "4217": { + "fn": "Strings.toString", + "offset": [ + 859, + 861 + ], + "op": "PUSH1", + "path": "12", + "statement": 50, + "value": "0xA" + }, + "4219": { + "fn": "Strings.toString", + "offset": [ + 852, + 856 + ], + "op": "DUP5", + "path": "12" + }, + "4220": { + "fn": "Strings.toString", + "offset": [ + 852, + 861 + ], + "op": "MOD", + "path": "12" + }, + "4221": { + "fn": "Strings.toString", + "offset": [ + 847, + 849 + ], + "op": "PUSH1", + "path": "12", + "value": "0x30" + }, + "4223": { + "fn": "Strings.toString", + "offset": [ + 847, + 861 + ], + "op": "ADD", + "path": "12" + }, + "4224": { + "fn": "Strings.toString", + "offset": [ + 834, + 863 + ], + "op": "PUSH1", + "path": "12", + "value": "0xF8" + }, + "4226": { + "fn": "Strings.toString", + "offset": [ + 834, + 863 + ], + "op": "SHL", + "path": "12" + }, + "4227": { + "fn": "Strings.toString", + "offset": [ + 816, + 822 + ], + "op": "DUP3", + "path": "12" + }, + "4228": { + "fn": "Strings.toString", + "offset": [ + 823, + 830 + ], + "op": "DUP3", + "path": "12" + }, + "4229": { + "fn": "Strings.toString", + "offset": [ + 823, + 830 + ], + "op": "DUP1", + "path": "12" + }, + "4230": { + "fn": "Strings.toString", + "offset": [ + 823, + 830 + ], + "op": "PUSH1", + "path": "12", + "value": "0x1" + }, + "4232": { + "fn": "Strings.toString", + "offset": [ + 823, + 830 + ], + "op": "SWAP1", + "path": "12" + }, + "4233": { + "fn": "Strings.toString", + "offset": [ + 823, + 830 + ], + "op": "SUB", + "path": "12" + }, + "4234": { + "fn": "Strings.toString", + "offset": [ + 823, + 830 + ], + "op": "SWAP4", + "path": "12" + }, + "4235": { + "fn": "Strings.toString", + "offset": [ + 823, + 830 + ], + "op": "POP", + "path": "12" + }, + "4236": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "DUP2", + "path": "12" + }, + "4237": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "MLOAD", + "path": "12" + }, + "4238": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "DUP2", + "path": "12" + }, + "4239": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "LT", + "path": "12" + }, + "4240": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "PUSH2", + "path": "12", + "value": "0x1095" + }, + "4243": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "JUMPI", + "path": "12" + }, + "4244": { + "dev": "Index out of range", + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "INVALID", + "path": "12" + }, + "4245": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4246": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "PUSH1", + "path": "12", + "value": "0x20" + }, + "4248": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "ADD", + "path": "12" + }, + "4249": { + "fn": "Strings.toString", + "offset": [ + 816, + 831 + ], + "op": "ADD", + "path": "12" + }, + "4250": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "SWAP1", + "path": "12" + }, + "4251": { + "op": "PUSH1", + "value": "0x1" + }, + "4253": { + "op": "PUSH1", + "value": "0x1" + }, + "4255": { + "op": "PUSH1", + "value": "0xF8" + }, + "4257": { + "op": "SHL" + }, + "4258": { + "op": "SUB" + }, + "4259": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "NOT", + "path": "12" + }, + "4260": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "AND", + "path": "12" + }, + "4261": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "SWAP1", + "path": "12" + }, + "4262": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "DUP2", + "path": "12" + }, + "4263": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "4265": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "BYTE", + "path": "12" + }, + "4266": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "SWAP1", + "path": "12" + }, + "4267": { + "fn": "Strings.toString", + "offset": [ + 816, + 863 + ], + "op": "MSTORE8", + "path": "12" + }, + "4268": { + "op": "POP" + }, + "4269": { + "fn": "Strings.toString", + "offset": [ + 885, + 887 + ], + "op": "PUSH1", + "path": "12", + "statement": 51, + "value": "0xA" + }, + "4271": { + "fn": "Strings.toString", + "offset": [ + 877, + 887 + ], + "op": "DUP5", + "path": "12" + }, + "4272": { + "fn": "Strings.toString", + "offset": [ + 877, + 887 + ], + "op": "DIV", + "path": "12" + }, + "4273": { + "fn": "Strings.toString", + "offset": [ + 877, + 887 + ], + "op": "SWAP4", + "path": "12" + }, + "4274": { + "fn": "Strings.toString", + "offset": [ + 877, + 887 + ], + "op": "POP", + "path": "12" + }, + "4275": { + "fn": "Strings.toString", + "offset": [ + 784, + 898 + ], + "op": "PUSH2", + "path": "12", + "value": "0x1072" + }, + "4278": { + "fn": "Strings.toString", + "offset": [ + 784, + 898 + ], + "op": "JUMP", + "path": "12" + }, + "4279": { + "fn": "Strings.toString", + "offset": [ + 784, + 898 + ], + "op": "JUMPDEST", + "path": "12" + }, + "4280": { + "op": "POP" + }, + "4281": { + "fn": "Strings.toString", + "offset": [ + 921, + 927 + ], + "op": "SWAP5", + "path": "12", + "statement": 52 + }, + "4282": { + "fn": "Strings.toString", + "offset": [ + 210, + 935 + ], + "op": "SWAP4", + "path": "12" + }, + "4283": { + "op": "POP" + }, + "4284": { + "op": "POP" + }, + "4285": { + "op": "POP" + }, + "4286": { + "op": "POP" + }, + "4287": { + "fn": "Strings.toString", + "jump": "o", + "offset": [ + 210, + 935 + ], + "op": "JUMP", + "path": "12" + }, + "4288": { + "fn": "EnumerableMap.contains", + "offset": [ + 7588, + 7737 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4289": { + "fn": "EnumerableMap.contains", + "offset": [ + 7672, + 7676 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4291": { + "fn": "EnumerableMap.contains", + "offset": [ + 7695, + 7730 + ], + "op": "PUSH2", + "path": "10", + "statement": 53, + "value": "0x716" + }, + "4294": { + "fn": "EnumerableMap.contains", + "offset": [ + 7705, + 7708 + ], + "op": "DUP4", + "path": "10" + }, + "4295": { + "fn": "EnumerableMap.contains", + "offset": [ + 7725, + 7728 + ], + "op": "DUP4", + "path": "10" + }, + "4296": { + "fn": "EnumerableMap.contains", + "offset": [ + 7695, + 7704 + ], + "op": "PUSH2", + "path": "10", + "value": "0x1427" + }, + "4299": { + "fn": "EnumerableMap.contains", + "jump": "i", + "offset": [ + 7695, + 7730 + ], + "op": "JUMP", + "path": "10" + }, + "4300": { + "fn": "EnumerableMap._length", + "offset": [ + 4491, + 4599 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4301": { + "fn": "EnumerableMap._length", + "offset": [ + 4573, + 4592 + ], + "op": "SLOAD", + "path": "10", + "statement": 54 + }, + "4302": { + "fn": "EnumerableMap._length", + "offset": [ + 4573, + 4592 + ], + "op": "SWAP1", + "path": "10" + }, + "4303": { + "fn": "EnumerableMap._length", + "jump": "o", + "offset": [ + 4491, + 4599 + ], + "op": "JUMP", + "path": "10" + }, + "4304": { + "fn": "EnumerableSet.remove", + "offset": [ + 8365, + 8500 + ], + "op": "JUMPDEST", + "path": "11" + }, + "4305": { + "fn": "EnumerableSet.remove", + "offset": [ + 8435, + 8439 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "4307": { + "fn": "EnumerableSet.remove", + "offset": [ + 8458, + 8493 + ], + "op": "PUSH2", + "path": "11", + "statement": 55, + "value": "0x716" + }, + "4310": { + "fn": "EnumerableSet.remove", + "offset": [ + 8466, + 8469 + ], + "op": "DUP4", + "path": "11" + }, + "4311": { + "fn": "EnumerableSet.remove", + "offset": [ + 8486, + 8491 + ], + "op": "DUP4", + "path": "11" + }, + "4312": { + "fn": "EnumerableSet.remove", + "offset": [ + 8458, + 8465 + ], + "op": "PUSH2", + "path": "11", + "value": "0x143F" + }, + "4315": { + "fn": "EnumerableSet.remove", + "jump": "i", + "offset": [ + 8458, + 8493 + ], + "op": "JUMP", + "path": "11" + }, + "4316": { + "fn": "EnumerableSet.add", + "offset": [ + 8068, + 8197 + ], + "op": "JUMPDEST", + "path": "11" + }, + "4317": { + "fn": "EnumerableSet.add", + "offset": [ + 8135, + 8139 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "4319": { + "fn": "EnumerableSet.add", + "offset": [ + 8158, + 8190 + ], + "op": "PUSH2", + "path": "11", + "statement": 56, + "value": "0x716" + }, + "4322": { + "fn": "EnumerableSet.add", + "offset": [ + 8163, + 8166 + ], + "op": "DUP4", + "path": "11" + }, + "4323": { + "fn": "EnumerableSet.add", + "offset": [ + 8183, + 8188 + ], + "op": "DUP4", + "path": "11" + }, + "4324": { + "fn": "EnumerableSet.add", + "offset": [ + 8158, + 8162 + ], + "op": "PUSH2", + "path": "11", + "value": "0x1505" + }, + "4327": { + "fn": "EnumerableSet.add", + "jump": "i", + "offset": [ + 8158, + 8190 + ], + "op": "JUMP", + "path": "11" + }, + "4328": { + "fn": "EnumerableMap.set", + "offset": [ + 7027, + 7210 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4329": { + "fn": "EnumerableMap.set", + "offset": [ + 7116, + 7120 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4331": { + "fn": "EnumerableMap.set", + "offset": [ + 7139, + 7203 + ], + "op": "PUSH2", + "path": "10", + "statement": 57, + "value": "0xF89" + }, + "4334": { + "fn": "EnumerableMap.set", + "offset": [ + 7144, + 7147 + ], + "op": "DUP5", + "path": "10" + }, + "4335": { + "fn": "EnumerableMap.set", + "offset": [ + 7164, + 7167 + ], + "op": "DUP5", + "path": "10" + }, + "4336": { + "op": "PUSH1", + "value": "0x1" + }, + "4338": { + "op": "PUSH1", + "value": "0x1" + }, + "4340": { + "op": "PUSH1", + "value": "0xA0" + }, + "4342": { + "op": "SHL" + }, + "4343": { + "op": "SUB" + }, + "4344": { + "fn": "EnumerableMap.set", + "offset": [ + 7178, + 7201 + ], + "op": "DUP6", + "path": "10" + }, + "4345": { + "fn": "EnumerableMap.set", + "offset": [ + 7178, + 7201 + ], + "op": "AND", + "path": "10" + }, + "4346": { + "fn": "EnumerableMap.set", + "offset": [ + 7139, + 7143 + ], + "op": "PUSH2", + "path": "10", + "value": "0x154F" + }, + "4349": { + "fn": "EnumerableMap.set", + "jump": "i", + "offset": [ + 7139, + 7203 + ], + "op": "JUMP", + "path": "10" + }, + "4350": { + "fn": "EnumerableSet._at", + "offset": [ + 4452, + 4653 + ], + "op": "JUMPDEST", + "path": "11" + }, + "4351": { + "fn": "EnumerableSet._at", + "offset": [ + 4546, + 4564 + ], + "op": "DUP2", + "path": "11", + "statement": 58 + }, + "4352": { + "fn": "EnumerableSet._at", + "offset": [ + 4546, + 4564 + ], + "op": "SLOAD", + "path": "11" + }, + "4353": { + "fn": "EnumerableSet._at", + "offset": [ + 4519, + 4526 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "4355": { + "fn": "EnumerableSet._at", + "offset": [ + 4519, + 4526 + ], + "op": "SWAP1", + "path": "11" + }, + "4356": { + "branch": 110, + "fn": "EnumerableSet._at", + "offset": [ + 4546, + 4572 + ], + "op": "DUP3", + "path": "11" + }, + "4357": { + "op": "LT" + }, + "4358": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH2", + "path": "11", + "value": "0x1140" + }, + "4361": { + "branch": 110, + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "JUMPI", + "path": "11" + }, + "4362": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "4364": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "MLOAD", + "path": "11" + }, + "4365": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4369": { + "op": "PUSH1", + "value": "0xE5" + }, + "4371": { + "op": "SHL" + }, + "4372": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP2", + "path": "11" + }, + "4373": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "MSTORE", + "path": "11" + }, + "4374": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x4" + }, + "4376": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "ADD", + "path": "11" + }, + "4377": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP1", + "path": "11" + }, + "4378": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP1", + "path": "11" + }, + "4379": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "4381": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "ADD", + "path": "11" + }, + "4382": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP3", + "path": "11" + }, + "4383": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP2", + "path": "11" + }, + "4384": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "SUB", + "path": "11" + }, + "4385": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP3", + "path": "11" + }, + "4386": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "MSTORE", + "path": "11" + }, + "4387": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x22" + }, + "4389": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP2", + "path": "11" + }, + "4390": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "MSTORE", + "path": "11" + }, + "4391": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "4393": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "ADD", + "path": "11" + }, + "4394": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP1", + "path": "11" + }, + "4395": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH2", + "path": "11", + "value": "0x1779" + }, + "4398": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x22" + }, + "4400": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "SWAP2", + "path": "11" + }, + "4401": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "CODECOPY", + "path": "11" + }, + "4402": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "4404": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "ADD", + "path": "11" + }, + "4405": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "SWAP2", + "path": "11" + }, + "4406": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "POP", + "path": "11" + }, + "4407": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "POP", + "path": "11" + }, + "4408": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "4410": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "MLOAD", + "path": "11" + }, + "4411": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "DUP1", + "path": "11" + }, + "4412": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "SWAP2", + "path": "11" + }, + "4413": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "SUB", + "path": "11" + }, + "4414": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "SWAP1", + "path": "11" + }, + "4415": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "REVERT", + "path": "11" + }, + "4416": { + "fn": "EnumerableSet._at", + "offset": [ + 4538, + 4611 + ], + "op": "JUMPDEST", + "path": "11" + }, + "4417": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4631 + ], + "op": "DUP3", + "path": "11", + "statement": 59 + }, + "4418": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4639 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "4420": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4639 + ], + "op": "ADD", + "path": "11" + }, + "4421": { + "fn": "EnumerableSet._at", + "offset": [ + 4640, + 4645 + ], + "op": "DUP3", + "path": "11" + }, + "4422": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "DUP2", + "path": "11" + }, + "4423": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "SLOAD", + "path": "11" + }, + "4424": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "DUP2", + "path": "11" + }, + "4425": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "LT", + "path": "11" + }, + "4426": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "PUSH2", + "path": "11", + "value": "0x114F" + }, + "4429": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "JUMPI", + "path": "11" + }, + "4430": { + "dev": "Index out of range", + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "INVALID", + "path": "11" + }, + "4431": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "JUMPDEST", + "path": "11" + }, + "4432": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "SWAP1", + "path": "11" + }, + "4433": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "4435": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "MSTORE", + "path": "11" + }, + "4436": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "4438": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "4440": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "KECCAK256", + "path": "11" + }, + "4441": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "ADD", + "path": "11" + }, + "4442": { + "fn": "EnumerableSet._at", + "offset": [ + 4628, + 4646 + ], + "op": "SLOAD", + "path": "11" + }, + "4443": { + "fn": "EnumerableSet._at", + "offset": [ + 4621, + 4646 + ], + "op": "SWAP1", + "path": "11" + }, + "4444": { + "fn": "EnumerableSet._at", + "offset": [ + 4621, + 4646 + ], + "op": "POP", + "path": "11" + }, + "4445": { + "fn": "EnumerableSet._at", + "offset": [ + 4452, + 4653 + ], + "op": "SWAP3", + "path": "11" + }, + "4446": { + "fn": "EnumerableSet._at", + "offset": [ + 4452, + 4653 + ], + "op": "SWAP2", + "path": "11" + }, + "4447": { + "fn": "EnumerableSet._at", + "offset": [ + 4452, + 4653 + ], + "op": "POP", + "path": "11" + }, + "4448": { + "fn": "EnumerableSet._at", + "offset": [ + 4452, + 4653 + ], + "op": "POP", + "path": "11" + }, + "4449": { + "fn": "EnumerableSet._at", + "jump": "o", + "offset": [ + 4452, + 4653 + ], + "op": "JUMP", + "path": "11" + }, + "4450": { + "fn": "EnumerableMap._at", + "offset": [ + 4942, + 5216 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4451": { + "fn": "EnumerableMap._at", + "offset": [ + 5045, + 5064 + ], + "op": "DUP2", + "path": "10", + "statement": 60 + }, + "4452": { + "fn": "EnumerableMap._at", + "offset": [ + 5045, + 5064 + ], + "op": "SLOAD", + "path": "10" + }, + "4453": { + "fn": "EnumerableMap._at", + "offset": [ + 5009, + 5016 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4455": { + "fn": "EnumerableMap._at", + "offset": [ + 5009, + 5016 + ], + "op": "SWAP1", + "path": "10" + }, + "4456": { + "fn": "EnumerableMap._at", + "offset": [ + 5009, + 5016 + ], + "op": "DUP2", + "path": "10" + }, + "4457": { + "fn": "EnumerableMap._at", + "offset": [ + 5009, + 5016 + ], + "op": "SWAP1", + "path": "10" + }, + "4458": { + "branch": 107, + "fn": "EnumerableMap._at", + "offset": [ + 5045, + 5072 + ], + "op": "DUP4", + "path": "10" + }, + "4459": { + "op": "LT" + }, + "4460": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH2", + "path": "10", + "value": "0x11A6" + }, + "4463": { + "branch": 107, + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "JUMPI", + "path": "10" + }, + "4464": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "4466": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "MLOAD", + "path": "10" + }, + "4467": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4471": { + "op": "PUSH1", + "value": "0xE5" + }, + "4473": { + "op": "SHL" + }, + "4474": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP2", + "path": "10" + }, + "4475": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "MSTORE", + "path": "10" + }, + "4476": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x4" + }, + "4478": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "ADD", + "path": "10" + }, + "4479": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP1", + "path": "10" + }, + "4480": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP1", + "path": "10" + }, + "4481": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "4483": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "ADD", + "path": "10" + }, + "4484": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP3", + "path": "10" + }, + "4485": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP2", + "path": "10" + }, + "4486": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "SUB", + "path": "10" + }, + "4487": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP3", + "path": "10" + }, + "4488": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "MSTORE", + "path": "10" + }, + "4489": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x22" + }, + "4491": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP2", + "path": "10" + }, + "4492": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "MSTORE", + "path": "10" + }, + "4493": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "4495": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "ADD", + "path": "10" + }, + "4496": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP1", + "path": "10" + }, + "4497": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH2", + "path": "10", + "value": "0x18A8" + }, + "4500": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x22" + }, + "4502": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "SWAP2", + "path": "10" + }, + "4503": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "CODECOPY", + "path": "10" + }, + "4504": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "4506": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "ADD", + "path": "10" + }, + "4507": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "SWAP2", + "path": "10" + }, + "4508": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "POP", + "path": "10" + }, + "4509": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "POP", + "path": "10" + }, + "4510": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "4512": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "MLOAD", + "path": "10" + }, + "4513": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "DUP1", + "path": "10" + }, + "4514": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "SWAP2", + "path": "10" + }, + "4515": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "SUB", + "path": "10" + }, + "4516": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "SWAP1", + "path": "10" + }, + "4517": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "REVERT", + "path": "10" + }, + "4518": { + "fn": "EnumerableMap._at", + "offset": [ + 5037, + 5111 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4519": { + "fn": "EnumerableMap._at", + "offset": [ + 5122, + 5144 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4521": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5150 + ], + "op": "DUP5", + "path": "10" + }, + "4522": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5159 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4524": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5159 + ], + "op": "ADD", + "path": "10" + }, + "4525": { + "fn": "EnumerableMap._at", + "offset": [ + 5160, + 5165 + ], + "op": "DUP5", + "path": "10" + }, + "4526": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "DUP2", + "path": "10" + }, + "4527": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "SLOAD", + "path": "10" + }, + "4528": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "DUP2", + "path": "10" + }, + "4529": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "LT", + "path": "10" + }, + "4530": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "PUSH2", + "path": "10", + "value": "0x11B7" + }, + "4533": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "JUMPI", + "path": "10" + }, + "4534": { + "dev": "Index out of range", + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "INVALID", + "path": "10" + }, + "4535": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4536": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "SWAP1", + "path": "10" + }, + "4537": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4539": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "MSTORE", + "path": "10" + }, + "4540": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "4542": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4544": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "KECCAK256", + "path": "10" + }, + "4545": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "SWAP1", + "path": "10" + }, + "4546": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "PUSH1", + "path": "10", + "value": "0x2" + }, + "4548": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "MUL", + "path": "10" + }, + "4549": { + "fn": "EnumerableMap._at", + "offset": [ + 5147, + 5166 + ], + "op": "ADD", + "path": "10" + }, + "4550": { + "fn": "EnumerableMap._at", + "offset": [ + 5122, + 5166 + ], + "op": "SWAP1", + "path": "10" + }, + "4551": { + "fn": "EnumerableMap._at", + "offset": [ + 5122, + 5166 + ], + "op": "POP", + "path": "10" + }, + "4552": { + "fn": "EnumerableMap._at", + "offset": [ + 5184, + 5189 + ], + "op": "DUP1", + "path": "10", + "statement": 61 + }, + "4553": { + "fn": "EnumerableMap._at", + "offset": [ + 5184, + 5194 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4555": { + "fn": "EnumerableMap._at", + "offset": [ + 5184, + 5194 + ], + "op": "ADD", + "path": "10" + }, + "4556": { + "fn": "EnumerableMap._at", + "offset": [ + 5184, + 5194 + ], + "op": "SLOAD", + "path": "10" + }, + "4557": { + "fn": "EnumerableMap._at", + "offset": [ + 5196, + 5201 + ], + "op": "DUP2", + "path": "10" + }, + "4558": { + "fn": "EnumerableMap._at", + "offset": [ + 5196, + 5208 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "4560": { + "fn": "EnumerableMap._at", + "offset": [ + 5196, + 5208 + ], + "op": "ADD", + "path": "10" + }, + "4561": { + "fn": "EnumerableMap._at", + "offset": [ + 5196, + 5208 + ], + "op": "SLOAD", + "path": "10" + }, + "4562": { + "fn": "EnumerableMap._at", + "offset": [ + 5176, + 5209 + ], + "op": "SWAP3", + "path": "10" + }, + "4563": { + "fn": "EnumerableMap._at", + "offset": [ + 5176, + 5209 + ], + "op": "POP", + "path": "10" + }, + "4564": { + "fn": "EnumerableMap._at", + "offset": [ + 5176, + 5209 + ], + "op": "SWAP3", + "path": "10" + }, + "4565": { + "fn": "EnumerableMap._at", + "offset": [ + 5176, + 5209 + ], + "op": "POP", + "path": "10" + }, + "4566": { + "fn": "EnumerableMap._at", + "offset": [ + 5176, + 5209 + ], + "op": "POP", + "path": "10" + }, + "4567": { + "fn": "EnumerableMap._at", + "offset": [ + 4942, + 5216 + ], + "op": "SWAP3", + "path": "10" + }, + "4568": { + "fn": "EnumerableMap._at", + "offset": [ + 4942, + 5216 + ], + "op": "POP", + "path": "10" + }, + "4569": { + "fn": "EnumerableMap._at", + "offset": [ + 4942, + 5216 + ], + "op": "SWAP3", + "path": "10" + }, + "4570": { + "fn": "EnumerableMap._at", + "offset": [ + 4942, + 5216 + ], + "op": "SWAP1", + "path": "10" + }, + "4571": { + "fn": "EnumerableMap._at", + "offset": [ + 4942, + 5216 + ], + "op": "POP", + "path": "10" + }, + "4572": { + "fn": "EnumerableMap._at", + "jump": "o", + "offset": [ + 4942, + 5216 + ], + "op": "JUMP", + "path": "10" + }, + "4573": { + "fn": "EnumerableMap._get", + "offset": [ + 6403, + 6718 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4574": { + "fn": "EnumerableMap._get", + "offset": [ + 6497, + 6504 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4576": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "DUP3", + "path": "10" + }, + "4577": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "DUP2", + "path": "10" + }, + "4578": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "MSTORE", + "path": "10" + }, + "4579": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6547 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "4581": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6547 + ], + "op": "DUP5", + "path": "10" + }, + "4582": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6547 + ], + "op": "ADD", + "path": "10" + }, + "4583": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "4585": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "MSTORE", + "path": "10" + }, + "4586": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "4588": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "DUP2", + "path": "10" + }, + "4589": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "KECCAK256", + "path": "10" + }, + "4590": { + "fn": "EnumerableMap._get", + "offset": [ + 6535, + 6552 + ], + "op": "SLOAD", + "path": "10" + }, + "4591": { + "fn": "EnumerableMap._get", + "offset": [ + 6585, + 6597 + ], + "op": "DUP3", + "path": "10", + "statement": 62 + }, + "4592": { + "branch": 108, + "fn": "EnumerableMap._get", + "offset": [ + 6570, + 6583 + ], + "op": "DUP2", + "path": "10" + }, + "4593": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH2", + "path": "10", + "value": "0x1278" + }, + "4596": { + "branch": 108, + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "JUMPI", + "path": "10" + }, + "4597": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "4599": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MLOAD", + "path": "10" + }, + "4600": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4604": { + "op": "PUSH1", + "value": "0xE5" + }, + "4606": { + "op": "SHL" + }, + "4607": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP2", + "path": "10" + }, + "4608": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MSTORE", + "path": "10" + }, + "4609": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x4" + }, + "4611": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "ADD", + "path": "10" + }, + "4612": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "4613": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "4614": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "4616": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "ADD", + "path": "10" + }, + "4617": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP3", + "path": "10" + }, + "4618": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP2", + "path": "10" + }, + "4619": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SUB", + "path": "10" + }, + "4620": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP3", + "path": "10" + }, + "4621": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MSTORE", + "path": "10" + }, + "4622": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP4", + "path": "10" + }, + "4623": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP2", + "path": "10" + }, + "4624": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP2", + "path": "10" + }, + "4625": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MLOAD", + "path": "10" + }, + "4626": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP2", + "path": "10" + }, + "4627": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MSTORE", + "path": "10" + }, + "4628": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "4630": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "ADD", + "path": "10" + }, + "4631": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP2", + "path": "10" + }, + "4632": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "4633": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "4634": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MLOAD", + "path": "10" + }, + "4635": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP1", + "path": "10" + }, + "4636": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "4638": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "ADD", + "path": "10" + }, + "4639": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP1", + "path": "10" + }, + "4640": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "4641": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP4", + "path": "10" + }, + "4642": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP4", + "path": "10" + }, + "4643": { + "op": "PUSH1", + "value": "0x0" + }, + "4645": { + "op": "JUMPDEST" + }, + "4646": { + "op": "DUP4" + }, + "4647": { + "op": "DUP2" + }, + "4648": { + "op": "LT" + }, + "4649": { + "op": "ISZERO" + }, + "4650": { + "op": "PUSH2", + "value": "0x123D" + }, + "4653": { + "op": "JUMPI" + }, + "4654": { + "op": "DUP2" + }, + "4655": { + "op": "DUP2" + }, + "4656": { + "op": "ADD" + }, + "4657": { + "op": "MLOAD" + }, + "4658": { + "op": "DUP4" + }, + "4659": { + "op": "DUP3" + }, + "4660": { + "op": "ADD" + }, + "4661": { + "op": "MSTORE" + }, + "4662": { + "op": "PUSH1", + "value": "0x20" + }, + "4664": { + "op": "ADD" + }, + "4665": { + "op": "PUSH2", + "value": "0x1225" + }, + "4668": { + "op": "JUMP" + }, + "4669": { + "op": "JUMPDEST" + }, + "4670": { + "op": "POP" + }, + "4671": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "4672": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "4673": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "4674": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP1", + "path": "10" + }, + "4675": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "4676": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP1", + "path": "10" + }, + "4677": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP2", + "path": "10" + }, + "4678": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "ADD", + "path": "10" + }, + "4679": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP1", + "path": "10" + }, + "4680": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1F" + }, + "4682": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "AND", + "path": "10" + }, + "4683": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "4684": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "ISZERO", + "path": "10" + }, + "4685": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH2", + "path": "10", + "value": "0x126A" + }, + "4688": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "JUMPI", + "path": "10" + }, + "4689": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "4690": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP3", + "path": "10" + }, + "4691": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SUB", + "path": "10" + }, + "4692": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "4693": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MLOAD", + "path": "10" + }, + "4694": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "4696": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP4", + "path": "10" + }, + "4697": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "4699": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SUB", + "path": "10" + }, + "4700": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH2", + "path": "10", + "value": "0x100" + }, + "4703": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "EXP", + "path": "10" + }, + "4704": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SUB", + "path": "10" + }, + "4705": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "NOT", + "path": "10" + }, + "4706": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "AND", + "path": "10" + }, + "4707": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP2", + "path": "10" + }, + "4708": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MSTORE", + "path": "10" + }, + "4709": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "4711": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "ADD", + "path": "10" + }, + "4712": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP2", + "path": "10" + }, + "4713": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "4714": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4715": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "4716": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP3", + "path": "10" + }, + "4717": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "4718": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "4719": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "4720": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "4722": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "MLOAD", + "path": "10" + }, + "4723": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "DUP1", + "path": "10" + }, + "4724": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP2", + "path": "10" + }, + "4725": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SUB", + "path": "10" + }, + "4726": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "SWAP1", + "path": "10" + }, + "4727": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "REVERT", + "path": "10" + }, + "4728": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4729": { + "fn": "EnumerableMap._get", + "offset": [ + 6562, + 6598 + ], + "op": "POP", + "path": "10" + }, + "4730": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6654 + ], + "op": "DUP5", + "path": "10", + "statement": 63 + }, + "4731": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6663 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4733": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6663 + ], + "op": "ADD", + "path": "10" + }, + "4734": { + "fn": "EnumerableMap._get", + "offset": [ + 6675, + 6676 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "4736": { + "fn": "EnumerableMap._get", + "offset": [ + 6664, + 6672 + ], + "op": "DUP3", + "path": "10" + }, + "4737": { + "fn": "EnumerableMap._get", + "offset": [ + 6664, + 6676 + ], + "op": "SUB", + "path": "10" + }, + "4738": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "DUP2", + "path": "10" + }, + "4739": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "SLOAD", + "path": "10" + }, + "4740": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "DUP2", + "path": "10" + }, + "4741": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "LT", + "path": "10" + }, + "4742": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "PUSH2", + "path": "10", + "value": "0x128B" + }, + "4745": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "JUMPI", + "path": "10" + }, + "4746": { + "dev": "Index out of range", + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "INVALID", + "path": "10" + }, + "4747": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "JUMPDEST", + "path": "10" + }, + "4748": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "SWAP1", + "path": "10" + }, + "4749": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4751": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "MSTORE", + "path": "10" + }, + "4752": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "4754": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "4756": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "KECCAK256", + "path": "10" + }, + "4757": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "SWAP1", + "path": "10" + }, + "4758": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "PUSH1", + "path": "10", + "value": "0x2" + }, + "4760": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "MUL", + "path": "10" + }, + "4761": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6677 + ], + "op": "ADD", + "path": "10" + }, + "4762": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6684 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "4764": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6684 + ], + "op": "ADD", + "path": "10" + }, + "4765": { + "fn": "EnumerableMap._get", + "offset": [ + 6651, + 6684 + ], + "op": "SLOAD", + "path": "10" + }, + "4766": { + "fn": "EnumerableMap._get", + "offset": [ + 6644, + 6684 + ], + "op": "SWAP2", + "path": "10" + }, + "4767": { + "fn": "EnumerableMap._get", + "offset": [ + 6644, + 6684 + ], + "op": "POP", + "path": "10" + }, + "4768": { + "fn": "EnumerableMap._get", + "offset": [ + 6644, + 6684 + ], + "op": "POP", + "path": "10" + }, + "4769": { + "fn": "EnumerableMap._get", + "offset": [ + 6403, + 6718 + ], + "op": "SWAP4", + "path": "10" + }, + "4770": { + "fn": "EnumerableMap._get", + "offset": [ + 6403, + 6718 + ], + "op": "SWAP3", + "path": "10" + }, + "4771": { + "fn": "EnumerableMap._get", + "offset": [ + 6403, + 6718 + ], + "op": "POP", + "path": "10" + }, + "4772": { + "fn": "EnumerableMap._get", + "offset": [ + 6403, + 6718 + ], + "op": "POP", + "path": "10" + }, + "4773": { + "fn": "EnumerableMap._get", + "offset": [ + 6403, + 6718 + ], + "op": "POP", + "path": "10" + }, + "4774": { + "fn": "EnumerableMap._get", + "jump": "o", + "offset": [ + 6403, + 6718 + ], + "op": "JUMP", + "path": "10" + }, + "4775": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15524, + 16113 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4776": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15644, + 15648 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "4778": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15669, + 15684 + ], + "op": "PUSH2", + "path": "3", + "value": "0x12BB" + }, + "4781": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15669, + 15671 + ], + "op": "DUP5", + "path": "3" + }, + "4782": { + "op": "PUSH1", + "value": "0x1" + }, + "4784": { + "op": "PUSH1", + "value": "0x1" + }, + "4786": { + "op": "PUSH1", + "value": "0xA0" + }, + "4788": { + "op": "SHL" + }, + "4789": { + "op": "SUB" + }, + "4790": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15669, + 15682 + ], + "op": "AND", + "path": "3" + }, + "4791": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15669, + 15682 + ], + "op": "PUSH2", + "path": "3", + "value": "0x15E6" + }, + "4794": { + "fn": "ERC721._checkOnERC721Received", + "jump": "i", + "offset": [ + 15669, + 15684 + ], + "op": "JUMP", + "path": "3" + }, + "4795": { + "branch": 103, + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15669, + 15684 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4796": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15664, + 15722 + ], + "op": "PUSH2", + "path": "3", + "value": "0x12C7" + }, + "4799": { + "branch": 103, + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15664, + 15722 + ], + "op": "JUMPI", + "path": "3" + }, + "4800": { + "op": "POP" + }, + "4801": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15707, + 15711 + ], + "op": "PUSH1", + "path": "3", + "statement": 64, + "value": "0x1" + }, + "4803": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15700, + 15711 + ], + "op": "PUSH2", + "path": "3", + "value": "0xDEE" + }, + "4806": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15700, + 15711 + ], + "op": "JUMP", + "path": "3" + }, + "4807": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15664, + 15722 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4808": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15731, + 15754 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "4810": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH2", + "path": "3", + "value": "0x13ED" + }, + "4813": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "4818": { + "op": "PUSH1", + "value": "0xE1" + }, + "4820": { + "op": "SHL" + }, + "4821": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15868, + 15880 + ], + "op": "PUSH2", + "path": "3", + "value": "0x12DC" + }, + "4824": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15868, + 15878 + ], + "op": "PUSH2", + "path": "3", + "value": "0xCD5" + }, + "4827": { + "fn": "ERC721._checkOnERC721Received", + "jump": "i", + "offset": [ + 15868, + 15880 + ], + "op": "JUMP", + "path": "3" + }, + "4828": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15868, + 15880 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4829": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15894, + 15898 + ], + "op": "DUP9", + "path": "3" + }, + "4830": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15912, + 15919 + ], + "op": "DUP8", + "path": "3" + }, + "4831": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15933, + 15938 + ], + "op": "DUP8", + "path": "3" + }, + "4832": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "4834": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MLOAD", + "path": "3" + }, + "4835": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x24" + }, + "4837": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "4838": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP1", + "path": "3" + }, + "4839": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP6", + "path": "3" + }, + "4840": { + "op": "PUSH1", + "value": "0x1" + }, + "4842": { + "op": "PUSH1", + "value": "0x1" + }, + "4844": { + "op": "PUSH1", + "value": "0xA0" + }, + "4846": { + "op": "SHL" + }, + "4847": { + "op": "SUB" + }, + "4848": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "AND", + "path": "3" + }, + "4849": { + "op": "PUSH1", + "value": "0x1" + }, + "4851": { + "op": "PUSH1", + "value": "0x1" + }, + "4853": { + "op": "PUSH1", + "value": "0xA0" + }, + "4855": { + "op": "SHL" + }, + "4856": { + "op": "SUB" + }, + "4857": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "AND", + "path": "3" + }, + "4858": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "4859": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MSTORE", + "path": "3" + }, + "4860": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4862": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "4863": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP5", + "path": "3" + }, + "4864": { + "op": "PUSH1", + "value": "0x1" + }, + "4866": { + "op": "PUSH1", + "value": "0x1" + }, + "4868": { + "op": "PUSH1", + "value": "0xA0" + }, + "4870": { + "op": "SHL" + }, + "4871": { + "op": "SUB" + }, + "4872": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "AND", + "path": "3" + }, + "4873": { + "op": "PUSH1", + "value": "0x1" + }, + "4875": { + "op": "PUSH1", + "value": "0x1" + }, + "4877": { + "op": "PUSH1", + "value": "0xA0" + }, + "4879": { + "op": "SHL" + }, + "4880": { + "op": "SUB" + }, + "4881": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "AND", + "path": "3" + }, + "4882": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "4883": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MSTORE", + "path": "3" + }, + "4884": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4886": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "4887": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP4", + "path": "3" + }, + "4888": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "4889": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MSTORE", + "path": "3" + }, + "4890": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4892": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "4893": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP1", + "path": "3" + }, + "4894": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4896": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "4897": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP3", + "path": "3" + }, + "4898": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "4899": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SUB", + "path": "3" + }, + "4900": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP3", + "path": "3" + }, + "4901": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MSTORE", + "path": "3" + }, + "4902": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP4", + "path": "3" + }, + "4903": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "4904": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "4905": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MLOAD", + "path": "3" + }, + "4906": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "4907": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MSTORE", + "path": "3" + }, + "4908": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4910": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "4911": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP2", + "path": "3" + }, + "4912": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "4913": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP1", + "path": "3" + }, + "4914": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MLOAD", + "path": "3" + }, + "4915": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP1", + "path": "3" + }, + "4916": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4918": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "4919": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP1", + "path": "3" + }, + "4920": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP1", + "path": "3" + }, + "4921": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP4", + "path": "3" + }, + "4922": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP4", + "path": "3" + }, + "4923": { + "op": "PUSH1", + "value": "0x0" + }, + "4925": { + "op": "JUMPDEST" + }, + "4926": { + "op": "DUP4" + }, + "4927": { + "op": "DUP2" + }, + "4928": { + "op": "LT" + }, + "4929": { + "op": "ISZERO" + }, + "4930": { + "op": "PUSH2", + "value": "0x1355" + }, + "4933": { + "op": "JUMPI" + }, + "4934": { + "op": "DUP2" + }, + "4935": { + "op": "DUP2" + }, + "4936": { + "op": "ADD" + }, + "4937": { + "op": "MLOAD" + }, + "4938": { + "op": "DUP4" + }, + "4939": { + "op": "DUP3" + }, + "4940": { + "op": "ADD" + }, + "4941": { + "op": "MSTORE" + }, + "4942": { + "op": "PUSH1", + "value": "0x20" + }, + "4944": { + "op": "ADD" + }, + "4945": { + "op": "PUSH2", + "value": "0x133D" + }, + "4948": { + "op": "JUMP" + }, + "4949": { + "op": "JUMPDEST" + }, + "4950": { + "op": "POP" + }, + "4951": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "4952": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "4953": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "4954": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP1", + "path": "3" + }, + "4955": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "4956": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP1", + "path": "3" + }, + "4957": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "4958": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "4959": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP1", + "path": "3" + }, + "4960": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1F" + }, + "4962": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "AND", + "path": "3" + }, + "4963": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP1", + "path": "3" + }, + "4964": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ISZERO", + "path": "3" + }, + "4965": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH2", + "path": "3", + "value": "0x1382" + }, + "4968": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "JUMPI", + "path": "3" + }, + "4969": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP1", + "path": "3" + }, + "4970": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP3", + "path": "3" + }, + "4971": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SUB", + "path": "3" + }, + "4972": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP1", + "path": "3" + }, + "4973": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MLOAD", + "path": "3" + }, + "4974": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x1" + }, + "4976": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP4", + "path": "3" + }, + "4977": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4979": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SUB", + "path": "3" + }, + "4980": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH2", + "path": "3", + "value": "0x100" + }, + "4983": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "EXP", + "path": "3" + }, + "4984": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SUB", + "path": "3" + }, + "4985": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "NOT", + "path": "3" + }, + "4986": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "AND", + "path": "3" + }, + "4987": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "DUP2", + "path": "3" + }, + "4988": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MSTORE", + "path": "3" + }, + "4989": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "4991": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "ADD", + "path": "3" + }, + "4992": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP2", + "path": "3" + }, + "4993": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "4994": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "JUMPDEST", + "path": "3" + }, + "4995": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "4996": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP6", + "path": "3" + }, + "4997": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "4998": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "4999": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5000": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5001": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5002": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5003": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "5005": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MLOAD", + "path": "3" + }, + "5006": { + "op": "PUSH1", + "value": "0x20" + }, + "5008": { + "op": "DUP2" + }, + "5009": { + "op": "DUP4" + }, + "5010": { + "op": "SUB" + }, + "5011": { + "op": "SUB" + }, + "5012": { + "op": "DUP2" + }, + "5013": { + "op": "MSTORE" + }, + "5014": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP1", + "path": "3" + }, + "5015": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "5017": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "MSTORE", + "path": "3" + }, + "5018": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "SWAP1", + "path": "3" + }, + "5019": { + "op": "PUSH1", + "value": "0x1" + }, + "5021": { + "op": "PUSH1", + "value": "0x1" + }, + "5023": { + "op": "PUSH1", + "value": "0xE0" + }, + "5025": { + "op": "SHL" + }, + "5026": { + "op": "SUB" + }, + "5027": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "NOT", + "path": "3" + }, + "5028": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "AND", + "path": "3" + }, + "5029": { + "op": "PUSH1", + "value": "0x20" + }, + "5031": { + "op": "DUP3" + }, + "5032": { + "op": "ADD" + }, + "5033": { + "op": "DUP1" + }, + "5034": { + "op": "MLOAD" + }, + "5035": { + "op": "PUSH1", + "value": "0x1" + }, + "5037": { + "op": "PUSH1", + "value": "0x1" + }, + "5039": { + "op": "PUSH1", + "value": "0xE0" + }, + "5041": { + "op": "SHL" + }, + "5042": { + "op": "SUB" + }, + "5043": { + "op": "DUP4" + }, + "5044": { + "op": "DUP2" + }, + "5045": { + "op": "DUP4" + }, + "5046": { + "op": "AND" + }, + "5047": { + "op": "OR" + }, + "5048": { + "op": "DUP4" + }, + "5049": { + "op": "MSTORE" + }, + "5050": { + "op": "POP" + }, + "5051": { + "op": "POP" + }, + "5052": { + "op": "POP" + }, + "5053": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15773, + 15948 + ], + "op": "POP", + "path": "3" + }, + "5054": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "5056": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "MLOAD", + "path": "3" + }, + "5057": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "DUP1", + "path": "3" + }, + "5058": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH1", + "path": "3", + "value": "0x60" + }, + "5060": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "ADD", + "path": "3" + }, + "5061": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH1", + "path": "3", + "value": "0x40" + }, + "5063": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "MSTORE", + "path": "3" + }, + "5064": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "DUP1", + "path": "3" + }, + "5065": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH1", + "path": "3", + "value": "0x32" + }, + "5067": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "DUP2", + "path": "3" + }, + "5068": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "MSTORE", + "path": "3" + }, + "5069": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "5071": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "ADD", + "path": "3" + }, + "5072": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH2", + "path": "3", + "value": "0x179B" + }, + "5075": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH1", + "path": "3", + "value": "0x32" + }, + "5077": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "SWAP2", + "path": "3" + }, + "5078": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "CODECOPY", + "path": "3" + }, + "5079": { + "op": "PUSH1", + "value": "0x1" + }, + "5081": { + "op": "PUSH1", + "value": "0x1" + }, + "5083": { + "op": "PUSH1", + "value": "0xA0" + }, + "5085": { + "op": "SHL" + }, + "5086": { + "op": "SUB" + }, + "5087": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 15772 + ], + "op": "DUP9", + "path": "3" + }, + "5088": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 15772 + ], + "op": "AND", + "path": "3" + }, + "5089": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 15772 + ], + "op": "SWAP2", + "path": "3" + }, + "5090": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "SWAP1", + "path": "3" + }, + "5091": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "PUSH4", + "path": "3", + "value": "0xFFFFFFFF" + }, + "5096": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 15772 + ], + "op": "PUSH2", + "path": "3", + "value": "0x15EC" + }, + "5099": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "AND", + "path": "3" + }, + "5100": { + "fn": "ERC721._checkOnERC721Received", + "jump": "i", + "offset": [ + 15757, + 16003 + ], + "op": "JUMP", + "path": "3" + }, + "5101": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15757, + 16003 + ], + "op": "JUMPDEST", + "path": "3" + }, + "5102": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15731, + 16003 + ], + "op": "SWAP1", + "path": "3" + }, + "5103": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15731, + 16003 + ], + "op": "POP", + "path": "3" + }, + "5104": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16013, + 16026 + ], + "op": "PUSH1", + "path": "3", + "value": "0x0" + }, + "5106": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16040, + 16050 + ], + "op": "DUP2", + "path": "3" + }, + "5107": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16029, + 16061 + ], + "op": "DUP1", + "path": "3" + }, + "5108": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16029, + 16061 + ], + "op": "PUSH1", + "path": "3", + "value": "0x20" + }, + "5110": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16029, + 16061 + ], + "op": "ADD", + "path": "3" + }, + "5111": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16029, + 16061 + ], + "op": "SWAP1", + "path": "3" + }, + "5112": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16029, + 16061 + ], + "op": "MLOAD", + "path": "3" + }, + "5113": { + "op": "PUSH1", + "value": "0x20" + }, + "5115": { + "op": "DUP2" + }, + "5116": { + "op": "LT" + }, + "5117": { + "op": "ISZERO" + }, + "5118": { + "op": "PUSH2", + "value": "0x1406" + }, + "5121": { + "op": "JUMPI" + }, + "5122": { + "op": "PUSH1", + "value": "0x0" + }, + "5124": { + "op": "DUP1" + }, + "5125": { + "op": "REVERT" + }, + "5126": { + "op": "JUMPDEST" + }, + "5127": { + "op": "POP" + }, + "5128": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16029, + 16061 + ], + "op": "MLOAD", + "path": "3" + }, + "5129": { + "op": "PUSH1", + "value": "0x1" + }, + "5131": { + "op": "PUSH1", + "value": "0x1" + }, + "5133": { + "op": "PUSH1", + "value": "0xE0" + }, + "5135": { + "op": "SHL" + }, + "5136": { + "op": "SUB" + }, + "5137": { + "op": "NOT" + }, + "5138": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16079, + 16105 + ], + "op": "AND", + "path": "3", + "statement": 65 + }, + "5139": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "5144": { + "op": "PUSH1", + "value": "0xE1" + }, + "5146": { + "op": "SHL" + }, + "5147": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16079, + 16105 + ], + "op": "EQ", + "path": "3" + }, + "5148": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 16079, + 16105 + ], + "op": "SWAP3", + "path": "3" + }, + "5149": { + "op": "POP" + }, + "5150": { + "op": "POP" + }, + "5151": { + "op": "POP" + }, + "5152": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15524, + 16113 + ], + "op": "SWAP5", + "path": "3" + }, + "5153": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15524, + 16113 + ], + "op": "SWAP4", + "path": "3" + }, + "5154": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15524, + 16113 + ], + "op": "POP", + "path": "3" + }, + "5155": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15524, + 16113 + ], + "op": "POP", + "path": "3" + }, + "5156": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15524, + 16113 + ], + "op": "POP", + "path": "3" + }, + "5157": { + "fn": "ERC721._checkOnERC721Received", + "offset": [ + 15524, + 16113 + ], + "op": "POP", + "path": "3" + }, + "5158": { + "fn": "ERC721._checkOnERC721Received", + "jump": "o", + "offset": [ + 15524, + 16113 + ], + "op": "JUMP", + "path": "3" + }, + "5159": { + "fn": "EnumerableMap._contains", + "offset": [ + 4278, + 4401 + ], + "op": "JUMPDEST", + "path": "10" + }, + "5160": { + "fn": "EnumerableMap._contains", + "offset": [ + 4349, + 4353 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "5162": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "SWAP1", + "path": "10", + "statement": 66 + }, + "5163": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "DUP2", + "path": "10" + }, + "5164": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "MSTORE", + "path": "10" + }, + "5165": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4384 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "5167": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4384 + ], + "op": "SWAP2", + "path": "10" + }, + "5168": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4384 + ], + "op": "SWAP1", + "path": "10" + }, + "5169": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4384 + ], + "op": "SWAP2", + "path": "10" + }, + "5170": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4384 + ], + "op": "ADD", + "path": "10" + }, + "5171": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "5173": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "MSTORE", + "path": "10" + }, + "5174": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "5176": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "SWAP1", + "path": "10" + }, + "5177": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "KECCAK256", + "path": "10" + }, + "5178": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4389 + ], + "op": "SLOAD", + "path": "10" + }, + "5179": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4394 + ], + "op": "ISZERO", + "path": "10" + }, + "5180": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4394 + ], + "op": "ISZERO", + "path": "10" + }, + "5181": { + "fn": "EnumerableMap._contains", + "offset": [ + 4372, + 4394 + ], + "op": "SWAP1", + "path": "10" + }, + "5182": { + "fn": "EnumerableMap._contains", + "jump": "o", + "offset": [ + 4278, + 4401 + ], + "op": "JUMP", + "path": "10" + }, + "5183": { + "fn": "EnumerableSet._remove", + "offset": [ + 2212, + 3724 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5184": { + "fn": "EnumerableSet._remove", + "offset": [ + 2278, + 2282 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5186": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "DUP2", + "path": "11" + }, + "5187": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "DUP2", + "path": "11" + }, + "5188": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "MSTORE", + "path": "11" + }, + "5189": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2427 + ], + "op": "PUSH1", + "path": "11", + "value": "0x1" + }, + "5191": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2427 + ], + "op": "DUP4", + "path": "11" + }, + "5192": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2427 + ], + "op": "ADD", + "path": "11" + }, + "5193": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "5195": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "MSTORE", + "path": "11" + }, + "5196": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "5198": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "DUP2", + "path": "11" + }, + "5199": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "KECCAK256", + "path": "11" + }, + "5200": { + "fn": "EnumerableSet._remove", + "offset": [ + 2415, + 2434 + ], + "op": "SLOAD", + "path": "11" + }, + "5201": { + "fn": "EnumerableSet._remove", + "offset": [ + 2449, + 2464 + ], + "op": "DUP1", + "path": "11" + }, + "5202": { + "branch": 111, + "fn": "EnumerableSet._remove", + "offset": [ + 2449, + 2464 + ], + "op": "ISZERO", + "path": "11" + }, + "5203": { + "fn": "EnumerableSet._remove", + "offset": [ + 2445, + 3718 + ], + "op": "PUSH2", + "path": "11", + "value": "0x14FB" + }, + "5206": { + "branch": 111, + "fn": "EnumerableSet._remove", + "offset": [ + 2445, + 3718 + ], + "op": "JUMPI", + "path": "11" + }, + "5207": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2896 + ], + "op": "DUP4", + "path": "11" + }, + "5208": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2896 + ], + "op": "SLOAD", + "path": "11" + }, + "5209": { + "op": "PUSH1", + "value": "0x0" + }, + "5211": { + "op": "NOT" + }, + "5212": { + "fn": "EnumerableSet._remove", + "offset": [ + 2830, + 2844 + ], + "op": "DUP1", + "path": "11" + }, + "5213": { + "fn": "EnumerableSet._remove", + "offset": [ + 2830, + 2844 + ], + "op": "DUP4", + "path": "11" + }, + "5214": { + "fn": "EnumerableSet._remove", + "offset": [ + 2830, + 2844 + ], + "op": "ADD", + "path": "11" + }, + "5215": { + "fn": "EnumerableSet._remove", + "offset": [ + 2830, + 2844 + ], + "op": "SWAP2", + "path": "11" + }, + "5216": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2900 + ], + "op": "SWAP1", + "path": "11" + }, + "5217": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2900 + ], + "op": "DUP2", + "path": "11" + }, + "5218": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2900 + ], + "op": "ADD", + "path": "11" + }, + "5219": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2900 + ], + "op": "SWAP1", + "path": "11" + }, + "5220": { + "fn": "EnumerableSet._remove", + "offset": [ + 2806, + 2827 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5222": { + "fn": "EnumerableSet._remove", + "offset": [ + 2806, + 2827 + ], + "op": "SWAP1", + "path": "11" + }, + "5223": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2881 + ], + "op": "DUP8", + "path": "11" + }, + "5224": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2881 + ], + "op": "SWAP1", + "path": "11" + }, + "5225": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2900 + ], + "op": "DUP4", + "path": "11" + }, + "5226": { + "fn": "EnumerableSet._remove", + "offset": [ + 2878, + 2900 + ], + "op": "SWAP1", + "path": "11" + }, + "5227": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "DUP2", + "path": "11" + }, + "5228": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "LT", + "path": "11" + }, + "5229": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "PUSH2", + "path": "11", + "value": "0x1472" + }, + "5232": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "JUMPI", + "path": "11" + }, + "5233": { + "dev": "Index out of range", + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "INVALID", + "path": "11" + }, + "5234": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5235": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "SWAP1", + "path": "11" + }, + "5236": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5238": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "MSTORE", + "path": "11" + }, + "5239": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "5241": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5243": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "KECCAK256", + "path": "11" + }, + "5244": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "ADD", + "path": "11" + }, + "5245": { + "fn": "EnumerableSet._remove", + "offset": [ + 3160, + 3182 + ], + "op": "SLOAD", + "path": "11" + }, + "5246": { + "fn": "EnumerableSet._remove", + "offset": [ + 3140, + 3182 + ], + "op": "SWAP1", + "path": "11" + }, + "5247": { + "fn": "EnumerableSet._remove", + "offset": [ + 3140, + 3182 + ], + "op": "POP", + "path": "11" + }, + "5248": { + "fn": "EnumerableSet._remove", + "offset": [ + 3303, + 3312 + ], + "op": "DUP1", + "path": "11", + "statement": 67 + }, + "5249": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3277 + ], + "op": "DUP8", + "path": "11" + }, + "5250": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3285 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5252": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3285 + ], + "op": "ADD", + "path": "11" + }, + "5253": { + "fn": "EnumerableSet._remove", + "offset": [ + 3286, + 3299 + ], + "op": "DUP5", + "path": "11" + }, + "5254": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "DUP2", + "path": "11" + }, + "5255": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "SLOAD", + "path": "11" + }, + "5256": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "DUP2", + "path": "11" + }, + "5257": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "LT", + "path": "11" + }, + "5258": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "PUSH2", + "path": "11", + "value": "0x148F" + }, + "5261": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "JUMPI", + "path": "11" + }, + "5262": { + "dev": "Index out of range", + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "INVALID", + "path": "11" + }, + "5263": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5264": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5266": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "SWAP2", + "path": "11" + }, + "5267": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "DUP3", + "path": "11" + }, + "5268": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "MSTORE", + "path": "11" + }, + "5269": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "5271": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "DUP1", + "path": "11" + }, + "5272": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "DUP4", + "path": "11" + }, + "5273": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "KECCAK256", + "path": "11" + }, + "5274": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "SWAP1", + "path": "11" + }, + "5275": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "SWAP2", + "path": "11" + }, + "5276": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3300 + ], + "op": "ADD", + "path": "11" + }, + "5277": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3312 + ], + "op": "SWAP3", + "path": "11" + }, + "5278": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3312 + ], + "op": "SWAP1", + "path": "11" + }, + "5279": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3312 + ], + "op": "SWAP3", + "path": "11" + }, + "5280": { + "fn": "EnumerableSet._remove", + "offset": [ + 3274, + 3312 + ], + "op": "SSTORE", + "path": "11" + }, + "5281": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "DUP3", + "path": "11", + "statement": 68 + }, + "5282": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "DUP2", + "path": "11" + }, + "5283": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "MSTORE", + "path": "11" + }, + "5284": { + "fn": "EnumerableSet._remove", + "offset": [ + 3420, + 3421 + ], + "op": "PUSH1", + "path": "11", + "value": "0x1" + }, + "5286": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3390 + ], + "op": "DUP10", + "path": "11" + }, + "5287": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3390 + ], + "op": "DUP2", + "path": "11" + }, + "5288": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3390 + ], + "op": "ADD", + "path": "11" + }, + "5289": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "SWAP1", + "path": "11" + }, + "5290": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "SWAP3", + "path": "11" + }, + "5291": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "MSTORE", + "path": "11" + }, + "5292": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "5294": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "SWAP1", + "path": "11" + }, + "5295": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3401 + ], + "op": "KECCAK256", + "path": "11" + }, + "5296": { + "fn": "EnumerableSet._remove", + "offset": [ + 3404, + 3421 + ], + "op": "SWAP1", + "path": "11" + }, + "5297": { + "fn": "EnumerableSet._remove", + "offset": [ + 3404, + 3421 + ], + "op": "DUP5", + "path": "11" + }, + "5298": { + "fn": "EnumerableSet._remove", + "offset": [ + 3404, + 3421 + ], + "op": "ADD", + "path": "11" + }, + "5299": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3421 + ], + "op": "SWAP1", + "path": "11" + }, + "5300": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3421 + ], + "op": "SSTORE", + "path": "11" + }, + "5301": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "DUP7", + "path": "11", + "statement": 69 + }, + "5302": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SLOAD", + "path": "11" + }, + "5303": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3381 + ], + "op": "DUP8", + "path": "11" + }, + "5304": { + "fn": "EnumerableSet._remove", + "offset": [ + 3378, + 3381 + ], + "op": "SWAP1", + "path": "11" + }, + "5305": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "DUP1", + "path": "11" + }, + "5306": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "PUSH2", + "path": "11", + "value": "0x14BF" + }, + "5309": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "JUMPI", + "path": "11" + }, + "5310": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "INVALID", + "path": "11" + }, + "5311": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5312": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "PUSH1", + "path": "11", + "value": "0x1" + }, + "5314": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SWAP1", + "path": "11" + }, + "5315": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SUB", + "path": "11" + }, + "5316": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "DUP2", + "path": "11" + }, + "5317": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "DUP2", + "path": "11" + }, + "5318": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SWAP1", + "path": "11" + }, + "5319": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5321": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "MSTORE", + "path": "11" + }, + "5322": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "5324": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5326": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "KECCAK256", + "path": "11" + }, + "5327": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "ADD", + "path": "11" + }, + "5328": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5330": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SWAP1", + "path": "11" + }, + "5331": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SSTORE", + "path": "11" + }, + "5332": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SWAP1", + "path": "11" + }, + "5333": { + "fn": "EnumerableSet._remove", + "offset": [ + 3527, + 3544 + ], + "op": "SSTORE", + "path": "11" + }, + "5334": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3622 + ], + "op": "DUP7", + "path": "11", + "statement": 70 + }, + "5335": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3631 + ], + "op": "PUSH1", + "path": "11", + "value": "0x1" + }, + "5337": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3631 + ], + "op": "ADD", + "path": "11" + }, + "5338": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5340": { + "fn": "EnumerableSet._remove", + "offset": [ + 3632, + 3637 + ], + "op": "DUP8", + "path": "11" + }, + "5341": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "DUP2", + "path": "11" + }, + "5342": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "MSTORE", + "path": "11" + }, + "5343": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "5345": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "ADD", + "path": "11" + }, + "5346": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "SWAP1", + "path": "11" + }, + "5347": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "DUP2", + "path": "11" + }, + "5348": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "MSTORE", + "path": "11" + }, + "5349": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "5351": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "ADD", + "path": "11" + }, + "5352": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5354": { + "fn": "EnumerableSet._remove", + "offset": [ + 3619, + 3638 + ], + "op": "KECCAK256", + "path": "11" + }, + "5355": { + "fn": "EnumerableSet._remove", + "offset": [ + 3612, + 3638 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5357": { + "fn": "EnumerableSet._remove", + "offset": [ + 3612, + 3638 + ], + "op": "SWAP1", + "path": "11" + }, + "5358": { + "fn": "EnumerableSet._remove", + "offset": [ + 3612, + 3638 + ], + "op": "SSTORE", + "path": "11" + }, + "5359": { + "fn": "EnumerableSet._remove", + "offset": [ + 3660, + 3664 + ], + "op": "PUSH1", + "path": "11", + "statement": 71, + "value": "0x1" + }, + "5361": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "SWAP5", + "path": "11" + }, + "5362": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "POP", + "path": "11" + }, + "5363": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "POP", + "path": "11" + }, + "5364": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "POP", + "path": "11" + }, + "5365": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "POP", + "path": "11" + }, + "5366": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "POP", + "path": "11" + }, + "5367": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "PUSH2", + "path": "11", + "value": "0x719" + }, + "5370": { + "fn": "EnumerableSet._remove", + "offset": [ + 3653, + 3664 + ], + "op": "JUMP", + "path": "11" + }, + "5371": { + "fn": "EnumerableSet._remove", + "offset": [ + 2445, + 3718 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5372": { + "fn": "EnumerableSet._remove", + "offset": [ + 3702, + 3707 + ], + "op": "PUSH1", + "path": "11", + "statement": 72, + "value": "0x0" + }, + "5374": { + "fn": "EnumerableSet._remove", + "offset": [ + 3695, + 3707 + ], + "op": "SWAP2", + "path": "11" + }, + "5375": { + "fn": "EnumerableSet._remove", + "offset": [ + 3695, + 3707 + ], + "op": "POP", + "path": "11" + }, + "5376": { + "fn": "EnumerableSet._remove", + "offset": [ + 3695, + 3707 + ], + "op": "POP", + "path": "11" + }, + "5377": { + "fn": "EnumerableSet._remove", + "offset": [ + 3695, + 3707 + ], + "op": "PUSH2", + "path": "11", + "value": "0x719" + }, + "5380": { + "fn": "EnumerableSet._remove", + "offset": [ + 3695, + 3707 + ], + "op": "JUMP", + "path": "11" + }, + "5381": { + "fn": "EnumerableSet._add", + "offset": [ + 1640, + 2044 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5382": { + "fn": "EnumerableSet._add", + "offset": [ + 1703, + 1707 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "5384": { + "fn": "EnumerableSet._add", + "offset": [ + 1724, + 1745 + ], + "op": "PUSH2", + "path": "11", + "value": "0x1511" + }, + "5387": { + "fn": "EnumerableSet._add", + "offset": [ + 1734, + 1737 + ], + "op": "DUP4", + "path": "11" + }, + "5388": { + "fn": "EnumerableSet._add", + "offset": [ + 1739, + 1744 + ], + "op": "DUP4", + "path": "11" + }, + "5389": { + "fn": "EnumerableSet._add", + "offset": [ + 1724, + 1733 + ], + "op": "PUSH2", + "path": "11", + "value": "0x1427" + }, + "5392": { + "fn": "EnumerableSet._add", + "jump": "i", + "offset": [ + 1724, + 1745 + ], + "op": "JUMP", + "path": "11" + }, + "5393": { + "branch": 112, + "fn": "EnumerableSet._add", + "offset": [ + 1724, + 1745 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5394": { + "fn": "EnumerableSet._add", + "offset": [ + 1719, + 2038 + ], + "op": "PUSH2", + "path": "11", + "value": "0x1547" + }, + "5397": { + "branch": 112, + "fn": "EnumerableSet._add", + "offset": [ + 1719, + 2038 + ], + "op": "JUMPI", + "path": "11" + }, + "5398": { + "op": "POP" + }, + "5399": { + "op": "DUP2" + }, + "5400": { + "op": "SLOAD" + }, + "5401": { + "op": "PUSH1", + "value": "0x1" + }, + "5403": { + "op": "DUP2" + }, + "5404": { + "op": "DUP2" + }, + "5405": { + "op": "ADD" + }, + "5406": { + "op": "DUP5" + }, + "5407": { + "op": "SSTORE" + }, + "5408": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1772 + ], + "op": "PUSH1", + "path": "11", + "statement": 73, + "value": "0x0" + }, + "5410": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "DUP5", + "path": "11" + }, + "5411": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "DUP2", + "path": "11" + }, + "5412": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "MSTORE", + "path": "11" + }, + "5413": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "PUSH1", + "path": "11", + "value": "0x20" + }, + "5415": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "DUP1", + "path": "11" + }, + "5416": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "DUP3", + "path": "11" + }, + "5417": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "KECCAK256", + "path": "11" + }, + "5418": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "SWAP1", + "path": "11" + }, + "5419": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "SWAP4", + "path": "11" + }, + "5420": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "ADD", + "path": "11" + }, + "5421": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "DUP5", + "path": "11" + }, + "5422": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "SWAP1", + "path": "11" + }, + "5423": { + "fn": "EnumerableSet._add", + "offset": [ + 1761, + 1784 + ], + "op": "SSTORE", + "path": "11" + }, + "5424": { + "fn": "EnumerableSet._add", + "offset": [ + 1941, + 1959 + ], + "op": "DUP5", + "path": "11", + "statement": 74 + }, + "5425": { + "fn": "EnumerableSet._add", + "offset": [ + 1941, + 1959 + ], + "op": "SLOAD", + "path": "11" + }, + "5426": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "DUP5", + "path": "11" + }, + "5427": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "DUP3", + "path": "11" + }, + "5428": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "MSTORE", + "path": "11" + }, + "5429": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1931 + ], + "op": "DUP3", + "path": "11" + }, + "5430": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1931 + ], + "op": "DUP7", + "path": "11" + }, + "5431": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1931 + ], + "op": "ADD", + "path": "11" + }, + "5432": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "SWAP1", + "path": "11" + }, + "5433": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "SWAP4", + "path": "11" + }, + "5434": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "MSTORE", + "path": "11" + }, + "5435": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "5437": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "SWAP1", + "path": "11" + }, + "5438": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1938 + ], + "op": "KECCAK256", + "path": "11" + }, + "5439": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1959 + ], + "op": "SWAP2", + "path": "11" + }, + "5440": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1959 + ], + "op": "SWAP1", + "path": "11" + }, + "5441": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1959 + ], + "op": "SWAP2", + "path": "11" + }, + "5442": { + "fn": "EnumerableSet._add", + "offset": [ + 1919, + 1959 + ], + "op": "SSTORE", + "path": "11" + }, + "5443": { + "fn": "EnumerableSet._add", + "offset": [ + 1973, + 1984 + ], + "op": "PUSH2", + "path": "11", + "statement": 75, + "value": "0x719" + }, + "5446": { + "fn": "EnumerableSet._add", + "offset": [ + 1973, + 1984 + ], + "op": "JUMP", + "path": "11" + }, + "5447": { + "fn": "EnumerableSet._add", + "offset": [ + 1719, + 2038 + ], + "op": "JUMPDEST", + "path": "11" + }, + "5448": { + "op": "POP" + }, + "5449": { + "fn": "EnumerableSet._add", + "offset": [ + 2022, + 2027 + ], + "op": "PUSH1", + "path": "11", + "statement": 76, + "value": "0x0" + }, + "5451": { + "fn": "EnumerableSet._add", + "offset": [ + 2015, + 2027 + ], + "op": "PUSH2", + "path": "11", + "value": "0x719" + }, + "5454": { + "fn": "EnumerableSet._add", + "offset": [ + 2015, + 2027 + ], + "op": "JUMP", + "path": "11" + }, + "5455": { + "fn": "EnumerableMap._set", + "offset": [ + 1836, + 2514 + ], + "op": "JUMPDEST", + "path": "10" + }, + "5456": { + "fn": "EnumerableMap._set", + "offset": [ + 1912, + 1916 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "5458": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "DUP3", + "path": "10" + }, + "5459": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "DUP2", + "path": "10" + }, + "5460": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "MSTORE", + "path": "10" + }, + "5461": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2057 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "5463": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2057 + ], + "op": "DUP5", + "path": "10" + }, + "5464": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2057 + ], + "op": "ADD", + "path": "10" + }, + "5465": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "5467": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "MSTORE", + "path": "10" + }, + "5468": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "5470": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "DUP2", + "path": "10" + }, + "5471": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "KECCAK256", + "path": "10" + }, + "5472": { + "fn": "EnumerableMap._set", + "offset": [ + 2045, + 2062 + ], + "op": "SLOAD", + "path": "10" + }, + "5473": { + "branch": 109, + "fn": "EnumerableMap._set", + "offset": [ + 2077, + 2090 + ], + "op": "DUP1", + "path": "10" + }, + "5474": { + "fn": "EnumerableMap._set", + "offset": [ + 2073, + 2508 + ], + "op": "PUSH2", + "path": "10", + "value": "0x15B4" + }, + "5477": { + "branch": 109, + "fn": "EnumerableMap._set", + "offset": [ + 2073, + 2508 + ], + "op": "JUMPI", + "path": "10" + }, + "5478": { + "op": "POP" + }, + "5479": { + "op": "POP" + }, + "5480": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "PUSH1", + "path": "10", + "statement": 77, + "value": "0x40" + }, + "5482": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP1", + "path": "10" + }, + "5483": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "MLOAD", + "path": "10" + }, + "5484": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP1", + "path": "10" + }, + "5485": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP3", + "path": "10" + }, + "5486": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "ADD", + "path": "10" + }, + "5487": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP3", + "path": "10" + }, + "5488": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "MSTORE", + "path": "10" + }, + "5489": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP4", + "path": "10" + }, + "5490": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP2", + "path": "10" + }, + "5491": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "MSTORE", + "path": "10" + }, + "5492": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "5494": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP1", + "path": "10" + }, + "5495": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP3", + "path": "10" + }, + "5496": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "ADD", + "path": "10" + }, + "5497": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP5", + "path": "10" + }, + "5498": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "DUP2", + "path": "10" + }, + "5499": { + "fn": "EnumerableMap._set", + "offset": [ + 2161, + 2199 + ], + "op": "MSTORE", + "path": "10" + }, + "5500": { + "op": "DUP7" + }, + "5501": { + "op": "SLOAD" + }, + "5502": { + "op": "PUSH1", + "value": "0x1" + }, + "5504": { + "op": "DUP2" + }, + "5505": { + "op": "DUP2" + }, + "5506": { + "op": "ADD" + }, + "5507": { + "op": "DUP10" + }, + "5508": { + "op": "SSTORE" + }, + "5509": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2155 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "5511": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "DUP10", + "path": "10" + }, + "5512": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "DUP2", + "path": "10" + }, + "5513": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "MSTORE", + "path": "10" + }, + "5514": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "DUP5", + "path": "10" + }, + "5515": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "DUP2", + "path": "10" + }, + "5516": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "KECCAK256", + "path": "10" + }, + "5517": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP6", + "path": "10" + }, + "5518": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "MLOAD", + "path": "10" + }, + "5519": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "PUSH1", + "path": "10", + "value": "0x2" + }, + "5521": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP1", + "path": "10" + }, + "5522": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP4", + "path": "10" + }, + "5523": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "MUL", + "path": "10" + }, + "5524": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP1", + "path": "10" + }, + "5525": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP6", + "path": "10" + }, + "5526": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "ADD", + "path": "10" + }, + "5527": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP2", + "path": "10" + }, + "5528": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "DUP3", + "path": "10" + }, + "5529": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SSTORE", + "path": "10" + }, + "5530": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP2", + "path": "10" + }, + "5531": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "MLOAD", + "path": "10" + }, + "5532": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SWAP1", + "path": "10" + }, + "5533": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "DUP3", + "path": "10" + }, + "5534": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "ADD", + "path": "10" + }, + "5535": { + "fn": "EnumerableMap._set", + "offset": [ + 2143, + 2200 + ], + "op": "SSTORE", + "path": "10" + }, + "5536": { + "fn": "EnumerableMap._set", + "offset": [ + 2355, + 2374 + ], + "op": "DUP7", + "path": "10", + "statement": 78 + }, + "5537": { + "fn": "EnumerableMap._set", + "offset": [ + 2355, + 2374 + ], + "op": "SLOAD", + "path": "10" + }, + "5538": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "DUP7", + "path": "10" + }, + "5539": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "DUP5", + "path": "10" + }, + "5540": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "MSTORE", + "path": "10" + }, + "5541": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2347 + ], + "op": "DUP2", + "path": "10" + }, + "5542": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2347 + ], + "op": "DUP9", + "path": "10" + }, + "5543": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2347 + ], + "op": "ADD", + "path": "10" + }, + "5544": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "SWAP1", + "path": "10" + }, + "5545": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "SWAP3", + "path": "10" + }, + "5546": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "MSTORE", + "path": "10" + }, + "5547": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "SWAP3", + "path": "10" + }, + "5548": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "SWAP1", + "path": "10" + }, + "5549": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "SWAP2", + "path": "10" + }, + "5550": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2352 + ], + "op": "KECCAK256", + "path": "10" + }, + "5551": { + "fn": "EnumerableMap._set", + "offset": [ + 2335, + 2374 + ], + "op": "SSTORE", + "path": "10" + }, + "5552": { + "fn": "EnumerableMap._set", + "offset": [ + 2388, + 2399 + ], + "op": "PUSH2", + "path": "10", + "statement": 79, + "value": "0xF8C" + }, + "5555": { + "fn": "EnumerableMap._set", + "offset": [ + 2388, + 2399 + ], + "op": "JUMP", + "path": "10" + }, + "5556": { + "fn": "EnumerableMap._set", + "offset": [ + 2073, + 2508 + ], + "op": "JUMPDEST", + "path": "10" + }, + "5557": { + "fn": "EnumerableMap._set", + "offset": [ + 2466, + 2471 + ], + "op": "DUP3", + "path": "10", + "statement": 80 + }, + "5558": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2433 + ], + "op": "DUP6", + "path": "10" + }, + "5559": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2442 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "5561": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2442 + ], + "op": "ADD", + "path": "10" + }, + "5562": { + "fn": "EnumerableMap._set", + "offset": [ + 2454, + 2455 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "5564": { + "fn": "EnumerableMap._set", + "offset": [ + 2443, + 2451 + ], + "op": "DUP4", + "path": "10" + }, + "5565": { + "fn": "EnumerableMap._set", + "offset": [ + 2443, + 2455 + ], + "op": "SUB", + "path": "10" + }, + "5566": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "DUP2", + "path": "10" + }, + "5567": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "SLOAD", + "path": "10" + }, + "5568": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "DUP2", + "path": "10" + }, + "5569": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "LT", + "path": "10" + }, + "5570": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "PUSH2", + "path": "10", + "value": "0x15C7" + }, + "5573": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "JUMPI", + "path": "10" + }, + "5574": { + "dev": "Index out of range", + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "INVALID", + "path": "10" + }, + "5575": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "JUMPDEST", + "path": "10" + }, + "5576": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "SWAP1", + "path": "10" + }, + "5577": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "5579": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "MSTORE", + "path": "10" + }, + "5580": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "PUSH1", + "path": "10", + "value": "0x20" + }, + "5582": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "5584": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "KECCAK256", + "path": "10" + }, + "5585": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "SWAP1", + "path": "10" + }, + "5586": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "PUSH1", + "path": "10", + "value": "0x2" + }, + "5588": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "MUL", + "path": "10" + }, + "5589": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2456 + ], + "op": "ADD", + "path": "10" + }, + "5590": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2463 + ], + "op": "PUSH1", + "path": "10", + "value": "0x1" + }, + "5592": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2463 + ], + "op": "ADD", + "path": "10" + }, + "5593": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2471 + ], + "op": "DUP2", + "path": "10" + }, + "5594": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2471 + ], + "op": "SWAP1", + "path": "10" + }, + "5595": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2471 + ], + "op": "SSTORE", + "path": "10" + }, + "5596": { + "fn": "EnumerableMap._set", + "offset": [ + 2430, + 2471 + ], + "op": "POP", + "path": "10" + }, + "5597": { + "fn": "EnumerableMap._set", + "offset": [ + 2492, + 2497 + ], + "op": "PUSH1", + "path": "10", + "statement": 81, + "value": "0x0" + }, + "5599": { + "fn": "EnumerableMap._set", + "offset": [ + 2485, + 2497 + ], + "op": "SWAP2", + "path": "10" + }, + "5600": { + "fn": "EnumerableMap._set", + "offset": [ + 2485, + 2497 + ], + "op": "POP", + "path": "10" + }, + "5601": { + "fn": "EnumerableMap._set", + "offset": [ + 2485, + 2497 + ], + "op": "POP", + "path": "10" + }, + "5602": { + "fn": "EnumerableMap._set", + "offset": [ + 2485, + 2497 + ], + "op": "PUSH2", + "path": "10", + "value": "0xF8C" + }, + "5605": { + "fn": "EnumerableMap._set", + "offset": [ + 2485, + 2497 + ], + "op": "JUMP", + "path": "10" + }, + "5606": { + "fn": "Address.isContract", + "offset": [ + 726, + 1139 + ], + "op": "JUMPDEST", + "path": "8" + }, + "5607": { + "fn": "Address.isContract", + "offset": [ + 1086, + 1106 + ], + "op": "EXTCODESIZE", + "path": "8" + }, + "5608": { + "fn": "Address.isContract", + "offset": [ + 1124, + 1132 + ], + "op": "ISZERO", + "path": "8", + "statement": 82 + }, + "5609": { + "fn": "Address.isContract", + "offset": [ + 1124, + 1132 + ], + "op": "ISZERO", + "path": "8" + }, + "5610": { + "fn": "Address.isContract", + "offset": [ + 1124, + 1132 + ], + "op": "SWAP1", + "path": "8" + }, + "5611": { + "fn": "Address.isContract", + "jump": "o", + "offset": [ + 726, + 1139 + ], + "op": "JUMP", + "path": "8" + }, + "5612": { + "fn": "Address.functionCall", + "offset": [ + 3581, + 3774 + ], + "op": "JUMPDEST", + "path": "8" + }, + "5613": { + "fn": "Address.functionCall", + "offset": [ + 3684, + 3696 + ], + "op": "PUSH1", + "path": "8", + "value": "0x60" + }, + "5615": { + "fn": "Address.functionCall", + "offset": [ + 3715, + 3767 + ], + "op": "PUSH2", + "path": "8", + "statement": 83, + "value": "0xF89" + }, + "5618": { + "fn": "Address.functionCall", + "offset": [ + 3737, + 3743 + ], + "op": "DUP5", + "path": "8" + }, + "5619": { + "fn": "Address.functionCall", + "offset": [ + 3745, + 3749 + ], + "op": "DUP5", + "path": "8" + }, + "5620": { + "fn": "Address.functionCall", + "offset": [ + 3751, + 3752 + ], + "op": "PUSH1", + "path": "8", + "value": "0x0" + }, + "5622": { + "fn": "Address.functionCall", + "offset": [ + 3754, + 3766 + ], + "op": "DUP6", + "path": "8" + }, + "5623": { + "fn": "Address.functionCall", + "offset": [ + 3684, + 3696 + ], + "op": "DUP6", + "path": "8" + }, + "5624": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4858, + 4876 + ], + "op": "PUSH2", + "path": "8", + "statement": 84, + "value": "0x1600" + }, + "5627": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4869, + 4875 + ], + "op": "DUP6", + "path": "8" + }, + "5628": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4858, + 4868 + ], + "op": "PUSH2", + "path": "8", + "value": "0x15E6" + }, + "5631": { + "fn": "Address.functionCallWithValue", + "jump": "i", + "offset": [ + 4858, + 4876 + ], + "op": "JUMP", + "path": "8" + }, + "5632": { + "branch": 104, + "fn": "Address.functionCallWithValue", + "offset": [ + 4858, + 4876 + ], + "op": "JUMPDEST", + "path": "8" + }, + "5633": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH2", + "path": "8", + "value": "0x1651" + }, + "5636": { + "branch": 104, + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "JUMPI", + "path": "8" + }, + "5637": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH1", + "path": "8", + "value": "0x40" + }, + "5639": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "DUP1", + "path": "8" + }, + "5640": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "MLOAD", + "path": "8" + }, + "5641": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5645": { + "op": "PUSH1", + "value": "0xE5" + }, + "5647": { + "op": "SHL" + }, + "5648": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "DUP2", + "path": "8" + }, + "5649": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "MSTORE", + "path": "8" + }, + "5650": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH1", + "path": "8", + "value": "0x20" + }, + "5652": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH1", + "path": "8", + "value": "0x4" + }, + "5654": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "DUP3", + "path": "8" + }, + "5655": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "ADD", + "path": "8" + }, + "5656": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "MSTORE", + "path": "8" + }, + "5657": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH1", + "path": "8", + "value": "0x1D" + }, + "5659": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH1", + "path": "8", + "value": "0x24" + }, + "5661": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "DUP3", + "path": "8" + }, + "5662": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "ADD", + "path": "8" + }, + "5663": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "MSTORE", + "path": "8" + }, + "5664": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH32", + "path": "8", + "value": "0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000" + }, + "5697": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH1", + "path": "8", + "value": "0x44" + }, + "5699": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "DUP3", + "path": "8" + }, + "5700": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "ADD", + "path": "8" + }, + "5701": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "MSTORE", + "path": "8" + }, + "5702": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "SWAP1", + "path": "8" + }, + "5703": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "MLOAD", + "path": "8" + }, + "5704": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "SWAP1", + "path": "8" + }, + "5705": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "DUP2", + "path": "8" + }, + "5706": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "SWAP1", + "path": "8" + }, + "5707": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "SUB", + "path": "8" + }, + "5708": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "PUSH1", + "path": "8", + "value": "0x64" + }, + "5710": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "ADD", + "path": "8" + }, + "5711": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "SWAP1", + "path": "8" + }, + "5712": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "REVERT", + "path": "8" + }, + "5713": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4850, + 4910 + ], + "op": "JUMPDEST", + "path": "8" + }, + "5714": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4981, + 4993 + ], + "op": "PUSH1", + "path": "8", + "value": "0x0" + }, + "5716": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4995, + 5018 + ], + "op": "PUSH1", + "path": "8", + "value": "0x60" + }, + "5718": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5028 + ], + "op": "DUP7", + "path": "8" + }, + "5719": { + "op": "PUSH1", + "value": "0x1" + }, + "5721": { + "op": "PUSH1", + "value": "0x1" + }, + "5723": { + "op": "PUSH1", + "value": "0xA0" + }, + "5725": { + "op": "SHL" + }, + "5726": { + "op": "SUB" + }, + "5727": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5033 + ], + "op": "AND", + "path": "8" + }, + "5728": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5042, + 5047 + ], + "op": "DUP6", + "path": "8" + }, + "5729": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5050, + 5054 + ], + "op": "DUP8", + "path": "8" + }, + "5730": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "PUSH1", + "path": "8", + "value": "0x40" + }, + "5732": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "MLOAD", + "path": "8" + }, + "5733": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP1", + "path": "8" + }, + "5734": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP3", + "path": "8" + }, + "5735": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP1", + "path": "8" + }, + "5736": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "MLOAD", + "path": "8" + }, + "5737": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "SWAP1", + "path": "8" + }, + "5738": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "PUSH1", + "path": "8", + "value": "0x20" + }, + "5740": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "ADD", + "path": "8" + }, + "5741": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "SWAP1", + "path": "8" + }, + "5742": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP1", + "path": "8" + }, + "5743": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP4", + "path": "8" + }, + "5744": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP4", + "path": "8" + }, + "5745": { + "op": "JUMPDEST" + }, + "5746": { + "op": "PUSH1", + "value": "0x20" + }, + "5748": { + "op": "DUP4" + }, + "5749": { + "op": "LT" + }, + "5750": { + "op": "PUSH2", + "value": "0x1690" + }, + "5753": { + "op": "JUMPI" + }, + "5754": { + "op": "DUP1" + }, + "5755": { + "op": "MLOAD" + }, + "5756": { + "op": "DUP3" + }, + "5757": { + "op": "MSTORE" + }, + "5758": { + "op": "PUSH1", + "value": "0x1F" + }, + "5760": { + "op": "NOT" + }, + "5761": { + "op": "SWAP1" + }, + "5762": { + "op": "SWAP3" + }, + "5763": { + "op": "ADD" + }, + "5764": { + "op": "SWAP2" + }, + "5765": { + "op": "PUSH1", + "value": "0x20" + }, + "5767": { + "op": "SWAP2" + }, + "5768": { + "op": "DUP3" + }, + "5769": { + "op": "ADD" + }, + "5770": { + "op": "SWAP2" + }, + "5771": { + "op": "ADD" + }, + "5772": { + "op": "PUSH2", + "value": "0x1671" + }, + "5775": { + "op": "JUMP" + }, + "5776": { + "op": "JUMPDEST" + }, + "5777": { + "op": "PUSH1", + "value": "0x1" + }, + "5779": { + "op": "DUP4" + }, + "5780": { + "op": "PUSH1", + "value": "0x20" + }, + "5782": { + "op": "SUB" + }, + "5783": { + "op": "PUSH2", + "value": "0x100" + }, + "5786": { + "op": "EXP" + }, + "5787": { + "op": "SUB" + }, + "5788": { + "op": "DUP1" + }, + "5789": { + "op": "NOT" + }, + "5790": { + "op": "DUP3" + }, + "5791": { + "op": "MLOAD" + }, + "5792": { + "op": "AND" + }, + "5793": { + "op": "DUP2" + }, + "5794": { + "op": "DUP5" + }, + "5795": { + "op": "MLOAD" + }, + "5796": { + "op": "AND" + }, + "5797": { + "op": "DUP1" + }, + "5798": { + "op": "DUP3" + }, + "5799": { + "op": "OR" + }, + "5800": { + "op": "DUP6" + }, + "5801": { + "op": "MSTORE" + }, + "5802": { + "op": "POP" + }, + "5803": { + "op": "POP" + }, + "5804": { + "op": "POP" + }, + "5805": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "5806": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "5807": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "5808": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "SWAP1", + "path": "8" + }, + "5809": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "5810": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "ADD", + "path": "8" + }, + "5811": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "SWAP2", + "path": "8" + }, + "5812": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "5813": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "5814": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "PUSH1", + "path": "8", + "value": "0x0" + }, + "5816": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "PUSH1", + "path": "8", + "value": "0x40" + }, + "5818": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "MLOAD", + "path": "8" + }, + "5819": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP1", + "path": "8" + }, + "5820": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP4", + "path": "8" + }, + "5821": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "SUB", + "path": "8" + }, + "5822": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP2", + "path": "8" + }, + "5823": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP6", + "path": "8" + }, + "5824": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "DUP8", + "path": "8" + }, + "5825": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "GAS", + "path": "8" + }, + "5826": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "CALL", + "path": "8" + }, + "5827": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "SWAP3", + "path": "8" + }, + "5828": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "5829": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "5830": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "POP", + "path": "8" + }, + "5831": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5022, + 5055 + ], + "op": "RETURNDATASIZE", + "path": "8" + }, + "5832": { + "op": "DUP1" + }, + "5833": { + "op": "PUSH1", + "value": "0x0" + }, + "5835": { + "op": "DUP2" + }, + "5836": { + "op": "EQ" + }, + "5837": { + "op": "PUSH2", + "value": "0x16F2" + }, + "5840": { + "op": "JUMPI" + }, + "5841": { + "op": "PUSH1", + "value": "0x40" + }, + "5843": { + "op": "MLOAD" + }, + "5844": { + "op": "SWAP2" + }, + "5845": { + "op": "POP" + }, + "5846": { + "op": "PUSH1", + "value": "0x1F" + }, + "5848": { + "op": "NOT" + }, + "5849": { + "op": "PUSH1", + "value": "0x3F" + }, + "5851": { + "op": "RETURNDATASIZE" + }, + "5852": { + "op": "ADD" + }, + "5853": { + "op": "AND" + }, + "5854": { + "op": "DUP3" + }, + "5855": { + "op": "ADD" + }, + "5856": { + "op": "PUSH1", + "value": "0x40" + }, + "5858": { + "op": "MSTORE" + }, + "5859": { + "op": "RETURNDATASIZE" + }, + "5860": { + "op": "DUP3" + }, + "5861": { + "op": "MSTORE" + }, + "5862": { + "op": "RETURNDATASIZE" + }, + "5863": { + "op": "PUSH1", + "value": "0x0" + }, + "5865": { + "op": "PUSH1", + "value": "0x20" + }, + "5867": { + "op": "DUP5" + }, + "5868": { + "op": "ADD" + }, + "5869": { + "op": "RETURNDATACOPY" + }, + "5870": { + "op": "PUSH2", + "value": "0x16F7" + }, + "5873": { + "op": "JUMP" + }, + "5874": { + "op": "JUMPDEST" + }, + "5875": { + "op": "PUSH1", + "value": "0x60" + }, + "5877": { + "op": "SWAP2" + }, + "5878": { + "op": "POP" + }, + "5879": { + "op": "JUMPDEST" + }, + "5880": { + "op": "POP" + }, + "5881": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4980, + 5055 + ], + "op": "SWAP2", + "path": "8" + }, + "5882": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4980, + 5055 + ], + "op": "POP", + "path": "8" + }, + "5883": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4980, + 5055 + ], + "op": "SWAP2", + "path": "8" + }, + "5884": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4980, + 5055 + ], + "op": "POP", + "path": "8" + }, + "5885": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5072, + 5124 + ], + "op": "PUSH2", + "path": "8", + "statement": 85, + "value": "0x1707" + }, + "5888": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5090, + 5097 + ], + "op": "DUP3", + "path": "8" + }, + "5889": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5099, + 5109 + ], + "op": "DUP3", + "path": "8" + }, + "5890": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5111, + 5123 + ], + "op": "DUP7", + "path": "8" + }, + "5891": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5072, + 5089 + ], + "op": "PUSH2", + "path": "8", + "value": "0x1712" + }, + "5894": { + "fn": "Address.functionCallWithValue", + "jump": "i", + "offset": [ + 5072, + 5124 + ], + "op": "JUMP", + "path": "8" + }, + "5895": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5072, + 5124 + ], + "op": "JUMPDEST", + "path": "8" + }, + "5896": { + "fn": "Address.functionCallWithValue", + "offset": [ + 5065, + 5124 + ], + "op": "SWAP8", + "path": "8" + }, + "5897": { + "fn": "Address.functionCallWithValue", + "offset": [ + 4608, + 5131 + ], + "op": "SWAP7", + "path": "8" + }, + "5898": { + "op": "POP" + }, + "5899": { + "op": "POP" + }, + "5900": { + "op": "POP" + }, + "5901": { + "op": "POP" + }, + "5902": { + "op": "POP" + }, + "5903": { + "op": "POP" + }, + "5904": { + "op": "POP" + }, + "5905": { + "fn": "Address.functionCallWithValue", + "jump": "o", + "offset": [ + 4608, + 5131 + ], + "op": "JUMP", + "path": "8" + }, + "5906": { + "fn": "Address._verifyCallResult", + "offset": [ + 7091, + 7816 + ], + "op": "JUMPDEST", + "path": "8" + }, + "5907": { + "fn": "Address._verifyCallResult", + "offset": [ + 7206, + 7218 + ], + "op": "PUSH1", + "path": "8", + "value": "0x60" + }, + "5909": { + "branch": 105, + "fn": "Address._verifyCallResult", + "offset": [ + 7234, + 7241 + ], + "op": "DUP4", + "path": "8" + }, + "5910": { + "fn": "Address._verifyCallResult", + "offset": [ + 7230, + 7810 + ], + "op": "ISZERO", + "path": "8" + }, + "5911": { + "fn": "Address._verifyCallResult", + "offset": [ + 7230, + 7810 + ], + "op": "PUSH2", + "path": "8", + "value": "0x1721" + }, + "5914": { + "branch": 105, + "fn": "Address._verifyCallResult", + "offset": [ + 7230, + 7810 + ], + "op": "JUMPI", + "path": "8" + }, + "5915": { + "op": "POP" + }, + "5916": { + "fn": "Address._verifyCallResult", + "offset": [ + 7264, + 7274 + ], + "op": "DUP2", + "path": "8", + "statement": 86 + }, + "5917": { + "fn": "Address._verifyCallResult", + "offset": [ + 7257, + 7274 + ], + "op": "PUSH2", + "path": "8", + "value": "0xF8C" + }, + "5920": { + "fn": "Address._verifyCallResult", + "offset": [ + 7257, + 7274 + ], + "op": "JUMP", + "path": "8" + }, + "5921": { + "fn": "Address._verifyCallResult", + "offset": [ + 7230, + 7810 + ], + "op": "JUMPDEST", + "path": "8" + }, + "5922": { + "fn": "Address._verifyCallResult", + "offset": [ + 7375, + 7392 + ], + "op": "DUP3", + "path": "8" + }, + "5923": { + "fn": "Address._verifyCallResult", + "offset": [ + 7375, + 7392 + ], + "op": "MLOAD", + "path": "8" + }, + "5924": { + "branch": 106, + "fn": "Address._verifyCallResult", + "offset": [ + 7375, + 7396 + ], + "op": "ISZERO", + "path": "8" + }, + "5925": { + "fn": "Address._verifyCallResult", + "offset": [ + 7371, + 7800 + ], + "op": "PUSH2", + "path": "8", + "value": "0x1731" + }, + "5928": { + "branch": 106, + "fn": "Address._verifyCallResult", + "offset": [ + 7371, + 7800 + ], + "op": "JUMPI", + "path": "8" + }, + "5929": { + "fn": "Address._verifyCallResult", + "offset": [ + 7633, + 7643 + ], + "op": "DUP3", + "path": "8" + }, + "5930": { + "fn": "Address._verifyCallResult", + "offset": [ + 7627, + 7644 + ], + "op": "MLOAD", + "path": "8" + }, + "5931": { + "fn": "Address._verifyCallResult", + "offset": [ + 7693, + 7708 + ], + "op": "DUP1", + "path": "8" + }, + "5932": { + "fn": "Address._verifyCallResult", + "offset": [ + 7680, + 7690 + ], + "op": "DUP5", + "path": "8" + }, + "5933": { + "fn": "Address._verifyCallResult", + "offset": [ + 7676, + 7678 + ], + "op": "PUSH1", + "path": "8", + "value": "0x20" + }, + "5935": { + "fn": "Address._verifyCallResult", + "offset": [ + 7672, + 7691 + ], + "op": "ADD", + "path": "8" + }, + "5936": { + "fn": "Address._verifyCallResult", + "offset": [ + 7665, + 7709 + ], + "op": "REVERT", + "path": "8" + }, + "5937": { + "fn": "Address._verifyCallResult", + "offset": [ + 7582, + 7727 + ], + "op": "JUMPDEST", + "path": "8" + }, + "5938": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "PUSH1", + "path": "8", + "statement": 87, + "value": "0x40" + }, + "5940": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "MLOAD", + "path": "8" + }, + "5941": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5945": { + "op": "PUSH1", + "value": "0xE5" + }, + "5947": { + "op": "SHL" + }, + "5948": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP2", + "path": "8" + }, + "5949": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "MSTORE", + "path": "8" + }, + "5950": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "PUSH1", + "path": "8", + "value": "0x20" + }, + "5952": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "PUSH1", + "path": "8", + "value": "0x4" + }, + "5954": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP3", + "path": "8" + }, + "5955": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "ADD", + "path": "8" + }, + "5956": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP2", + "path": "8" + }, + "5957": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP2", + "path": "8" + }, + "5958": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "MSTORE", + "path": "8" + }, + "5959": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP5", + "path": "8" + }, + "5960": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "MLOAD", + "path": "8" + }, + "5961": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "PUSH1", + "path": "8", + "value": "0x24" + }, + "5963": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP5", + "path": "8" + }, + "5964": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "ADD", + "path": "8" + }, + "5965": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "MSTORE", + "path": "8" + }, + "5966": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP5", + "path": "8" + }, + "5967": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "MLOAD", + "path": "8" + }, + "5968": { + "fn": "Address._verifyCallResult", + "offset": [ + 7772, + 7784 + ], + "op": "DUP6", + "path": "8" + }, + "5969": { + "fn": "Address._verifyCallResult", + "offset": [ + 7772, + 7784 + ], + "op": "SWAP4", + "path": "8" + }, + "5970": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "SWAP2", + "path": "8" + }, + "5971": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "SWAP3", + "path": "8" + }, + "5972": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP4", + "path": "8" + }, + "5973": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "SWAP3", + "path": "8" + }, + "5974": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "PUSH1", + "path": "8", + "value": "0x44" + }, + "5976": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "ADD", + "path": "8" + }, + "5977": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "SWAP2", + "path": "8" + }, + "5978": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "SWAP1", + "path": "8" + }, + "5979": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP6", + "path": "8" + }, + "5980": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "ADD", + "path": "8" + }, + "5981": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "SWAP1", + "path": "8" + }, + "5982": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP1", + "path": "8" + }, + "5983": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP4", + "path": "8" + }, + "5984": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "DUP4", + "path": "8" + }, + "5985": { + "fn": "Address._verifyCallResult", + "offset": [ + 7765, + 7785 + ], + "op": "PUSH1", + "path": "8", + "value": "0x0" + }, + "5987": { + "op": "DUP4" + }, + "5988": { + "op": "ISZERO" + }, + "5989": { + "op": "PUSH2", + "value": "0x123D" + }, + "5992": { + "op": "JUMPI" + }, + "5993": { + "op": "DUP2" + }, + "5994": { + "op": "DUP2" + }, + "5995": { + "op": "ADD" + }, + "5996": { + "op": "MLOAD" + }, + "5997": { + "op": "DUP4" + }, + "5998": { + "op": "DUP3" + }, + "5999": { + "op": "ADD" + }, + "6000": { + "op": "MSTORE" + }, + "6001": { + "op": "PUSH1", + "value": "0x20" + }, + "6003": { + "op": "ADD" + }, + "6004": { + "op": "PUSH2", + "value": "0x1225" + }, + "6007": { + "op": "JUMP" + } + }, + "sha1": "3049443791a8b85dce804d3ed46975840839b110", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\nimport \"../../utils/Context.sol\";\nimport \"./IERC721.sol\";\nimport \"./IERC721Metadata.sol\";\nimport \"./IERC721Enumerable.sol\";\nimport \"./IERC721Receiver.sol\";\nimport \"../../introspection/ERC165.sol\";\nimport \"../../math/SafeMath.sol\";\nimport \"../../utils/Address.sol\";\nimport \"../../utils/EnumerableSet.sol\";\nimport \"../../utils/EnumerableMap.sol\";\nimport \"../../utils/Strings.sol\";\n\n/**\n * @title ERC721 Non-Fungible Token Standard basic implementation\n * @dev see https://eips.ethereum.org/EIPS/eip-721\n */\ncontract ERC721 is Context, ERC165, IERC721, IERC721Metadata, IERC721Enumerable {\n using SafeMath for uint256;\n using Address for address;\n using EnumerableSet for EnumerableSet.UintSet;\n using EnumerableMap for EnumerableMap.UintToAddressMap;\n using Strings for uint256;\n\n // Equals to `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`\n // which can be also obtained as `IERC721Receiver(0).onERC721Received.selector`\n bytes4 private constant _ERC721_RECEIVED = 0x150b7a02;\n\n // Mapping from holder address to their (enumerable) set of owned tokens\n mapping (address => EnumerableSet.UintSet) private _holderTokens;\n\n // Enumerable mapping from token ids to their owners\n EnumerableMap.UintToAddressMap private _tokenOwners;\n\n // Mapping from token ID to approved address\n mapping (uint256 => address) private _tokenApprovals;\n\n // Mapping from owner to operator approvals\n mapping (address => mapping (address => bool)) private _operatorApprovals;\n\n // Token name\n string private _name;\n\n // Token symbol\n string private _symbol;\n\n // Optional mapping for token URIs\n mapping (uint256 => string) private _tokenURIs;\n\n // Base URI\n string private _baseURI;\n\n /*\n * bytes4(keccak256('balanceOf(address)')) == 0x70a08231\n * bytes4(keccak256('ownerOf(uint256)')) == 0x6352211e\n * bytes4(keccak256('approve(address,uint256)')) == 0x095ea7b3\n * bytes4(keccak256('getApproved(uint256)')) == 0x081812fc\n * bytes4(keccak256('setApprovalForAll(address,bool)')) == 0xa22cb465\n * bytes4(keccak256('isApprovedForAll(address,address)')) == 0xe985e9c5\n * bytes4(keccak256('transferFrom(address,address,uint256)')) == 0x23b872dd\n * bytes4(keccak256('safeTransferFrom(address,address,uint256)')) == 0x42842e0e\n * bytes4(keccak256('safeTransferFrom(address,address,uint256,bytes)')) == 0xb88d4fde\n *\n * => 0x70a08231 ^ 0x6352211e ^ 0x095ea7b3 ^ 0x081812fc ^\n * 0xa22cb465 ^ 0xe985e9c5 ^ 0x23b872dd ^ 0x42842e0e ^ 0xb88d4fde == 0x80ac58cd\n */\n bytes4 private constant _INTERFACE_ID_ERC721 = 0x80ac58cd;\n\n /*\n * bytes4(keccak256('name()')) == 0x06fdde03\n * bytes4(keccak256('symbol()')) == 0x95d89b41\n * bytes4(keccak256('tokenURI(uint256)')) == 0xc87b56dd\n *\n * => 0x06fdde03 ^ 0x95d89b41 ^ 0xc87b56dd == 0x5b5e139f\n */\n bytes4 private constant _INTERFACE_ID_ERC721_METADATA = 0x5b5e139f;\n\n /*\n * bytes4(keccak256('totalSupply()')) == 0x18160ddd\n * bytes4(keccak256('tokenOfOwnerByIndex(address,uint256)')) == 0x2f745c59\n * bytes4(keccak256('tokenByIndex(uint256)')) == 0x4f6ccce7\n *\n * => 0x18160ddd ^ 0x2f745c59 ^ 0x4f6ccce7 == 0x780e9d63\n */\n bytes4 private constant _INTERFACE_ID_ERC721_ENUMERABLE = 0x780e9d63;\n\n /**\n * @dev Initializes the contract by setting a `name` and a `symbol` to the token collection.\n */\n constructor (string memory name_, string memory symbol_) public {\n _name = name_;\n _symbol = symbol_;\n\n // register the supported interfaces to conform to ERC721 via ERC165\n _registerInterface(_INTERFACE_ID_ERC721);\n _registerInterface(_INTERFACE_ID_ERC721_METADATA);\n _registerInterface(_INTERFACE_ID_ERC721_ENUMERABLE);\n }\n\n /**\n * @dev See {IERC721-balanceOf}.\n */\n function balanceOf(address owner) public view virtual override returns (uint256) {\n require(owner != address(0), \"ERC721: balance query for the zero address\");\n return _holderTokens[owner].length();\n }\n\n /**\n * @dev See {IERC721-ownerOf}.\n */\n function ownerOf(uint256 tokenId) public view virtual override returns (address) {\n return _tokenOwners.get(tokenId, \"ERC721: owner query for nonexistent token\");\n }\n\n /**\n * @dev See {IERC721Metadata-name}.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev See {IERC721Metadata-symbol}.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev See {IERC721Metadata-tokenURI}.\n */\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n require(_exists(tokenId), \"ERC721Metadata: URI query for nonexistent token\");\n\n string memory _tokenURI = _tokenURIs[tokenId];\n string memory base = baseURI();\n\n // If there is no base URI, return the token URI.\n if (bytes(base).length == 0) {\n return _tokenURI;\n }\n // If both are set, concatenate the baseURI and tokenURI (via abi.encodePacked).\n if (bytes(_tokenURI).length > 0) {\n return string(abi.encodePacked(base, _tokenURI));\n }\n // If there is a baseURI but no tokenURI, concatenate the tokenID to the baseURI.\n return string(abi.encodePacked(base, tokenId.toString()));\n }\n\n /**\n * @dev Returns the base URI set via {_setBaseURI}. This will be\n * automatically added as a prefix in {tokenURI} to each token's URI, or\n * to the token ID if no specific URI is set for that token ID.\n */\n function baseURI() public view virtual returns (string memory) {\n return _baseURI;\n }\n\n /**\n * @dev See {IERC721Enumerable-tokenOfOwnerByIndex}.\n */\n function tokenOfOwnerByIndex(address owner, uint256 index) public view virtual override returns (uint256) {\n return _holderTokens[owner].at(index);\n }\n\n /**\n * @dev See {IERC721Enumerable-totalSupply}.\n */\n function totalSupply() public view virtual override returns (uint256) {\n // _tokenOwners are indexed by tokenIds, so .length() returns the number of tokenIds\n return _tokenOwners.length();\n }\n\n /**\n * @dev See {IERC721Enumerable-tokenByIndex}.\n */\n function tokenByIndex(uint256 index) public view virtual override returns (uint256) {\n (uint256 tokenId, ) = _tokenOwners.at(index);\n return tokenId;\n }\n\n /**\n * @dev See {IERC721-approve}.\n */\n function approve(address to, uint256 tokenId) public virtual override {\n address owner = ERC721.ownerOf(tokenId);\n require(to != owner, \"ERC721: approval to current owner\");\n\n require(_msgSender() == owner || ERC721.isApprovedForAll(owner, _msgSender()),\n \"ERC721: approve caller is not owner nor approved for all\"\n );\n\n _approve(to, tokenId);\n }\n\n /**\n * @dev See {IERC721-getApproved}.\n */\n function getApproved(uint256 tokenId) public view virtual override returns (address) {\n require(_exists(tokenId), \"ERC721: approved query for nonexistent token\");\n\n return _tokenApprovals[tokenId];\n }\n\n /**\n * @dev See {IERC721-setApprovalForAll}.\n */\n function setApprovalForAll(address operator, bool approved) public virtual override {\n require(operator != _msgSender(), \"ERC721: approve to caller\");\n\n _operatorApprovals[_msgSender()][operator] = approved;\n emit ApprovalForAll(_msgSender(), operator, approved);\n }\n\n /**\n * @dev See {IERC721-isApprovedForAll}.\n */\n function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) {\n return _operatorApprovals[owner][operator];\n }\n\n /**\n * @dev See {IERC721-transferFrom}.\n */\n function transferFrom(address from, address to, uint256 tokenId) public virtual override {\n //solhint-disable-next-line max-line-length\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: transfer caller is not owner nor approved\");\n\n _transfer(from, to, tokenId);\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId) public virtual override {\n safeTransferFrom(from, to, tokenId, \"\");\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory _data) public virtual override {\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: transfer caller is not owner nor approved\");\n _safeTransfer(from, to, tokenId, _data);\n }\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * `_data` is additional data, it has no specified format and it is sent in call to `to`.\n *\n * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n * implement alternative mechanisms to perform token transfer, such as signature-based.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeTransfer(address from, address to, uint256 tokenId, bytes memory _data) internal virtual {\n _transfer(from, to, tokenId);\n require(_checkOnERC721Received(from, to, tokenId, _data), \"ERC721: transfer to non ERC721Receiver implementer\");\n }\n\n /**\n * @dev Returns whether `tokenId` exists.\n *\n * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n *\n * Tokens start existing when they are minted (`_mint`),\n * and stop existing when they are burned (`_burn`).\n */\n function _exists(uint256 tokenId) internal view virtual returns (bool) {\n return _tokenOwners.contains(tokenId);\n }\n\n /**\n * @dev Returns whether `spender` is allowed to manage `tokenId`.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) {\n require(_exists(tokenId), \"ERC721: operator query for nonexistent token\");\n address owner = ERC721.ownerOf(tokenId);\n return (spender == owner || getApproved(tokenId) == spender || ERC721.isApprovedForAll(owner, spender));\n }\n\n /**\n * @dev Safely mints `tokenId` and transfers it to `to`.\n *\n * Requirements:\n d*\n * - `tokenId` must not exist.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeMint(address to, uint256 tokenId) internal virtual {\n _safeMint(to, tokenId, \"\");\n }\n\n /**\n * @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n * forwarded in {IERC721Receiver-onERC721Received} to contract recipients.\n */\n function _safeMint(address to, uint256 tokenId, bytes memory _data) internal virtual {\n _mint(to, tokenId);\n require(_checkOnERC721Received(address(0), to, tokenId, _data), \"ERC721: transfer to non ERC721Receiver implementer\");\n }\n\n /**\n * @dev Mints `tokenId` and transfers it to `to`.\n *\n * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n *\n * Requirements:\n *\n * - `tokenId` must not exist.\n * - `to` cannot be the zero address.\n *\n * Emits a {Transfer} event.\n */\n function _mint(address to, uint256 tokenId) internal virtual {\n require(to != address(0), \"ERC721: mint to the zero address\");\n require(!_exists(tokenId), \"ERC721: token already minted\");\n\n _beforeTokenTransfer(address(0), to, tokenId);\n\n _holderTokens[to].add(tokenId);\n\n _tokenOwners.set(tokenId, to);\n\n emit Transfer(address(0), to, tokenId);\n }\n\n /**\n * @dev Destroys `tokenId`.\n * The approval is cleared when the token is burned.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n *\n * Emits a {Transfer} event.\n */\n function _burn(uint256 tokenId) internal virtual {\n address owner = ERC721.ownerOf(tokenId); // internal owner\n\n _beforeTokenTransfer(owner, address(0), tokenId);\n\n // Clear approvals\n _approve(address(0), tokenId);\n\n // Clear metadata (if any)\n if (bytes(_tokenURIs[tokenId]).length != 0) {\n delete _tokenURIs[tokenId];\n }\n\n _holderTokens[owner].remove(tokenId);\n\n _tokenOwners.remove(tokenId);\n\n emit Transfer(owner, address(0), tokenId);\n }\n\n /**\n * @dev Transfers `tokenId` from `from` to `to`.\n * As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n *\n * Emits a {Transfer} event.\n */\n function _transfer(address from, address to, uint256 tokenId) internal virtual {\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer of token that is not own\"); // internal owner\n require(to != address(0), \"ERC721: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, tokenId);\n\n // Clear approvals from the previous owner\n _approve(address(0), tokenId);\n\n _holderTokens[from].remove(tokenId);\n _holderTokens[to].add(tokenId);\n\n _tokenOwners.set(tokenId, to);\n\n emit Transfer(from, to, tokenId);\n }\n\n /**\n * @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual {\n require(_exists(tokenId), \"ERC721Metadata: URI set of nonexistent token\");\n _tokenURIs[tokenId] = _tokenURI;\n }\n\n /**\n * @dev Internal function to set the base URI for all token IDs. It is\n * automatically added as a prefix to the value returned in {tokenURI},\n * or to the token ID if {tokenURI} is empty.\n */\n function _setBaseURI(string memory baseURI_) internal virtual {\n _baseURI = baseURI_;\n }\n\n /**\n * @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n * The call is not executed if the target address is not a contract.\n *\n * @param from address representing the previous owner of the given token ID\n * @param to target address that will receive the tokens\n * @param tokenId uint256 ID of the token to be transferred\n * @param _data bytes optional data to send along with the call\n * @return bool whether the call correctly returned the expected magic value\n */\n function _checkOnERC721Received(address from, address to, uint256 tokenId, bytes memory _data)\n private returns (bool)\n {\n if (!to.isContract()) {\n return true;\n }\n bytes memory returndata = to.functionCall(abi.encodeWithSelector(\n IERC721Receiver(to).onERC721Received.selector,\n _msgSender(),\n from,\n tokenId,\n _data\n ), \"ERC721: transfer to non ERC721Receiver implementer\");\n bytes4 retval = abi.decode(returndata, (bytes4));\n return (retval == _ERC721_RECEIVED);\n }\n\n function _approve(address to, uint256 tokenId) private {\n _tokenApprovals[tokenId] = to;\n emit Approval(ERC721.ownerOf(tokenId), to, tokenId); // internal owner\n }\n\n /**\n * @dev Hook that is called before any token transfer. This includes minting\n * and burning.\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, ``from``'s `tokenId` will be\n * transferred to `to`.\n * - When `from` is zero, `tokenId` will be minted for `to`.\n * - When `to` is zero, ``from``'s `tokenId` will be burned.\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(address from, address to, uint256 tokenId) internal virtual { }\n}\n", + "sourceMap": "571:16419:3:-:0;;;3577:369;5:9:-1;2:2;;;27:1;24;17:12;2:2;3577:369:3;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3577:369:3;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;3577:369:3;;420:4:-1;411:14;;;;3577:369:3;;;;;411:14:-1;3577:369:3;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3577:369:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;3577:369:3;;420:4:-1;411:14;;;;3577:369:3;;;;;411:14:-1;3577:369:3;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3577:369:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3577:369:3;;-1:-1:-1;768:40:0;;-1:-1:-1;;;;787:20:0;-1:-1:-1;;;;;;768:18:0;:40;:::i;:::-;3651:13:3;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;3674:17:3;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;3779:40:3;-1:-1:-1;;;;;;;;3779:18:3;:40;:::i;:::-;3829:49;-1:-1:-1;;;;;;;;3829:18:3;:49;:::i;:::-;3888:51;-1:-1:-1;;;;;;;;3888:18:3;:51;:::i;:::-;3577:369;;571:16419;;1507:198:0;-1:-1:-1;;;;;;1590:25:0;;;;;1582:66;;;;;-1:-1:-1;;;1582:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1658:33:0;:20;:33;;;;;;;;;;:40;;-1:-1:-1;;1658:40:0;1694:4;1658:40;;;1507:198::o;571:16419:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;571:16419:3;;;-1:-1:-1;571:16419:3;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "sourcePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/ERC721.sol", + "type": "contract" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/EnumerableMap.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/EnumerableMap.json new file mode 100644 index 00000000..04bf64e7 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/EnumerableMap.json @@ -0,0 +1,7569 @@ +{ + "abi": [], + "allSourcePaths": { + "10": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableMap.sol" + }, + "ast": { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableMap.sol", + "exportedSymbols": { + "EnumerableMap": [ + 2479 + ] + }, + "id": 2480, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1921, + "literals": [ + "solidity", + ">=", + "0.6", + ".0", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:31:10" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1922, + "nodeType": "StructuredDocumentation", + "src": "66:705:10", + "text": "@dev Library for managing an enumerable variant of Solidity's\nhttps://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`]\ntype.\n * Maps have the following properties:\n * - Entries are added, removed, and checked for existence in constant time\n(O(1)).\n- Entries are enumerated in O(n). No guarantees are made on the ordering.\n * ```\ncontract Example {\n // Add the library methods\n using EnumerableMap for EnumerableMap.UintToAddressMap;\n * // Declare a set state variable\n EnumerableMap.UintToAddressMap private myMap;\n}\n```\n * As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are\nsupported." + }, + "fullyImplemented": true, + "id": 2479, + "linearizedBaseContracts": [ + 2479 + ], + "name": "EnumerableMap", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "EnumerableMap.MapEntry", + "id": 1927, + "members": [ + { + "constant": false, + "id": 1924, + "mutability": "mutable", + "name": "_key", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1927, + "src": "1284:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1923, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1284:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1926, + "mutability": "mutable", + "name": "_value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1927, + "src": "1306:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1925, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1306:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "MapEntry", + "nodeType": "StructDefinition", + "scope": 2479, + "src": "1258:69:10", + "visibility": "public" + }, + { + "canonicalName": "EnumerableMap.Map", + "id": 1935, + "members": [ + { + "constant": false, + "id": 1930, + "mutability": "mutable", + "name": "_entries", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1935, + "src": "1396:19:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MapEntry_$1927_storage_$dyn_storage_ptr", + "typeString": "struct EnumerableMap.MapEntry[]" + }, + "typeName": { + "baseType": { + "contractScope": null, + "id": 1928, + "name": "MapEntry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1927, + "src": "1396:8:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage_ptr", + "typeString": "struct EnumerableMap.MapEntry" + } + }, + "id": 1929, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1396:10:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MapEntry_$1927_storage_$dyn_storage_ptr", + "typeString": "struct EnumerableMap.MapEntry[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1934, + "mutability": "mutable", + "name": "_indexes", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1935, + "src": "1565:37:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 1933, + "keyType": { + "id": 1931, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1574:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1565:28:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 1932, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1585:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Map", + "nodeType": "StructDefinition", + "scope": 2479, + "src": "1333:276:10", + "visibility": "public" + }, + { + "body": { + "id": 1996, + "nodeType": "Block", + "src": "1918:596:10", + "statements": [ + { + "assignments": [ + 1948 + ], + "declarations": [ + { + "constant": false, + "id": 1948, + "mutability": "mutable", + "name": "keyIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1996, + "src": "2026:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1947, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2026:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1953, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1949, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1938, + "src": "2045:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 1950, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 1934, + "src": "2045:12:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 1952, + "indexExpression": { + "argumentTypes": null, + "id": 1951, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1940, + "src": "2058:3:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2045:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2026:36:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1954, + "name": "keyIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1948, + "src": "2077:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1955, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2089:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2077:13:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1994, + "nodeType": "Block", + "src": "2416:92:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 1990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1981, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1938, + "src": "2430:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 1986, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 1930, + "src": "2430:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MapEntry_$1927_storage_$dyn_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" + } + }, + "id": 1987, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1983, + "name": "keyIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1948, + "src": "2443:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 1984, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2454:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2443:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2430:26:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref" + } + }, + "id": 1988, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "_value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1926, + "src": "2430:33:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 1989, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1942, + "src": "2466:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "2430:41:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 1991, + "nodeType": "ExpressionStatement", + "src": "2430:41:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1992, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2492:5:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 1946, + "id": 1993, + "nodeType": "Return", + "src": "2485:12:10" + } + ] + }, + "id": 1995, + "nodeType": "IfStatement", + "src": "2073:435:10", + "trueBody": { + "id": 1980, + "nodeType": "Block", + "src": "2092:318:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 1963, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1940, + "src": "2178:3:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 1964, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1942, + "src": "2191:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1962, + "name": "MapEntry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1927, + "src": "2161:8:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_MapEntry_$1927_storage_ptr_$", + "typeString": "type(struct EnumerableMap.MapEntry storage pointer)" + } + }, + "id": 1965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [ + "_key", + "_value" + ], + "nodeType": "FunctionCall", + "src": "2161:38:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_memory_ptr", + "typeString": "struct EnumerableMap.MapEntry memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_MapEntry_$1927_memory_ptr", + "typeString": "struct EnumerableMap.MapEntry memory" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1957, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1938, + "src": "2143:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 1960, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 1930, + "src": "2143:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MapEntry_$1927_storage_$dyn_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" + } + }, + "id": 1961, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2143:17:10", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_MapEntry_$1927_storage_$returns$__$", + "typeString": "function (struct EnumerableMap.MapEntry storage ref)" + } + }, + "id": 1966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2143:57:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1967, + "nodeType": "ExpressionStatement", + "src": "2143:57:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 1976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1968, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1938, + "src": "2335:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 1971, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 1934, + "src": "2335:12:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 1972, + "indexExpression": { + "argumentTypes": null, + "id": 1970, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1940, + "src": "2348:3:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2335:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 1973, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1938, + "src": "2355:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 1974, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 1930, + "src": "2355:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MapEntry_$1927_storage_$dyn_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" + } + }, + "id": 1975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2355:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2335:39:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1977, + "nodeType": "ExpressionStatement", + "src": "2335:39:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1978, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2395:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1946, + "id": 1979, + "nodeType": "Return", + "src": "2388:11:10" + } + ] + } + } + ] + }, + "documentation": { + "id": 1936, + "nodeType": "StructuredDocumentation", + "src": "1615:216:10", + "text": "@dev Adds a key-value pair to a map, or updates the value for an existing\nkey. O(1).\n * Returns true if the key was added to the map, that is if it was not\nalready present." + }, + "id": 1997, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_set", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1938, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1997, + "src": "1850:15:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + }, + "typeName": { + "contractScope": null, + "id": 1937, + "name": "Map", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1935, + "src": "1850:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1940, + "mutability": "mutable", + "name": "key", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1997, + "src": "1867:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1939, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1867:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1942, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1997, + "src": "1880:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1941, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1880:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1849:45:10" + }, + "returnParameters": { + "id": 1946, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1945, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1997, + "src": "1912:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1944, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1912:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1911:6:10" + }, + "scope": 2479, + "src": "1836:678:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2077, + "nodeType": "Block", + "src": "2752:1447:10", + "statements": [ + { + "assignments": [ + 2008 + ], + "declarations": [ + { + "constant": false, + "id": 2008, + "mutability": "mutable", + "name": "keyIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2077, + "src": "2860:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2860:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2013, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2009, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2000, + "src": "2879:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2010, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 1934, + "src": "2879:12:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2012, + "indexExpression": { + "argumentTypes": null, + "id": 2011, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2002, + "src": "2892:3:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2879:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2860:36:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2014, + "name": "keyIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2008, + "src": "2911:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2015, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2923:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2911:13:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2075, + "nodeType": "Block", + "src": "4156:37:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 2073, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4177:5:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 2006, + "id": 2074, + "nodeType": "Return", + "src": "4170:12:10" + } + ] + }, + "id": 2076, + "nodeType": "IfStatement", + "src": "2907:1286:10", + "trueBody": { + "id": 2072, + "nodeType": "Block", + "src": "2926:1224:10", + "statements": [ + { + "assignments": [ + 2018 + ], + "declarations": [ + { + "constant": false, + "id": 2018, + "mutability": "mutable", + "name": "toDeleteIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2072, + "src": "3267:21:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2017, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3267:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2022, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2019, + "name": "keyIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2008, + "src": "3291:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 2020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3302:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3291:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3267:36:10" + }, + { + "assignments": [ + 2024 + ], + "declarations": [ + { + "constant": false, + "id": 2024, + "mutability": "mutable", + "name": "lastIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2072, + "src": "3317:17:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2023, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3317:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2030, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2025, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2000, + "src": "3337:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2026, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 1930, + "src": "3337:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MapEntry_$1927_storage_$dyn_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" + } + }, + "id": 2027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3337:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 2028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3359:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3337:23:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3317:43:10" + }, + { + "assignments": [ + 2032 + ], + "declarations": [ + { + "constant": false, + "id": 2032, + "mutability": "mutable", + "name": "lastEntry", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2072, + "src": "3600:26:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage_ptr", + "typeString": "struct EnumerableMap.MapEntry" + }, + "typeName": { + "contractScope": null, + "id": 2031, + "name": "MapEntry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1927, + "src": "3600:8:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage_ptr", + "typeString": "struct EnumerableMap.MapEntry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2037, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2033, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2000, + "src": "3629:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2034, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 1930, + "src": "3629:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MapEntry_$1927_storage_$dyn_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" + } + }, + "id": 2036, + "indexExpression": { + "argumentTypes": null, + "id": 2035, + "name": "lastIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2024, + "src": "3642:9:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3629:23:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3600:52:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2038, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2000, + "src": "3744:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2041, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 1930, + "src": "3744:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MapEntry_$1927_storage_$dyn_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" + } + }, + "id": 2042, + "indexExpression": { + "argumentTypes": null, + "id": 2040, + "name": "toDeleteIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2018, + "src": "3757:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3744:27:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2043, + "name": "lastEntry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2032, + "src": "3774:9:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage_ptr", + "typeString": "struct EnumerableMap.MapEntry storage pointer" + } + }, + "src": "3744:39:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref" + } + }, + "id": 2045, + "nodeType": "ExpressionStatement", + "src": "3744:39:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2046, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2000, + "src": "3849:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2050, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 1934, + "src": "3849:12:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2051, + "indexExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2048, + "name": "lastEntry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2032, + "src": "3862:9:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage_ptr", + "typeString": "struct EnumerableMap.MapEntry storage pointer" + } + }, + "id": 2049, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_key", + "nodeType": "MemberAccess", + "referencedDeclaration": 1924, + "src": "3862:14:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3849:28:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2052, + "name": "toDeleteIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2018, + "src": "3880:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 2053, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3896:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3880:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3849:48:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2056, + "nodeType": "ExpressionStatement", + "src": "3849:48:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2057, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2000, + "src": "4003:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2060, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 1930, + "src": "4003:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MapEntry_$1927_storage_$dyn_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" + } + }, + "id": 2061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "pop", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4003:16:10", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4003:18:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2063, + "nodeType": "ExpressionStatement", + "src": "4003:18:10" + }, + { + "expression": { + "argumentTypes": null, + "id": 2068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4089:24:10", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2064, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2000, + "src": "4096:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2065, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 1934, + "src": "4096:12:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2067, + "indexExpression": { + "argumentTypes": null, + "id": 2066, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2002, + "src": "4109:3:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4096:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2069, + "nodeType": "ExpressionStatement", + "src": "4089:24:10" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2070, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4135:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2006, + "id": 2071, + "nodeType": "Return", + "src": "4128:11:10" + } + ] + } + } + ] + }, + "documentation": { + "id": 1998, + "nodeType": "StructuredDocumentation", + "src": "2520:157:10", + "text": "@dev Removes a key-value pair from a map. O(1).\n * Returns true if the key was removed from the map, that is if it was present." + }, + "id": 2078, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_remove", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2003, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2000, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2078, + "src": "2699:15:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + }, + "typeName": { + "contractScope": null, + "id": 1999, + "name": "Map", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1935, + "src": "2699:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2002, + "mutability": "mutable", + "name": "key", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2078, + "src": "2716:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2001, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2716:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2698:30:10" + }, + "returnParameters": { + "id": 2006, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2005, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2078, + "src": "2746:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2004, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2746:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2745:6:10" + }, + "scope": 2479, + "src": "2682:1517:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2095, + "nodeType": "Block", + "src": "4355:46:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2088, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2081, + "src": "4372:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2089, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 1934, + "src": "4372:12:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2091, + "indexExpression": { + "argumentTypes": null, + "id": 2090, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2083, + "src": "4385:3:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4372:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2092, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4393:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4372:22:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2087, + "id": 2094, + "nodeType": "Return", + "src": "4365:29:10" + } + ] + }, + "documentation": { + "id": 2079, + "nodeType": "StructuredDocumentation", + "src": "4205:68:10", + "text": "@dev Returns true if the key is in the map. O(1)." + }, + "id": 2096, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_contains", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2084, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2081, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2096, + "src": "4297:15:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + }, + "typeName": { + "contractScope": null, + "id": 2080, + "name": "Map", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1935, + "src": "4297:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2083, + "mutability": "mutable", + "name": "key", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2096, + "src": "4314:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2082, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4314:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4296:30:10" + }, + "returnParameters": { + "id": 2087, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2086, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2096, + "src": "4349:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2085, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4349:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4348:6:10" + }, + "scope": 2479, + "src": "4278:123:10", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2108, + "nodeType": "Block", + "src": "4556:43:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2104, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2099, + "src": "4573:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2105, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 1930, + "src": "4573:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MapEntry_$1927_storage_$dyn_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" + } + }, + "id": 2106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4573:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2103, + "id": 2107, + "nodeType": "Return", + "src": "4566:26:10" + } + ] + }, + "documentation": { + "id": 2097, + "nodeType": "StructuredDocumentation", + "src": "4407:79:10", + "text": "@dev Returns the number of key-value pairs in the map. O(1)." + }, + "id": 2109, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_length", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2099, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2109, + "src": "4508:15:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + }, + "typeName": { + "contractScope": null, + "id": 2098, + "name": "Map", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1935, + "src": "4508:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4507:17:10" + }, + "returnParameters": { + "id": 2103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2102, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2109, + "src": "4547:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2101, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4547:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4546:9:10" + }, + "scope": 2479, + "src": "4491:108:10", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2143, + "nodeType": "Block", + "src": "5027:189:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2122, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2112, + "src": "5045:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2123, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 1930, + "src": "5045:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MapEntry_$1927_storage_$dyn_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" + } + }, + "id": 2124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "5045:19:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 2125, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2114, + "src": "5067:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5045:27:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e6473", + "id": 2127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5074:36:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_86631030b9066a18616a068fc09fce83d18af4765cb1d2166fa475228f4db155", + "typeString": "literal_string \"EnumerableMap: index out of bounds\"" + }, + "value": "EnumerableMap: index out of bounds" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_86631030b9066a18616a068fc09fce83d18af4765cb1d2166fa475228f4db155", + "typeString": "literal_string \"EnumerableMap: index out of bounds\"" + } + ], + "id": 2121, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5037:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5037:74:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2129, + "nodeType": "ExpressionStatement", + "src": "5037:74:10" + }, + { + "assignments": [ + 2131 + ], + "declarations": [ + { + "constant": false, + "id": 2131, + "mutability": "mutable", + "name": "entry", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2143, + "src": "5122:22:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage_ptr", + "typeString": "struct EnumerableMap.MapEntry" + }, + "typeName": { + "contractScope": null, + "id": 2130, + "name": "MapEntry", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1927, + "src": "5122:8:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage_ptr", + "typeString": "struct EnumerableMap.MapEntry" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2136, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2132, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2112, + "src": "5147:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2133, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 1930, + "src": "5147:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MapEntry_$1927_storage_$dyn_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" + } + }, + "id": 2135, + "indexExpression": { + "argumentTypes": null, + "id": 2134, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2114, + "src": "5160:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5147:19:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5122:44:10" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2137, + "name": "entry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2131, + "src": "5184:5:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage_ptr", + "typeString": "struct EnumerableMap.MapEntry storage pointer" + } + }, + "id": 2138, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_key", + "nodeType": "MemberAccess", + "referencedDeclaration": 1924, + "src": "5184:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2139, + "name": "entry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2131, + "src": "5196:5:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage_ptr", + "typeString": "struct EnumerableMap.MapEntry storage pointer" + } + }, + "id": 2140, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1926, + "src": "5196:12:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2141, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5183:26:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", + "typeString": "tuple(bytes32,bytes32)" + } + }, + "functionReturnParameters": 2120, + "id": 2142, + "nodeType": "Return", + "src": "5176:33:10" + } + ] + }, + "documentation": { + "id": 2110, + "nodeType": "StructuredDocumentation", + "src": "4604:333:10", + "text": "@dev Returns the key-value pair stored at position `index` in the map. O(1).\n * Note that there are no guarantees on the ordering of entries inside the\narray, and it may change when more entries are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}." + }, + "id": 2144, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_at", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2112, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2144, + "src": "4955:15:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + }, + "typeName": { + "contractScope": null, + "id": 2111, + "name": "Map", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1935, + "src": "4955:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2114, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2144, + "src": "4972:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4972:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4954:32:10" + }, + "returnParameters": { + "id": 2120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2117, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2144, + "src": "5009:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2116, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5009:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2119, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2144, + "src": "5018:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2118, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5018:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5008:18:10" + }, + "scope": 2479, + "src": "4942:274:10", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2181, + "nodeType": "Block", + "src": "5442:220:10", + "statements": [ + { + "assignments": [ + 2157 + ], + "declarations": [ + { + "constant": false, + "id": 2157, + "mutability": "mutable", + "name": "keyIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2181, + "src": "5452:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2156, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5452:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2162, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2158, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2147, + "src": "5471:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2159, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 1934, + "src": "5471:12:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2161, + "indexExpression": { + "argumentTypes": null, + "id": 2160, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2149, + "src": "5484:3:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5471:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5452:36:10" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2163, + "name": "keyIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2157, + "src": "5502:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5514:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5502:13:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2170, + "nodeType": "IfStatement", + "src": "5498:36:10", + "trueBody": { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 2166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5525:5:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 2167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5532:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 2168, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5524:10:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 2155, + "id": 2169, + "nodeType": "Return", + "src": "5517:17:10" + } + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5588:4:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2172, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2147, + "src": "5594:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 1930, + "src": "5594:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MapEntry_$1927_storage_$dyn_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" + } + }, + "id": 2177, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2174, + "name": "keyIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2157, + "src": "5607:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 2175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5618:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "5607:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5594:26:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref" + } + }, + "id": 2178, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1926, + "src": "5594:33:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2179, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5587:41:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes32_$", + "typeString": "tuple(bool,bytes32)" + } + }, + "functionReturnParameters": 2155, + "id": 2180, + "nodeType": "Return", + "src": "5580:48:10" + } + ] + }, + "documentation": { + "id": 2145, + "nodeType": "StructuredDocumentation", + "src": "5222:131:10", + "text": "@dev Tries to returns the value associated with `key`. O(1).\nDoes not revert if `key` is not in the map." + }, + "id": 2182, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_tryGet", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2147, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2182, + "src": "5375:15:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + }, + "typeName": { + "contractScope": null, + "id": 2146, + "name": "Map", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1935, + "src": "5375:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2149, + "mutability": "mutable", + "name": "key", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2182, + "src": "5392:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2148, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5392:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5374:30:10" + }, + "returnParameters": { + "id": 2155, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2152, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2182, + "src": "5427:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2151, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5427:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2154, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2182, + "src": "5433:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2153, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5433:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5426:15:10" + }, + "scope": 2479, + "src": "5358:304:10", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2214, + "nodeType": "Block", + "src": "5889:232:10", + "statements": [ + { + "assignments": [ + 2193 + ], + "declarations": [ + { + "constant": false, + "id": 2193, + "mutability": "mutable", + "name": "keyIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2214, + "src": "5899:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2192, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5899:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2198, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2194, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2185, + "src": "5918:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2195, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 1934, + "src": "5918:12:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2197, + "indexExpression": { + "argumentTypes": null, + "id": 2196, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2187, + "src": "5931:3:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5918:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5899:36:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2200, + "name": "keyIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2193, + "src": "5953:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5965:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5953:13:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579", + "id": 2203, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5968:32:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d3551e30d3095fd81287b88f7139bb09818e34280e85ee821994ebaebbed7072", + "typeString": "literal_string \"EnumerableMap: nonexistent key\"" + }, + "value": "EnumerableMap: nonexistent key" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d3551e30d3095fd81287b88f7139bb09818e34280e85ee821994ebaebbed7072", + "typeString": "literal_string \"EnumerableMap: nonexistent key\"" + } + ], + "id": 2199, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5945:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5945:56:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2205, + "nodeType": "ExpressionStatement", + "src": "5945:56:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2206, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2185, + "src": "6054:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2207, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 1930, + "src": "6054:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MapEntry_$1927_storage_$dyn_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" + } + }, + "id": 2211, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2208, + "name": "keyIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2193, + "src": "6067:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 2209, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6078:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6067:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6054:26:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref" + } + }, + "id": 2212, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1926, + "src": "6054:33:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 2191, + "id": 2213, + "nodeType": "Return", + "src": "6047:40:10" + } + ] + }, + "documentation": { + "id": 2183, + "nodeType": "StructuredDocumentation", + "src": "5668:141:10", + "text": "@dev Returns the value associated with `key`. O(1).\n * Requirements:\n * - `key` must be in the map." + }, + "id": 2215, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_get", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2185, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2215, + "src": "5828:15:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + }, + "typeName": { + "contractScope": null, + "id": 2184, + "name": "Map", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1935, + "src": "5828:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2187, + "mutability": "mutable", + "name": "key", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2215, + "src": "5845:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2186, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5845:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5827:30:10" + }, + "returnParameters": { + "id": 2191, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2190, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2215, + "src": "5880:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2189, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5880:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5879:9:10" + }, + "scope": 2479, + "src": "5814:307:10", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2249, + "nodeType": "Block", + "src": "6506:212:10", + "statements": [ + { + "assignments": [ + 2228 + ], + "declarations": [ + { + "constant": false, + "id": 2228, + "mutability": "mutable", + "name": "keyIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2249, + "src": "6516:16:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2227, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6516:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2233, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2229, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2218, + "src": "6535:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2230, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 1934, + "src": "6535:12:10", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2232, + "indexExpression": { + "argumentTypes": null, + "id": 2231, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2220, + "src": "6548:3:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6535:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6516:36:10" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2235, + "name": "keyIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2228, + "src": "6570:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6582:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6570:13:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 2238, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2222, + "src": "6585:12:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2234, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6562:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6562:36:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2240, + "nodeType": "ExpressionStatement", + "src": "6562:36:10" + }, + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2241, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2218, + "src": "6651:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map storage pointer" + } + }, + "id": 2242, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_entries", + "nodeType": "MemberAccess", + "referencedDeclaration": 1930, + "src": "6651:12:10", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_MapEntry_$1927_storage_$dyn_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" + } + }, + "id": 2246, + "indexExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2243, + "name": "keyIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2228, + "src": "6664:8:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 2244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6675:1:10", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6664:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6651:26:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_MapEntry_$1927_storage", + "typeString": "struct EnumerableMap.MapEntry storage ref" + } + }, + "id": 2247, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1926, + "src": "6651:33:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 2226, + "id": 2248, + "nodeType": "Return", + "src": "6644:40:10" + } + ] + }, + "documentation": { + "id": 2216, + "nodeType": "StructuredDocumentation", + "src": "6127:271:10", + "text": "@dev Same as {_get}, with a custom error message when `key` is not in the map.\n * CAUTION: This function is deprecated because it requires allocating memory for the error\nmessage unnecessarily. For custom revert reasons use {_tryGet}." + }, + "id": 2250, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_get", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2218, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2250, + "src": "6417:15:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + }, + "typeName": { + "contractScope": null, + "id": 2217, + "name": "Map", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1935, + "src": "6417:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2220, + "mutability": "mutable", + "name": "key", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2250, + "src": "6434:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2219, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6434:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2222, + "mutability": "mutable", + "name": "errorMessage", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2250, + "src": "6447:26:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2221, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6447:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6416:58:10" + }, + "returnParameters": { + "id": 2226, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2225, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2250, + "src": "6497:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2224, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6497:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6496:9:10" + }, + "scope": 2479, + "src": "6403:315:10", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "canonicalName": "EnumerableMap.UintToAddressMap", + "id": 2253, + "members": [ + { + "constant": false, + "id": 2252, + "mutability": "mutable", + "name": "_inner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2253, + "src": "6783:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + }, + "typeName": { + "contractScope": null, + "id": 2251, + "name": "Map", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1935, + "src": "6783:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage_ptr", + "typeString": "struct EnumerableMap.Map" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "UintToAddressMap", + "nodeType": "StructDefinition", + "scope": 2479, + "src": "6749:51:10", + "visibility": "public" + }, + { + "body": { + "id": 2284, + "nodeType": "Block", + "src": "7122:88:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2266, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2256, + "src": "7144:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" + } + }, + "id": 2267, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2252, + "src": "7144:10:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2270, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2258, + "src": "7164:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7156:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 2268, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7156:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7156:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2278, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2260, + "src": "7194:5:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2277, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7186:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 2276, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "7186:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7186:14:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 2275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7178:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2274, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7178:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7178:23:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2273, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7170:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 2272, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7170:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7170:32:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2265, + "name": "_set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1997, + "src": "7139:4:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Map_$1935_storage_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32,bytes32) returns (bool)" + } + }, + "id": 2282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7139:64:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2264, + "id": 2283, + "nodeType": "Return", + "src": "7132:71:10" + } + ] + }, + "documentation": { + "id": 2254, + "nodeType": "StructuredDocumentation", + "src": "6806:216:10", + "text": "@dev Adds a key-value pair to a map, or updates the value for an existing\nkey. O(1).\n * Returns true if the key was added to the map, that is if it was not\nalready present." + }, + "id": 2285, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "set", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2261, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2256, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2285, + "src": "7040:28:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + }, + "typeName": { + "contractScope": null, + "id": 2255, + "name": "UintToAddressMap", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2253, + "src": "7040:16:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2258, + "mutability": "mutable", + "name": "key", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2285, + "src": "7070:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7070:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2260, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2285, + "src": "7083:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2259, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7083:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7039:58:10" + }, + "returnParameters": { + "id": 2264, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2263, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2285, + "src": "7116:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2262, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7116:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7115:6:10" + }, + "scope": 2479, + "src": "7027:183:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2304, + "nodeType": "Block", + "src": "7452:57:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2296, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2288, + "src": "7477:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" + } + }, + "id": 2297, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2252, + "src": "7477:10:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2300, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2290, + "src": "7497:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7489:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 2298, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7489:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7489:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2295, + "name": "_remove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2078, + "src": "7469:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Map_$1935_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) returns (bool)" + } + }, + "id": 2302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7469:33:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2294, + "id": 2303, + "nodeType": "Return", + "src": "7462:40:10" + } + ] + }, + "documentation": { + "id": 2286, + "nodeType": "StructuredDocumentation", + "src": "7216:148:10", + "text": "@dev Removes a value from a set. O(1).\n * Returns true if the key was removed from the map, that is if it was present." + }, + "id": 2305, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2288, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2305, + "src": "7385:28:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + }, + "typeName": { + "contractScope": null, + "id": 2287, + "name": "UintToAddressMap", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2253, + "src": "7385:16:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2290, + "mutability": "mutable", + "name": "key", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2305, + "src": "7415:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2289, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7415:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7384:43:10" + }, + "returnParameters": { + "id": 2294, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2293, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2305, + "src": "7446:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2292, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7446:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7445:6:10" + }, + "scope": 2479, + "src": "7369:140:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2324, + "nodeType": "Block", + "src": "7678:59:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2316, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2308, + "src": "7705:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" + } + }, + "id": 2317, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2252, + "src": "7705:10:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2320, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2310, + "src": "7725:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2319, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7717:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 2318, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7717:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7717:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2315, + "name": "_contains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2096, + "src": "7695:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$1935_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bool)" + } + }, + "id": 2322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7695:35:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2314, + "id": 2323, + "nodeType": "Return", + "src": "7688:42:10" + } + ] + }, + "documentation": { + "id": 2306, + "nodeType": "StructuredDocumentation", + "src": "7515:68:10", + "text": "@dev Returns true if the key is in the map. O(1)." + }, + "id": 2325, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "contains", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2311, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2308, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2325, + "src": "7606:28:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + }, + "typeName": { + "contractScope": null, + "id": 2307, + "name": "UintToAddressMap", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2253, + "src": "7606:16:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2310, + "mutability": "mutable", + "name": "key", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2325, + "src": "7636:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2309, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7636:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7605:43:10" + }, + "returnParameters": { + "id": 2314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2313, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2325, + "src": "7672:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2312, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7672:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7671:6:10" + }, + "scope": 2479, + "src": "7588:149:10", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2338, + "nodeType": "Block", + "src": "7898:43:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2334, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2328, + "src": "7923:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" + } + }, + "id": 2335, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2252, + "src": "7923:10:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + } + ], + "id": 2333, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2109, + "src": "7915:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$1935_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct EnumerableMap.Map storage pointer) view returns (uint256)" + } + }, + "id": 2336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7915:19:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2332, + "id": 2337, + "nodeType": "Return", + "src": "7908:26:10" + } + ] + }, + "documentation": { + "id": 2326, + "nodeType": "StructuredDocumentation", + "src": "7743:72:10", + "text": "@dev Returns the number of elements in the map. O(1)." + }, + "id": 2339, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "length", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2329, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2328, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2339, + "src": "7836:28:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + }, + "typeName": { + "contractScope": null, + "id": 2327, + "name": "UintToAddressMap", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2253, + "src": "7836:16:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7835:30:10" + }, + "returnParameters": { + "id": 2332, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2331, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2339, + "src": "7889:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2330, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7889:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7888:9:10" + }, + "scope": 2479, + "src": "7820:121:10", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2377, + "nodeType": "Block", + "src": "8367:135:10", + "statements": [ + { + "assignments": [ + 2352, + 2354 + ], + "declarations": [ + { + "constant": false, + "id": 2352, + "mutability": "mutable", + "name": "key", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2377, + "src": "8378:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2351, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8378:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2354, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2377, + "src": "8391:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2353, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8391:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2360, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2356, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2342, + "src": "8412:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" + } + }, + "id": 2357, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2252, + "src": "8412:10:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + } + }, + { + "argumentTypes": null, + "id": 2358, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2344, + "src": "8424:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2355, + "name": "_at", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2144, + "src": "8408:3:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$1935_storage_ptr_$_t_uint256_$returns$_t_bytes32_$_t_bytes32_$", + "typeString": "function (struct EnumerableMap.Map storage pointer,uint256) view returns (bytes32,bytes32)" + } + }, + "id": 2359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8408:22:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", + "typeString": "tuple(bytes32,bytes32)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8377:53:10" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2363, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2352, + "src": "8456:3:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2362, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8448:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2361, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8448:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8448:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2371, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2354, + "src": "8486:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8478:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2369, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8478:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8478:14:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8470:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 2367, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "8470:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8470:23:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 2366, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8462:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2365, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8462:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8462:32:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "id": 2375, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8447:48:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_address_payable_$", + "typeString": "tuple(uint256,address payable)" + } + }, + "functionReturnParameters": 2350, + "id": 2376, + "nodeType": "Return", + "src": "8440:55:10" + } + ] + }, + "documentation": { + "id": 2340, + "nodeType": "StructuredDocumentation", + "src": "7946:318:10", + "text": "@dev Returns the element stored at position `index` in the set. O(1).\nNote that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}." + }, + "id": 2378, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "at", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2345, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2342, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2378, + "src": "8281:28:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + }, + "typeName": { + "contractScope": null, + "id": 2341, + "name": "UintToAddressMap", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2253, + "src": "8281:16:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2344, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2378, + "src": "8311:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2343, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8311:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8280:45:10" + }, + "returnParameters": { + "id": 2350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2347, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2378, + "src": "8349:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2346, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8349:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2349, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2378, + "src": "8358:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2348, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8358:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8348:18:10" + }, + "scope": 2479, + "src": "8269:233:10", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2416, + "nodeType": "Block", + "src": "8779:142:10", + "statements": [ + { + "assignments": [ + 2391, + 2393 + ], + "declarations": [ + { + "constant": false, + "id": 2391, + "mutability": "mutable", + "name": "success", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2416, + "src": "8790:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2390, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8790:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2393, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2416, + "src": "8804:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2392, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8804:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2402, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2395, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2381, + "src": "8829:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" + } + }, + "id": 2396, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2252, + "src": "8829:10:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2399, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2383, + "src": "8849:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2398, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8841:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 2397, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8841:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8841:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2394, + "name": "_tryGet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2182, + "src": "8821:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$1935_storage_ptr_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$", + "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bool,bytes32)" + } + }, + "id": 2401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8821:33:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes32_$", + "typeString": "tuple(bool,bytes32)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8789:65:10" + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "id": 2403, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2391, + "src": "8872:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2410, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2393, + "src": "8905:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2409, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8897:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2408, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8897:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8897:14:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8889:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 2406, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "8889:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8889:23:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 2405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8881:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8881:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8881:32:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + } + ], + "id": 2414, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8871:43:10", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_address_payable_$", + "typeString": "tuple(bool,address payable)" + } + }, + "functionReturnParameters": 2389, + "id": 2415, + "nodeType": "Return", + "src": "8864:50:10" + } + ] + }, + "documentation": { + "id": 2379, + "nodeType": "StructuredDocumentation", + "src": "8508:169:10", + "text": "@dev Tries to returns the value associated with `key`. O(1).\nDoes not revert if `key` is not in the map.\n * _Available since v3.4._" + }, + "id": 2417, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryGet", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2384, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2381, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2417, + "src": "8698:28:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + }, + "typeName": { + "contractScope": null, + "id": 2380, + "name": "UintToAddressMap", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2253, + "src": "8698:16:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2383, + "mutability": "mutable", + "name": "key", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2417, + "src": "8728:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2382, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8728:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8697:43:10" + }, + "returnParameters": { + "id": 2389, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2386, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2417, + "src": "8764:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2385, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8764:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2388, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2417, + "src": "8770:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2387, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8770:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8763:15:10" + }, + "scope": 2479, + "src": "8682:239:10", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2445, + "nodeType": "Block", + "src": "9161:81:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2434, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2420, + "src": "9207:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" + } + }, + "id": 2435, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2252, + "src": "9207:10:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2438, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2422, + "src": "9227:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9219:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 2436, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9219:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9219:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2433, + "name": "_get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2215, + 2250 + ], + "referencedDeclaration": 2215, + "src": "9202:4:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$1935_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bytes32)" + } + }, + "id": 2440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9202:30:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9194:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2431, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9194:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9194:39:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9186:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 2429, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "9186:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9186:48:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 2428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9178:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2427, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9178:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9178:57:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 2426, + "id": 2444, + "nodeType": "Return", + "src": "9171:64:10" + } + ] + }, + "documentation": { + "id": 2418, + "nodeType": "StructuredDocumentation", + "src": "8927:141:10", + "text": "@dev Returns the value associated with `key`. O(1).\n * Requirements:\n * - `key` must be in the map." + }, + "id": 2446, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2420, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2446, + "src": "9086:28:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + }, + "typeName": { + "contractScope": null, + "id": 2419, + "name": "UintToAddressMap", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2253, + "src": "9086:16:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2422, + "mutability": "mutable", + "name": "key", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2446, + "src": "9116:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2421, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9116:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9085:43:10" + }, + "returnParameters": { + "id": 2426, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2425, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2446, + "src": "9152:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2424, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9152:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9151:9:10" + }, + "scope": 2479, + "src": "9073:169:10", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2477, + "nodeType": "Block", + "src": "9638:95:10", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2465, + "name": "map", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2449, + "src": "9684:3:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" + } + }, + "id": 2466, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2252, + "src": "9684:10:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2469, + "name": "key", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2451, + "src": "9704:3:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9696:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 2467, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9696:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9696:12:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 2471, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2453, + "src": "9710:12:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Map_$1935_storage", + "typeString": "struct EnumerableMap.Map storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2464, + "name": "_get", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2215, + 2250 + ], + "referencedDeclaration": 2250, + "src": "9679:4:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$1935_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32,string memory) view returns (bytes32)" + } + }, + "id": 2472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9679:44:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9671:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2462, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9671:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9671:53:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9663:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 2460, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "9663:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9663:62:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 2459, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9655:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2458, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9655:7:10", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9655:71:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 2457, + "id": 2476, + "nodeType": "Return", + "src": "9648:78:10" + } + ] + }, + "documentation": { + "id": 2447, + "nodeType": "StructuredDocumentation", + "src": "9248:269:10", + "text": "@dev Same as {get}, with a custom error message when `key` is not in the map.\n * CAUTION: This function is deprecated because it requires allocating memory for the error\nmessage unnecessarily. For custom revert reasons use {tryGet}." + }, + "id": 2478, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "get", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2454, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2449, + "mutability": "mutable", + "name": "map", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2478, + "src": "9535:28:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + }, + "typeName": { + "contractScope": null, + "id": 2448, + "name": "UintToAddressMap", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2253, + "src": "9535:16:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintToAddressMap_$2253_storage_ptr", + "typeString": "struct EnumerableMap.UintToAddressMap" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2451, + "mutability": "mutable", + "name": "key", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2478, + "src": "9565:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9565:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2453, + "mutability": "mutable", + "name": "errorMessage", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2478, + "src": "9578:26:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2452, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9578:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9534:71:10" + }, + "returnParameters": { + "id": 2457, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2456, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2478, + "src": "9629:7:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2455, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9629:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9628:9:10" + }, + "scope": 2479, + "src": "9522:211:10", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 2480, + "src": "772:8963:10" + } + ], + "src": "33:9703:10" + }, + "bytecode": "60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204989be9080ff9c633dc75010afc44abed6a5c53a2303b0a684bf4ff8d9836f6064736f6c63430006060033", + "bytecodeSha1": "3b4158955f564edb18bd7a8ffdb49859c904f0b7", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.6+commit.6c089d02" + }, + "contractName": "EnumerableMap", + "coverageMap": { + "branches": { + "10": {} + }, + "statements": { + "10": {} + } + }, + "dependencies": [], + "deployedBytecode": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204989be9080ff9c633dc75010afc44abed6a5c53a2303b0a684bf4ff8d9836f6064736f6c63430006060033", + "deployedSourceMap": "772:8963:10:-:0;;;;;;12:1:-1;9;2:12", + "language": "Solidity", + "natspec": { + "details": "Library for managing an enumerable variant of Solidity's https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`] type. * Maps have the following properties: * - Entries are added, removed, and checked for existence in constant time (O(1)). - Entries are enumerated in O(n). No guarantees are made on the ordering. * ``` contract Example { // Add the library methods using EnumerableMap for EnumerableMap.UintToAddressMap; * // Declare a set state variable EnumerableMap.UintToAddressMap private myMap; } ``` * As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are supported.", + "methods": {} + }, + "offset": [ + 772, + 9735 + ], + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x49 DUP10 0xBE SWAP1 DUP1 SELFDESTRUCT SWAP13 PUSH4 0x3DC75010 0xAF 0xC4 0x4A 0xBE 0xD6 0xA5 0xC5 GASPRICE 0x23 SUB 0xB0 0xA6 DUP5 0xBF 0x4F 0xF8 0xD9 DUP4 PUSH16 0x6064736F6C6343000606003300000000 ", + "pcMap": { + "0": { + "offset": [ + 772, + 9735 + ], + "op": "PUSH20", + "path": "10", + "value": "0x0" + }, + "21": { + "fn": null, + "offset": [ + 772, + 9735 + ], + "op": "ADDRESS", + "path": "10" + }, + "22": { + "fn": null, + "offset": [ + 772, + 9735 + ], + "op": "EQ", + "path": "10" + }, + "23": { + "fn": null, + "offset": [ + 772, + 9735 + ], + "op": "PUSH1", + "path": "10", + "value": "0x80" + }, + "25": { + "fn": null, + "offset": [ + 772, + 9735 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "27": { + "fn": null, + "offset": [ + 772, + 9735 + ], + "op": "MSTORE", + "path": "10" + }, + "28": { + "op": "PUSH1", + "value": "0x0" + }, + "30": { + "op": "DUP1" + }, + "31": { + "op": "REVERT" + } + }, + "sha1": "69084627345abc477daaa8b2facee85bfebbd45e", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Library for managing an enumerable variant of Solidity's\n * https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`]\n * type.\n *\n * Maps have the following properties:\n *\n * - Entries are added, removed, and checked for existence in constant time\n * (O(1)).\n * - Entries are enumerated in O(n). No guarantees are made on the ordering.\n *\n * ```\n * contract Example {\n * // Add the library methods\n * using EnumerableMap for EnumerableMap.UintToAddressMap;\n *\n * // Declare a set state variable\n * EnumerableMap.UintToAddressMap private myMap;\n * }\n * ```\n *\n * As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are\n * supported.\n */\nlibrary EnumerableMap {\n // To implement this library for multiple types with as little code\n // repetition as possible, we write it in terms of a generic Map type with\n // bytes32 keys and values.\n // The Map implementation uses private functions, and user-facing\n // implementations (such as Uint256ToAddressMap) are just wrappers around\n // the underlying Map.\n // This means that we can only create new EnumerableMaps for types that fit\n // in bytes32.\n\n struct MapEntry {\n bytes32 _key;\n bytes32 _value;\n }\n\n struct Map {\n // Storage of map keys and values\n MapEntry[] _entries;\n\n // Position of the entry defined by a key in the `entries` array, plus 1\n // because index 0 means a key is not in the map.\n mapping (bytes32 => uint256) _indexes;\n }\n\n /**\n * @dev Adds a key-value pair to a map, or updates the value for an existing\n * key. O(1).\n *\n * Returns true if the key was added to the map, that is if it was not\n * already present.\n */\n function _set(Map storage map, bytes32 key, bytes32 value) private returns (bool) {\n // We read and store the key's index to prevent multiple reads from the same storage slot\n uint256 keyIndex = map._indexes[key];\n\n if (keyIndex == 0) { // Equivalent to !contains(map, key)\n map._entries.push(MapEntry({ _key: key, _value: value }));\n // The entry is stored at length-1, but we add 1 to all indexes\n // and use 0 as a sentinel value\n map._indexes[key] = map._entries.length;\n return true;\n } else {\n map._entries[keyIndex - 1]._value = value;\n return false;\n }\n }\n\n /**\n * @dev Removes a key-value pair from a map. O(1).\n *\n * Returns true if the key was removed from the map, that is if it was present.\n */\n function _remove(Map storage map, bytes32 key) private returns (bool) {\n // We read and store the key's index to prevent multiple reads from the same storage slot\n uint256 keyIndex = map._indexes[key];\n\n if (keyIndex != 0) { // Equivalent to contains(map, key)\n // To delete a key-value pair from the _entries array in O(1), we swap the entry to delete with the last one\n // in the array, and then remove the last entry (sometimes called as 'swap and pop').\n // This modifies the order of the array, as noted in {at}.\n\n uint256 toDeleteIndex = keyIndex - 1;\n uint256 lastIndex = map._entries.length - 1;\n\n // When the entry to delete is the last one, the swap operation is unnecessary. However, since this occurs\n // so rarely, we still do the swap anyway to avoid the gas cost of adding an 'if' statement.\n\n MapEntry storage lastEntry = map._entries[lastIndex];\n\n // Move the last entry to the index where the entry to delete is\n map._entries[toDeleteIndex] = lastEntry;\n // Update the index for the moved entry\n map._indexes[lastEntry._key] = toDeleteIndex + 1; // All indexes are 1-based\n\n // Delete the slot where the moved entry was stored\n map._entries.pop();\n\n // Delete the index for the deleted slot\n delete map._indexes[key];\n\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Returns true if the key is in the map. O(1).\n */\n function _contains(Map storage map, bytes32 key) private view returns (bool) {\n return map._indexes[key] != 0;\n }\n\n /**\n * @dev Returns the number of key-value pairs in the map. O(1).\n */\n function _length(Map storage map) private view returns (uint256) {\n return map._entries.length;\n }\n\n /**\n * @dev Returns the key-value pair stored at position `index` in the map. O(1).\n *\n * Note that there are no guarantees on the ordering of entries inside the\n * array, and it may change when more entries are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function _at(Map storage map, uint256 index) private view returns (bytes32, bytes32) {\n require(map._entries.length > index, \"EnumerableMap: index out of bounds\");\n\n MapEntry storage entry = map._entries[index];\n return (entry._key, entry._value);\n }\n\n /**\n * @dev Tries to returns the value associated with `key`. O(1).\n * Does not revert if `key` is not in the map.\n */\n function _tryGet(Map storage map, bytes32 key) private view returns (bool, bytes32) {\n uint256 keyIndex = map._indexes[key];\n if (keyIndex == 0) return (false, 0); // Equivalent to contains(map, key)\n return (true, map._entries[keyIndex - 1]._value); // All indexes are 1-based\n }\n\n /**\n * @dev Returns the value associated with `key`. O(1).\n *\n * Requirements:\n *\n * - `key` must be in the map.\n */\n function _get(Map storage map, bytes32 key) private view returns (bytes32) {\n uint256 keyIndex = map._indexes[key];\n require(keyIndex != 0, \"EnumerableMap: nonexistent key\"); // Equivalent to contains(map, key)\n return map._entries[keyIndex - 1]._value; // All indexes are 1-based\n }\n\n /**\n * @dev Same as {_get}, with a custom error message when `key` is not in the map.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {_tryGet}.\n */\n function _get(Map storage map, bytes32 key, string memory errorMessage) private view returns (bytes32) {\n uint256 keyIndex = map._indexes[key];\n require(keyIndex != 0, errorMessage); // Equivalent to contains(map, key)\n return map._entries[keyIndex - 1]._value; // All indexes are 1-based\n }\n\n // UintToAddressMap\n\n struct UintToAddressMap {\n Map _inner;\n }\n\n /**\n * @dev Adds a key-value pair to a map, or updates the value for an existing\n * key. O(1).\n *\n * Returns true if the key was added to the map, that is if it was not\n * already present.\n */\n function set(UintToAddressMap storage map, uint256 key, address value) internal returns (bool) {\n return _set(map._inner, bytes32(key), bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the key was removed from the map, that is if it was present.\n */\n function remove(UintToAddressMap storage map, uint256 key) internal returns (bool) {\n return _remove(map._inner, bytes32(key));\n }\n\n /**\n * @dev Returns true if the key is in the map. O(1).\n */\n function contains(UintToAddressMap storage map, uint256 key) internal view returns (bool) {\n return _contains(map._inner, bytes32(key));\n }\n\n /**\n * @dev Returns the number of elements in the map. O(1).\n */\n function length(UintToAddressMap storage map) internal view returns (uint256) {\n return _length(map._inner);\n }\n\n /**\n * @dev Returns the element stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(UintToAddressMap storage map, uint256 index) internal view returns (uint256, address) {\n (bytes32 key, bytes32 value) = _at(map._inner, index);\n return (uint256(key), address(uint160(uint256(value))));\n }\n\n /**\n * @dev Tries to returns the value associated with `key`. O(1).\n * Does not revert if `key` is not in the map.\n *\n * _Available since v3.4._\n */\n function tryGet(UintToAddressMap storage map, uint256 key) internal view returns (bool, address) {\n (bool success, bytes32 value) = _tryGet(map._inner, bytes32(key));\n return (success, address(uint160(uint256(value))));\n }\n\n /**\n * @dev Returns the value associated with `key`. O(1).\n *\n * Requirements:\n *\n * - `key` must be in the map.\n */\n function get(UintToAddressMap storage map, uint256 key) internal view returns (address) {\n return address(uint160(uint256(_get(map._inner, bytes32(key)))));\n }\n\n /**\n * @dev Same as {get}, with a custom error message when `key` is not in the map.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryGet}.\n */\n function get(UintToAddressMap storage map, uint256 key, string memory errorMessage) internal view returns (address) {\n return address(uint160(uint256(_get(map._inner, bytes32(key), errorMessage))));\n }\n}\n", + "sourceMap": "772:8963:10:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", + "sourcePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableMap.sol", + "type": "library" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/EnumerableSet.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/EnumerableSet.json new file mode 100644 index 00000000..992c4e44 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/EnumerableSet.json @@ -0,0 +1,6451 @@ +{ + "abi": [], + "allSourcePaths": { + "11": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableSet.sol" + }, + "ast": { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableSet.sol", + "exportedSymbols": { + "EnumerableSet": [ + 2971 + ] + }, + "id": 2972, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2481, + "literals": [ + "solidity", + ">=", + "0.6", + ".0", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:31:11" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 2482, + "nodeType": "StructuredDocumentation", + "src": "66:686:11", + "text": "@dev Library for managing\nhttps://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\ntypes.\n * Sets have the following properties:\n * - Elements are added, removed, and checked for existence in constant time\n(O(1)).\n- Elements are enumerated in O(n). No guarantees are made on the ordering.\n * ```\ncontract Example {\n // Add the library methods\n using EnumerableSet for EnumerableSet.AddressSet;\n * // Declare a set state variable\n EnumerableSet.AddressSet private mySet;\n}\n```\n * As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`)\nand `uint256` (`UintSet`) are supported." + }, + "fullyImplemented": true, + "id": 2971, + "linearizedBaseContracts": [ + 2971 + ], + "name": "EnumerableSet", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "EnumerableSet.Set", + "id": 2490, + "members": [ + { + "constant": false, + "id": 2485, + "mutability": "mutable", + "name": "_values", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2490, + "src": "1275:17:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 2483, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1275:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 2484, + "length": null, + "nodeType": "ArrayTypeName", + "src": "1275:9:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2489, + "mutability": "mutable", + "name": "_indexes", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2490, + "src": "1426:37:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 2488, + "keyType": { + "id": 2486, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1435:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1426:28:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 2487, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1446:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Set", + "nodeType": "StructDefinition", + "scope": 2971, + "src": "1221:249:11", + "visibility": "public" + }, + { + "body": { + "id": 2530, + "nodeType": "Block", + "src": "1709:335:11", + "statements": [ + { + "condition": { + "argumentTypes": null, + "id": 2504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1723:22:11", + "subExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2501, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2493, + "src": "1734:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + } + }, + { + "argumentTypes": null, + "id": 2502, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2495, + "src": "1739:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2500, + "name": "_contains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "1724:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$2490_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" + } + }, + "id": 2503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1724:21:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2528, + "nodeType": "Block", + "src": "2001:37:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 2526, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2022:5:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 2499, + "id": 2527, + "nodeType": "Return", + "src": "2015:12:11" + } + ] + }, + "id": 2529, + "nodeType": "IfStatement", + "src": "1719:319:11", + "trueBody": { + "id": 2525, + "nodeType": "Block", + "src": "1747:248:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2510, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2495, + "src": "1778:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2505, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2493, + "src": "1761:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + } + }, + "id": 2508, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_values", + "nodeType": "MemberAccess", + "referencedDeclaration": 2485, + "src": "1761:11:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 2509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1761:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$__$", + "typeString": "function (bytes32)" + } + }, + "id": 2511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1761:23:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2512, + "nodeType": "ExpressionStatement", + "src": "1761:23:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2513, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2493, + "src": "1919:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + } + }, + "id": 2516, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 2489, + "src": "1919:12:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2517, + "indexExpression": { + "argumentTypes": null, + "id": 2515, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2495, + "src": "1932:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1919:19:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2518, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2493, + "src": "1941:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + } + }, + "id": 2519, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_values", + "nodeType": "MemberAccess", + "referencedDeclaration": 2485, + "src": "1941:11:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 2520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1941:18:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1919:40:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2522, + "nodeType": "ExpressionStatement", + "src": "1919:40:11" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2523, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1980:4:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2499, + "id": 2524, + "nodeType": "Return", + "src": "1973:11:11" + } + ] + } + } + ] + }, + "documentation": { + "id": 2491, + "nodeType": "StructuredDocumentation", + "src": "1476:159:11", + "text": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present." + }, + "id": 2531, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_add", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2493, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2531, + "src": "1654:15:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + }, + "typeName": { + "contractScope": null, + "id": 2492, + "name": "Set", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2490, + "src": "1654:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2495, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2531, + "src": "1671:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2494, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1671:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1653:32:11" + }, + "returnParameters": { + "id": 2499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2498, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2531, + "src": "1703:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2497, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1703:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1702:6:11" + }, + "scope": 2971, + "src": "1640:404:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2610, + "nodeType": "Block", + "src": "2284:1440:11", + "statements": [ + { + "assignments": [ + 2542 + ], + "declarations": [ + { + "constant": false, + "id": 2542, + "mutability": "mutable", + "name": "valueIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2610, + "src": "2394:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2541, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2394:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2547, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2543, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2534, + "src": "2415:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + } + }, + "id": 2544, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 2489, + "src": "2415:12:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2546, + "indexExpression": { + "argumentTypes": null, + "id": 2545, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2536, + "src": "2428:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2415:19:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2394:40:11" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2548, + "name": "valueIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2542, + "src": "2449:10:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2463:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2449:15:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2608, + "nodeType": "Block", + "src": "3681:37:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 2606, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3702:5:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "functionReturnParameters": 2540, + "id": 2607, + "nodeType": "Return", + "src": "3695:12:11" + } + ] + }, + "id": 2609, + "nodeType": "IfStatement", + "src": "2445:1273:11", + "trueBody": { + "id": 2605, + "nodeType": "Block", + "src": "2466:1209:11", + "statements": [ + { + "assignments": [ + 2552 + ], + "declarations": [ + { + "constant": false, + "id": 2552, + "mutability": "mutable", + "name": "toDeleteIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2605, + "src": "2806:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2806:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2556, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2553, + "name": "valueIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2542, + "src": "2830:10:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 2554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2843:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2830:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2806:38:11" + }, + { + "assignments": [ + 2558 + ], + "declarations": [ + { + "constant": false, + "id": 2558, + "mutability": "mutable", + "name": "lastIndex", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2605, + "src": "2858:17:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2557, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2858:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2564, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2559, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2534, + "src": "2878:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + } + }, + "id": 2560, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_values", + "nodeType": "MemberAccess", + "referencedDeclaration": 2485, + "src": "2878:11:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 2561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "2878:18:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 2562, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2899:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2878:22:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2858:42:11" + }, + { + "assignments": [ + 2566 + ], + "declarations": [ + { + "constant": false, + "id": 2566, + "mutability": "mutable", + "name": "lastvalue", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2605, + "src": "3140:17:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2565, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3140:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2571, + "initialValue": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2567, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2534, + "src": "3160:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + } + }, + "id": 2568, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_values", + "nodeType": "MemberAccess", + "referencedDeclaration": 2485, + "src": "3160:11:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 2570, + "indexExpression": { + "argumentTypes": null, + "id": 2569, + "name": "lastIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2558, + "src": "3172:9:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3160:22:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3140:42:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2572, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2534, + "src": "3274:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + } + }, + "id": 2575, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_values", + "nodeType": "MemberAccess", + "referencedDeclaration": 2485, + "src": "3274:11:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 2576, + "indexExpression": { + "argumentTypes": null, + "id": 2574, + "name": "toDeleteIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2552, + "src": "3286:13:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3274:26:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 2577, + "name": "lastvalue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2566, + "src": "3303:9:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "3274:38:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 2579, + "nodeType": "ExpressionStatement", + "src": "3274:38:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2580, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2534, + "src": "3378:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + } + }, + "id": 2583, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 2489, + "src": "3378:12:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2584, + "indexExpression": { + "argumentTypes": null, + "id": 2582, + "name": "lastvalue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2566, + "src": "3391:9:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3378:23:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2585, + "name": "toDeleteIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2552, + "src": "3404:13:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 2586, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3420:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "3404:17:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3378:43:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2589, + "nodeType": "ExpressionStatement", + "src": "3378:43:11" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2590, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2534, + "src": "3527:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + } + }, + "id": 2593, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_values", + "nodeType": "MemberAccess", + "referencedDeclaration": 2485, + "src": "3527:11:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 2594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "pop", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "3527:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3527:17:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2596, + "nodeType": "ExpressionStatement", + "src": "3527:17:11" + }, + { + "expression": { + "argumentTypes": null, + "id": 2601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "3612:26:11", + "subExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2597, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2534, + "src": "3619:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + } + }, + "id": 2598, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 2489, + "src": "3619:12:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2600, + "indexExpression": { + "argumentTypes": null, + "id": 2599, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2536, + "src": "3632:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3619:19:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2602, + "nodeType": "ExpressionStatement", + "src": "3612:26:11" + }, + { + "expression": { + "argumentTypes": null, + "hexValue": "74727565", + "id": 2603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3660:4:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 2540, + "id": 2604, + "nodeType": "Return", + "src": "3653:11:11" + } + ] + } + } + ] + }, + "documentation": { + "id": 2532, + "nodeType": "StructuredDocumentation", + "src": "2050:157:11", + "text": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent." + }, + "id": 2611, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_remove", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2534, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2611, + "src": "2229:15:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + }, + "typeName": { + "contractScope": null, + "id": 2533, + "name": "Set", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2490, + "src": "2229:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2536, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2611, + "src": "2246:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2535, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2246:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2228:32:11" + }, + "returnParameters": { + "id": 2540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2539, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2611, + "src": "2278:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2538, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2278:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2277:6:11" + }, + "scope": 2971, + "src": "2212:1512:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2628, + "nodeType": "Block", + "src": "3884:48:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2621, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2614, + "src": "3901:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + } + }, + "id": 2622, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_indexes", + "nodeType": "MemberAccess", + "referencedDeclaration": 2489, + "src": "3901:12:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 2624, + "indexExpression": { + "argumentTypes": null, + "id": 2623, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2616, + "src": "3914:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3901:19:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2625, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3924:1:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3901:24:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2620, + "id": 2627, + "nodeType": "Return", + "src": "3894:31:11" + } + ] + }, + "documentation": { + "id": 2612, + "nodeType": "StructuredDocumentation", + "src": "3730:70:11", + "text": "@dev Returns true if the value is in the set. O(1)." + }, + "id": 2629, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_contains", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2617, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2614, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2629, + "src": "3824:15:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + }, + "typeName": { + "contractScope": null, + "id": 2613, + "name": "Set", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2490, + "src": "3824:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2616, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2629, + "src": "3841:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2615, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3841:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3823:32:11" + }, + "returnParameters": { + "id": 2620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2619, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2629, + "src": "3878:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2618, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3878:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3877:6:11" + }, + "scope": 2971, + "src": "3805:127:11", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2641, + "nodeType": "Block", + "src": "4078:42:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2637, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "4095:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + } + }, + "id": 2638, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_values", + "nodeType": "MemberAccess", + "referencedDeclaration": 2485, + "src": "4095:11:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 2639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4095:18:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2636, + "id": 2640, + "nodeType": "Return", + "src": "4088:25:11" + } + ] + }, + "documentation": { + "id": 2630, + "nodeType": "StructuredDocumentation", + "src": "3938:70:11", + "text": "@dev Returns the number of values on the set. O(1)." + }, + "id": 2642, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_length", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2632, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2642, + "src": "4030:15:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + }, + "typeName": { + "contractScope": null, + "id": 2631, + "name": "Set", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2490, + "src": "4030:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4029:17:11" + }, + "returnParameters": { + "id": 2636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2635, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2642, + "src": "4069:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2634, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4069:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4068:9:11" + }, + "scope": 2971, + "src": "4013:107:11", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2666, + "nodeType": "Block", + "src": "4528:125:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2653, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2645, + "src": "4546:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + } + }, + "id": 2654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_values", + "nodeType": "MemberAccess", + "referencedDeclaration": 2485, + "src": "4546:11:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 2655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "4546:18:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 2656, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2647, + "src": "4567:5:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4546:26:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473", + "id": 2658, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4574:36:11", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb", + "typeString": "literal_string \"EnumerableSet: index out of bounds\"" + }, + "value": "EnumerableSet: index out of bounds" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb", + "typeString": "literal_string \"EnumerableSet: index out of bounds\"" + } + ], + "id": 2652, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4538:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4538:73:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2660, + "nodeType": "ExpressionStatement", + "src": "4538:73:11" + }, + { + "expression": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2661, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2645, + "src": "4628:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set storage pointer" + } + }, + "id": 2662, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_values", + "nodeType": "MemberAccess", + "referencedDeclaration": 2485, + "src": "4628:11:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + }, + "id": 2664, + "indexExpression": { + "argumentTypes": null, + "id": 2663, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2647, + "src": "4640:5:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4628:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 2651, + "id": 2665, + "nodeType": "Return", + "src": "4621:25:11" + } + ] + }, + "documentation": { + "id": 2643, + "nodeType": "StructuredDocumentation", + "src": "4125:322:11", + "text": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}." + }, + "id": 2667, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_at", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2648, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2645, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2667, + "src": "4465:15:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + }, + "typeName": { + "contractScope": null, + "id": 2644, + "name": "Set", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2490, + "src": "4465:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2647, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2667, + "src": "4482:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2646, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4482:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4464:32:11" + }, + "returnParameters": { + "id": 2651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2650, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2667, + "src": "4519:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2649, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4519:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4518:9:11" + }, + "scope": 2971, + "src": "4452:201:11", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "canonicalName": "EnumerableSet.Bytes32Set", + "id": 2670, + "members": [ + { + "constant": false, + "id": 2669, + "mutability": "mutable", + "name": "_inner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2670, + "src": "4706:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + }, + "typeName": { + "contractScope": null, + "id": 2668, + "name": "Set", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2490, + "src": "4706:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "Bytes32Set", + "nodeType": "StructDefinition", + "scope": 2971, + "src": "4678:45:11", + "visibility": "public" + }, + { + "body": { + "id": 2686, + "nodeType": "Block", + "src": "4969:47:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2681, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2673, + "src": "4991:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$2670_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set storage pointer" + } + }, + "id": 2682, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2669, + "src": "4991:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + }, + { + "argumentTypes": null, + "id": 2683, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2675, + "src": "5003:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2680, + "name": "_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2531, + "src": "4986:4:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$2490_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" + } + }, + "id": 2684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4986:23:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2679, + "id": 2685, + "nodeType": "Return", + "src": "4979:30:11" + } + ] + }, + "documentation": { + "id": 2671, + "nodeType": "StructuredDocumentation", + "src": "4729:159:11", + "text": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present." + }, + "id": 2687, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2676, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2673, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2687, + "src": "4906:22:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$2670_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set" + }, + "typeName": { + "contractScope": null, + "id": 2672, + "name": "Bytes32Set", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2670, + "src": "4906:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$2670_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2675, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2687, + "src": "4930:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2674, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4930:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4905:39:11" + }, + "returnParameters": { + "id": 2679, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2678, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2687, + "src": "4963:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2677, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4963:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4962:6:11" + }, + "scope": 2971, + "src": "4893:123:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2703, + "nodeType": "Block", + "src": "5263:50:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2698, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2690, + "src": "5288:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$2670_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set storage pointer" + } + }, + "id": 2699, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2669, + "src": "5288:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + }, + { + "argumentTypes": null, + "id": 2700, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2692, + "src": "5300:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2697, + "name": "_remove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2611, + "src": "5280:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$2490_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" + } + }, + "id": 2701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5280:26:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2696, + "id": 2702, + "nodeType": "Return", + "src": "5273:33:11" + } + ] + }, + "documentation": { + "id": 2688, + "nodeType": "StructuredDocumentation", + "src": "5022:157:11", + "text": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent." + }, + "id": 2704, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2693, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2690, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2704, + "src": "5200:22:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$2670_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set" + }, + "typeName": { + "contractScope": null, + "id": 2689, + "name": "Bytes32Set", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2670, + "src": "5200:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$2670_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2692, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2704, + "src": "5224:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2691, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5224:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5199:39:11" + }, + "returnParameters": { + "id": 2696, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2695, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2704, + "src": "5257:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2694, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5257:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5256:6:11" + }, + "scope": 2971, + "src": "5184:129:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2720, + "nodeType": "Block", + "src": "5480:52:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2715, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2707, + "src": "5507:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$2670_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set storage pointer" + } + }, + "id": 2716, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2669, + "src": "5507:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + }, + { + "argumentTypes": null, + "id": 2717, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2709, + "src": "5519:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2714, + "name": "_contains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "5497:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$2490_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" + } + }, + "id": 2718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5497:28:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2713, + "id": 2719, + "nodeType": "Return", + "src": "5490:35:11" + } + ] + }, + "documentation": { + "id": 2705, + "nodeType": "StructuredDocumentation", + "src": "5319:70:11", + "text": "@dev Returns true if the value is in the set. O(1)." + }, + "id": 2721, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "contains", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2710, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2707, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2721, + "src": "5412:22:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$2670_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set" + }, + "typeName": { + "contractScope": null, + "id": 2706, + "name": "Bytes32Set", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2670, + "src": "5412:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$2670_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2709, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2721, + "src": "5436:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2708, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5436:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5411:39:11" + }, + "returnParameters": { + "id": 2713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2712, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2721, + "src": "5474:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2711, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5474:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5473:6:11" + }, + "scope": 2971, + "src": "5394:138:11", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2734, + "nodeType": "Block", + "src": "5685:43:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2730, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2724, + "src": "5710:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$2670_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set storage pointer" + } + }, + "id": 2731, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2669, + "src": "5710:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + ], + "id": 2729, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2642, + "src": "5702:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$2490_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)" + } + }, + "id": 2732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5702:19:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2728, + "id": 2733, + "nodeType": "Return", + "src": "5695:26:11" + } + ] + }, + "documentation": { + "id": 2722, + "nodeType": "StructuredDocumentation", + "src": "5538:70:11", + "text": "@dev Returns the number of values in the set. O(1)." + }, + "id": 2735, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "length", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2724, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2735, + "src": "5629:22:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$2670_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set" + }, + "typeName": { + "contractScope": null, + "id": 2723, + "name": "Bytes32Set", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2670, + "src": "5629:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$2670_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5628:24:11" + }, + "returnParameters": { + "id": 2728, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2727, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2735, + "src": "5676:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2726, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5676:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5675:9:11" + }, + "scope": 2971, + "src": "5613:115:11", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2751, + "nodeType": "Block", + "src": "6143:46:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2746, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2738, + "src": "6164:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$2670_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set storage pointer" + } + }, + "id": 2747, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2669, + "src": "6164:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + }, + { + "argumentTypes": null, + "id": 2748, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2740, + "src": "6176:5:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2745, + "name": "_at", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2667, + "src": "6160:3:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$2490_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 2749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6160:22:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 2744, + "id": 2750, + "nodeType": "Return", + "src": "6153:29:11" + } + ] + }, + "documentation": { + "id": 2736, + "nodeType": "StructuredDocumentation", + "src": "5733:322:11", + "text": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}." + }, + "id": 2752, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "at", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2741, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2738, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2752, + "src": "6072:22:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$2670_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set" + }, + "typeName": { + "contractScope": null, + "id": 2737, + "name": "Bytes32Set", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2670, + "src": "6072:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$2670_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2740, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2752, + "src": "6096:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2739, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6096:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6071:39:11" + }, + "returnParameters": { + "id": 2744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2743, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2752, + "src": "6134:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2742, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6134:7:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6133:9:11" + }, + "scope": 2971, + "src": "6060:129:11", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "canonicalName": "EnumerableSet.AddressSet", + "id": 2755, + "members": [ + { + "constant": false, + "id": 2754, + "mutability": "mutable", + "name": "_inner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2755, + "src": "6242:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + }, + "typeName": { + "contractScope": null, + "id": 2753, + "name": "Set", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2490, + "src": "6242:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "AddressSet", + "nodeType": "StructDefinition", + "scope": 2971, + "src": "6214:45:11", + "visibility": "public" + }, + { + "body": { + "id": 2780, + "nodeType": "Block", + "src": "6505:74:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2766, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2758, + "src": "6527:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$2755_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet storage pointer" + } + }, + "id": 2767, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "6527:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2774, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2760, + "src": "6563:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2773, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6555:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 2772, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "6555:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6555:14:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 2771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6547:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2770, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6547:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6547:23:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6539:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 2768, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6539:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6539:32:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2765, + "name": "_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2531, + "src": "6522:4:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$2490_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" + } + }, + "id": 2778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6522:50:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2764, + "id": 2779, + "nodeType": "Return", + "src": "6515:57:11" + } + ] + }, + "documentation": { + "id": 2756, + "nodeType": "StructuredDocumentation", + "src": "6265:159:11", + "text": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present." + }, + "id": 2781, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2761, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2758, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2781, + "src": "6442:22:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$2755_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + }, + "typeName": { + "contractScope": null, + "id": 2757, + "name": "AddressSet", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2755, + "src": "6442:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$2755_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2760, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2781, + "src": "6466:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2759, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6466:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6441:39:11" + }, + "returnParameters": { + "id": 2764, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2763, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2781, + "src": "6499:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2762, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6499:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6498:6:11" + }, + "scope": 2971, + "src": "6429:150:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2806, + "nodeType": "Block", + "src": "6826:77:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2792, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2784, + "src": "6851:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$2755_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet storage pointer" + } + }, + "id": 2793, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "6851:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2800, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2786, + "src": "6887:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6879:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 2798, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "6879:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6879:14:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 2797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6871:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6871:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6871:23:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2795, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6863:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 2794, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6863:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6863:32:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2791, + "name": "_remove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2611, + "src": "6843:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$2490_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" + } + }, + "id": 2804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6843:53:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2790, + "id": 2805, + "nodeType": "Return", + "src": "6836:60:11" + } + ] + }, + "documentation": { + "id": 2782, + "nodeType": "StructuredDocumentation", + "src": "6585:157:11", + "text": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent." + }, + "id": 2807, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2784, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2807, + "src": "6763:22:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$2755_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + }, + "typeName": { + "contractScope": null, + "id": 2783, + "name": "AddressSet", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2755, + "src": "6763:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$2755_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2786, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2807, + "src": "6787:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2785, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6787:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6762:39:11" + }, + "returnParameters": { + "id": 2790, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2789, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2807, + "src": "6820:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2788, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6820:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6819:6:11" + }, + "scope": 2971, + "src": "6747:156:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2832, + "nodeType": "Block", + "src": "7070:79:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2818, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2810, + "src": "7097:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$2755_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet storage pointer" + } + }, + "id": 2819, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "7097:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2826, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2812, + "src": "7133:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2825, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7125:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 2824, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "7125:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7125:14:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 2823, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7117:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2822, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7117:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7117:23:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7109:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 2820, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7109:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7109:32:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2817, + "name": "_contains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "7087:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$2490_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" + } + }, + "id": 2830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7087:55:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2816, + "id": 2831, + "nodeType": "Return", + "src": "7080:62:11" + } + ] + }, + "documentation": { + "id": 2808, + "nodeType": "StructuredDocumentation", + "src": "6909:70:11", + "text": "@dev Returns true if the value is in the set. O(1)." + }, + "id": 2833, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "contains", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2813, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2810, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2833, + "src": "7002:22:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$2755_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + }, + "typeName": { + "contractScope": null, + "id": 2809, + "name": "AddressSet", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2755, + "src": "7002:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$2755_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2812, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2833, + "src": "7026:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2811, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7026:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7001:39:11" + }, + "returnParameters": { + "id": 2816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2815, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2833, + "src": "7064:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2814, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7064:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7063:6:11" + }, + "scope": 2971, + "src": "6984:165:11", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2846, + "nodeType": "Block", + "src": "7302:43:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2842, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2836, + "src": "7327:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$2755_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet storage pointer" + } + }, + "id": 2843, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "7327:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + ], + "id": 2841, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2642, + "src": "7319:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$2490_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)" + } + }, + "id": 2844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7319:19:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2840, + "id": 2845, + "nodeType": "Return", + "src": "7312:26:11" + } + ] + }, + "documentation": { + "id": 2834, + "nodeType": "StructuredDocumentation", + "src": "7155:70:11", + "text": "@dev Returns the number of values in the set. O(1)." + }, + "id": 2847, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "length", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2836, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2847, + "src": "7246:22:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$2755_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + }, + "typeName": { + "contractScope": null, + "id": 2835, + "name": "AddressSet", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2755, + "src": "7246:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$2755_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7245:24:11" + }, + "returnParameters": { + "id": 2840, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2839, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2847, + "src": "7293:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2838, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7293:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7292:9:11" + }, + "scope": 2971, + "src": "7230:115:11", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2872, + "nodeType": "Block", + "src": "7760:73:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2864, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2850, + "src": "7805:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$2755_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet storage pointer" + } + }, + "id": 2865, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2754, + "src": "7805:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + }, + { + "argumentTypes": null, + "id": 2866, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2852, + "src": "7817:5:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2863, + "name": "_at", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2667, + "src": "7801:3:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$2490_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 2867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7801:22:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2862, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7793:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2861, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7793:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7793:31:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2860, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7785:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 2859, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "7785:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7785:40:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + ], + "id": 2858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7777:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2857, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7777:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7777:49:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "functionReturnParameters": 2856, + "id": 2871, + "nodeType": "Return", + "src": "7770:56:11" + } + ] + }, + "documentation": { + "id": 2848, + "nodeType": "StructuredDocumentation", + "src": "7350:322:11", + "text": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}." + }, + "id": 2873, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "at", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2853, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2850, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2873, + "src": "7689:22:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$2755_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + }, + "typeName": { + "contractScope": null, + "id": 2849, + "name": "AddressSet", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2755, + "src": "7689:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$2755_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2852, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2873, + "src": "7713:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2851, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7713:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7688:39:11" + }, + "returnParameters": { + "id": 2856, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2855, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2873, + "src": "7751:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2854, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7751:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7750:9:11" + }, + "scope": 2971, + "src": "7677:156:11", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "canonicalName": "EnumerableSet.UintSet", + "id": 2876, + "members": [ + { + "constant": false, + "id": 2875, + "mutability": "mutable", + "name": "_inner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2876, + "src": "7881:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + }, + "typeName": { + "contractScope": null, + "id": 2874, + "name": "Set", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2490, + "src": "7881:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage_ptr", + "typeString": "struct EnumerableSet.Set" + } + }, + "value": null, + "visibility": "internal" + } + ], + "name": "UintSet", + "nodeType": "StructDefinition", + "scope": 2971, + "src": "7856:42:11", + "visibility": "public" + }, + { + "body": { + "id": 2895, + "nodeType": "Block", + "src": "8141:56:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2887, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2879, + "src": "8163:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet storage pointer" + } + }, + "id": 2888, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "8163:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2891, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2881, + "src": "8183:5:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8175:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 2889, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8175:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8175:14:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2886, + "name": "_add", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2531, + "src": "8158:4:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$2490_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" + } + }, + "id": 2893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8158:32:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2885, + "id": 2894, + "nodeType": "Return", + "src": "8151:39:11" + } + ] + }, + "documentation": { + "id": 2877, + "nodeType": "StructuredDocumentation", + "src": "7904:159:11", + "text": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present." + }, + "id": 2896, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2879, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2896, + "src": "8081:19:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + }, + "typeName": { + "contractScope": null, + "id": 2878, + "name": "UintSet", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2876, + "src": "8081:7:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2881, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2896, + "src": "8102:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2880, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8102:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8080:36:11" + }, + "returnParameters": { + "id": 2885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2884, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2896, + "src": "8135:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2883, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8135:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8134:6:11" + }, + "scope": 2971, + "src": "8068:129:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2915, + "nodeType": "Block", + "src": "8441:59:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2907, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2899, + "src": "8466:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet storage pointer" + } + }, + "id": 2908, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "8466:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2911, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2901, + "src": "8486:5:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2910, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8478:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 2909, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8478:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8478:14:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2906, + "name": "_remove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2611, + "src": "8458:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$2490_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" + } + }, + "id": 2913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8458:35:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2905, + "id": 2914, + "nodeType": "Return", + "src": "8451:42:11" + } + ] + }, + "documentation": { + "id": 2897, + "nodeType": "StructuredDocumentation", + "src": "8203:157:11", + "text": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent." + }, + "id": 2916, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "remove", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2902, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2899, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2916, + "src": "8381:19:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + }, + "typeName": { + "contractScope": null, + "id": 2898, + "name": "UintSet", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2876, + "src": "8381:7:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2901, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2916, + "src": "8402:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2900, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8402:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8380:36:11" + }, + "returnParameters": { + "id": 2905, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2904, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2916, + "src": "8435:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2903, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8435:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8434:6:11" + }, + "scope": 2971, + "src": "8365:135:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2935, + "nodeType": "Block", + "src": "8664:61:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2927, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2919, + "src": "8691:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet storage pointer" + } + }, + "id": 2928, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "8691:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + }, + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 2931, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2921, + "src": "8711:5:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8703:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes32_$", + "typeString": "type(bytes32)" + }, + "typeName": { + "id": 2929, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8703:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8703:14:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2926, + "name": "_contains", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "8681:9:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$2490_storage_ptr_$_t_bytes32_$returns$_t_bool_$", + "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" + } + }, + "id": 2933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8681:37:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2925, + "id": 2934, + "nodeType": "Return", + "src": "8674:44:11" + } + ] + }, + "documentation": { + "id": 2917, + "nodeType": "StructuredDocumentation", + "src": "8506:70:11", + "text": "@dev Returns true if the value is in the set. O(1)." + }, + "id": 2936, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "contains", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2922, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2919, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2936, + "src": "8599:19:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + }, + "typeName": { + "contractScope": null, + "id": 2918, + "name": "UintSet", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2876, + "src": "8599:7:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2921, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2936, + "src": "8620:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2920, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8620:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8598:36:11" + }, + "returnParameters": { + "id": 2925, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2924, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2936, + "src": "8658:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2923, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8658:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8657:6:11" + }, + "scope": 2971, + "src": "8581:144:11", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2949, + "nodeType": "Block", + "src": "8875:43:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2945, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2939, + "src": "8900:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet storage pointer" + } + }, + "id": 2946, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "8900:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + ], + "id": 2944, + "name": "_length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2642, + "src": "8892:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$2490_storage_ptr_$returns$_t_uint256_$", + "typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)" + } + }, + "id": 2947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8892:19:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2943, + "id": 2948, + "nodeType": "Return", + "src": "8885:26:11" + } + ] + }, + "documentation": { + "id": 2937, + "nodeType": "StructuredDocumentation", + "src": "8731:70:11", + "text": "@dev Returns the number of values on the set. O(1)." + }, + "id": 2950, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "length", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2939, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2950, + "src": "8822:19:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + }, + "typeName": { + "contractScope": null, + "id": 2938, + "name": "UintSet", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2876, + "src": "8822:7:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8821:21:11" + }, + "returnParameters": { + "id": 2943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2942, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2950, + "src": "8866:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2941, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8866:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "8865:9:11" + }, + "scope": 2971, + "src": "8806:112:11", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2969, + "nodeType": "Block", + "src": "9330:55:11", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 2963, + "name": "set", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2953, + "src": "9359:3:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet storage pointer" + } + }, + "id": 2964, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_inner", + "nodeType": "MemberAccess", + "referencedDeclaration": 2875, + "src": "9359:10:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + } + }, + { + "argumentTypes": null, + "id": 2965, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2955, + "src": "9371:5:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_Set_$2490_storage", + "typeString": "struct EnumerableSet.Set storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2962, + "name": "_at", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2667, + "src": "9355:3:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$2490_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)" + } + }, + "id": 2966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9355:22:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 2961, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9347:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2960, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9347:7:11", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 2967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9347:31:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2959, + "id": 2968, + "nodeType": "Return", + "src": "9340:38:11" + } + ] + }, + "documentation": { + "id": 2951, + "nodeType": "StructuredDocumentation", + "src": "8923:322:11", + "text": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}." + }, + "id": 2970, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "at", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2956, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2953, + "mutability": "mutable", + "name": "set", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2970, + "src": "9262:19:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + }, + "typeName": { + "contractScope": null, + "id": 2952, + "name": "UintSet", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 2876, + "src": "9262:7:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$2876_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 2955, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2970, + "src": "9283:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2954, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9283:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9261:36:11" + }, + "returnParameters": { + "id": 2959, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2958, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 2970, + "src": "9321:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2957, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9321:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "9320:9:11" + }, + "scope": 2971, + "src": "9250:135:11", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 2972, + "src": "753:8634:11" + } + ], + "src": "33:9355:11" + }, + "bytecode": "60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209b26a310d3328fdae20466f7402c45b56e4e6641faab2747998cb8585cc570ab64736f6c63430006060033", + "bytecodeSha1": "3b4158955f564edb18bd7a8ffdb49859c904f0b7", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.6+commit.6c089d02" + }, + "contractName": "EnumerableSet", + "coverageMap": { + "branches": { + "11": {} + }, + "statements": { + "11": {} + } + }, + "dependencies": [], + "deployedBytecode": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209b26a310d3328fdae20466f7402c45b56e4e6641faab2747998cb8585cc570ab64736f6c63430006060033", + "deployedSourceMap": "753:8634:11:-:0;;;;;;12:1:-1;9;2:12", + "language": "Solidity", + "natspec": { + "details": "Library for managing https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive types. * Sets have the following properties: * - Elements are added, removed, and checked for existence in constant time (O(1)). - Elements are enumerated in O(n). No guarantees are made on the ordering. * ``` contract Example { // Add the library methods using EnumerableSet for EnumerableSet.AddressSet; * // Declare a set state variable EnumerableSet.AddressSet private mySet; } ``` * As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`) and `uint256` (`UintSet`) are supported.", + "methods": {} + }, + "offset": [ + 753, + 9387 + ], + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP12 0x26 LOG3 LT 0xD3 ORIGIN DUP16 0xDA 0xE2 DIV PUSH7 0xF7402C45B56E4E PUSH7 0x41FAAB2747998C 0xB8 PC 0x5C 0xC5 PUSH17 0xAB64736F6C634300060600330000000000 ", + "pcMap": { + "0": { + "offset": [ + 753, + 9387 + ], + "op": "PUSH20", + "path": "11", + "value": "0x0" + }, + "21": { + "fn": null, + "offset": [ + 753, + 9387 + ], + "op": "ADDRESS", + "path": "11" + }, + "22": { + "fn": null, + "offset": [ + 753, + 9387 + ], + "op": "EQ", + "path": "11" + }, + "23": { + "fn": null, + "offset": [ + 753, + 9387 + ], + "op": "PUSH1", + "path": "11", + "value": "0x80" + }, + "25": { + "fn": null, + "offset": [ + 753, + 9387 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "27": { + "fn": null, + "offset": [ + 753, + 9387 + ], + "op": "MSTORE", + "path": "11" + }, + "28": { + "op": "PUSH1", + "value": "0x0" + }, + "30": { + "op": "DUP1" + }, + "31": { + "op": "REVERT" + } + }, + "sha1": "899a51116900e639e216d778a3fb01d3f3b94b23", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Library for managing\n * https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\n * types.\n *\n * Sets have the following properties:\n *\n * - Elements are added, removed, and checked for existence in constant time\n * (O(1)).\n * - Elements are enumerated in O(n). No guarantees are made on the ordering.\n *\n * ```\n * contract Example {\n * // Add the library methods\n * using EnumerableSet for EnumerableSet.AddressSet;\n *\n * // Declare a set state variable\n * EnumerableSet.AddressSet private mySet;\n * }\n * ```\n *\n * As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`)\n * and `uint256` (`UintSet`) are supported.\n */\nlibrary EnumerableSet {\n // To implement this library for multiple types with as little code\n // repetition as possible, we write it in terms of a generic Set type with\n // bytes32 values.\n // The Set implementation uses private functions, and user-facing\n // implementations (such as AddressSet) are just wrappers around the\n // underlying Set.\n // This means that we can only create new EnumerableSets for types that fit\n // in bytes32.\n\n struct Set {\n // Storage of set values\n bytes32[] _values;\n\n // Position of the value in the `values` array, plus 1 because index 0\n // means a value is not in the set.\n mapping (bytes32 => uint256) _indexes;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function _add(Set storage set, bytes32 value) private returns (bool) {\n if (!_contains(set, value)) {\n set._values.push(value);\n // The value is stored at length-1, but we add 1 to all indexes\n // and use 0 as a sentinel value\n set._indexes[value] = set._values.length;\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function _remove(Set storage set, bytes32 value) private returns (bool) {\n // We read and store the value's index to prevent multiple reads from the same storage slot\n uint256 valueIndex = set._indexes[value];\n\n if (valueIndex != 0) { // Equivalent to contains(set, value)\n // To delete an element from the _values array in O(1), we swap the element to delete with the last one in\n // the array, and then remove the last element (sometimes called as 'swap and pop').\n // This modifies the order of the array, as noted in {at}.\n\n uint256 toDeleteIndex = valueIndex - 1;\n uint256 lastIndex = set._values.length - 1;\n\n // When the value to delete is the last one, the swap operation is unnecessary. However, since this occurs\n // so rarely, we still do the swap anyway to avoid the gas cost of adding an 'if' statement.\n\n bytes32 lastvalue = set._values[lastIndex];\n\n // Move the last value to the index where the value to delete is\n set._values[toDeleteIndex] = lastvalue;\n // Update the index for the moved value\n set._indexes[lastvalue] = toDeleteIndex + 1; // All indexes are 1-based\n\n // Delete the slot where the moved value was stored\n set._values.pop();\n\n // Delete the index for the deleted slot\n delete set._indexes[value];\n\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function _contains(Set storage set, bytes32 value) private view returns (bool) {\n return set._indexes[value] != 0;\n }\n\n /**\n * @dev Returns the number of values on the set. O(1).\n */\n function _length(Set storage set) private view returns (uint256) {\n return set._values.length;\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function _at(Set storage set, uint256 index) private view returns (bytes32) {\n require(set._values.length > index, \"EnumerableSet: index out of bounds\");\n return set._values[index];\n }\n\n // Bytes32Set\n\n struct Bytes32Set {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(Bytes32Set storage set, bytes32 value) internal returns (bool) {\n return _add(set._inner, value);\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(Bytes32Set storage set, bytes32 value) internal returns (bool) {\n return _remove(set._inner, value);\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(Bytes32Set storage set, bytes32 value) internal view returns (bool) {\n return _contains(set._inner, value);\n }\n\n /**\n * @dev Returns the number of values in the set. O(1).\n */\n function length(Bytes32Set storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(Bytes32Set storage set, uint256 index) internal view returns (bytes32) {\n return _at(set._inner, index);\n }\n\n // AddressSet\n\n struct AddressSet {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(AddressSet storage set, address value) internal returns (bool) {\n return _add(set._inner, bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(AddressSet storage set, address value) internal returns (bool) {\n return _remove(set._inner, bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(AddressSet storage set, address value) internal view returns (bool) {\n return _contains(set._inner, bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Returns the number of values in the set. O(1).\n */\n function length(AddressSet storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(AddressSet storage set, uint256 index) internal view returns (address) {\n return address(uint160(uint256(_at(set._inner, index))));\n }\n\n\n // UintSet\n\n struct UintSet {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(UintSet storage set, uint256 value) internal returns (bool) {\n return _add(set._inner, bytes32(value));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(UintSet storage set, uint256 value) internal returns (bool) {\n return _remove(set._inner, bytes32(value));\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(UintSet storage set, uint256 value) internal view returns (bool) {\n return _contains(set._inner, bytes32(value));\n }\n\n /**\n * @dev Returns the number of values on the set. O(1).\n */\n function length(UintSet storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(UintSet storage set, uint256 index) internal view returns (uint256) {\n return uint256(_at(set._inner, index));\n }\n}\n", + "sourceMap": "753:8634:11:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", + "sourcePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableSet.sol", + "type": "library" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/IERC165.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/IERC165.json new file mode 100644 index 00000000..72b2a4ee --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/IERC165.json @@ -0,0 +1,206 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "allSourcePaths": { + "1": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/IERC165.sol", + "exportedSymbols": { + "IERC165": [ + 3070 + ] + }, + "id": 3071, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3060, + "literals": [ + "solidity", + ">=", + "0.6", + ".0", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:31:1" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 3061, + "nodeType": "StructuredDocumentation", + "src": "66:279:1", + "text": "@dev Interface of the ERC165 standard, as defined in the\nhttps://eips.ethereum.org/EIPS/eip-165[EIP].\n * Implementers can declare support of contract interfaces, which can then be\nqueried by others ({ERC165Checker}).\n * For an implementation, see {ERC165}." + }, + "fullyImplemented": false, + "id": 3070, + "linearizedBaseContracts": [ + 3070 + ], + "name": "IERC165", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": { + "id": 3062, + "nodeType": "StructuredDocumentation", + "src": "370:340:1", + "text": "@dev Returns true if this contract implements the interface defined by\n`interfaceId`. See the corresponding\nhttps://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\nto learn more about how these ids are created.\n * This function call must use less than 30 000 gas." + }, + "functionSelector": "01ffc9a7", + "id": 3069, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 3065, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3064, + "mutability": "mutable", + "name": "interfaceId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 3069, + "src": "742:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3063, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "742:6:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "741:20:1" + }, + "returnParameters": { + "id": 3068, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3067, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 3069, + "src": "785:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3066, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "785:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "784:6:1" + }, + "scope": 3070, + "src": "715:76:1", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3071, + "src": "346:447:1" + } + ], + "src": "33:761:1" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.6+commit.6c089d02" + }, + "contractName": "IERC165", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. * Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). * For an implementation, see {ERC165}.", + "methods": { + "supportsInterface(bytes4)": { + "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. * This function call must use less than 30 000 gas." + } + } + }, + "offset": [ + 346, + 793 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "2fe95748c8e2046c19d4413bde78ccedffa852a5", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n", + "sourceMap": "", + "sourcePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/IERC165.sol", + "type": "interface" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721.json new file mode 100644 index 00000000..b9da12bd --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721.json @@ -0,0 +1,1746 @@ +{ + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "1": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/IERC165.sol", + "4": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721.sol" + }, + "ast": { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721.sol", + "exportedSymbols": { + "IERC721": [ + 1524 + ] + }, + "id": 1525, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1410, + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:31:4" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/IERC165.sol", + "file": "../../introspection/IERC165.sol", + "id": 1411, + "nodeType": "ImportDirective", + "scope": 1525, + "sourceUnit": 3071, + "src": "66:41:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1413, + "name": "IERC165", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 3070, + "src": "198:7:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC165_$3070", + "typeString": "contract IERC165" + } + }, + "id": 1414, + "nodeType": "InheritanceSpecifier", + "src": "198:7:4" + } + ], + "contractDependencies": [ + 3070 + ], + "contractKind": "interface", + "documentation": { + "id": 1412, + "nodeType": "StructuredDocumentation", + "src": "109:67:4", + "text": "@dev Required interface of an ERC721 compliant contract." + }, + "fullyImplemented": false, + "id": 1524, + "linearizedBaseContracts": [ + 1524, + 3070 + ], + "name": "IERC721", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 1415, + "nodeType": "StructuredDocumentation", + "src": "212:88:4", + "text": "@dev Emitted when `tokenId` token is transferred from `from` to `to`." + }, + "id": 1423, + "name": "Transfer", + "nodeType": "EventDefinition", + "parameters": { + "id": 1422, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1417, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1423, + "src": "320:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "320:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1419, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1423, + "src": "342:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1418, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "342:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1421, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1423, + "src": "362:23:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1420, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "362:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "319:67:4" + }, + "src": "305:82:4" + }, + { + "anonymous": false, + "documentation": { + "id": 1424, + "nodeType": "StructuredDocumentation", + "src": "393:94:4", + "text": "@dev Emitted when `owner` enables `approved` to manage the `tokenId` token." + }, + "id": 1432, + "name": "Approval", + "nodeType": "EventDefinition", + "parameters": { + "id": 1431, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1426, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1432, + "src": "507:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1425, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "507:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1428, + "indexed": true, + "mutability": "mutable", + "name": "approved", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1432, + "src": "530:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1427, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "530:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1430, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1432, + "src": "556:23:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1429, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "556:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "506:74:4" + }, + "src": "492:89:4" + }, + { + "anonymous": false, + "documentation": { + "id": 1433, + "nodeType": "StructuredDocumentation", + "src": "587:117:4", + "text": "@dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets." + }, + "id": 1441, + "name": "ApprovalForAll", + "nodeType": "EventDefinition", + "parameters": { + "id": 1440, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1435, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1441, + "src": "730:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1434, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "730:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1437, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1441, + "src": "753:24:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1436, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "753:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1439, + "indexed": false, + "mutability": "mutable", + "name": "approved", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1441, + "src": "779:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1438, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "779:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "729:64:4" + }, + "src": "709:85:4" + }, + { + "body": null, + "documentation": { + "id": 1442, + "nodeType": "StructuredDocumentation", + "src": "800:76:4", + "text": "@dev Returns the number of tokens in ``owner``'s account." + }, + "functionSelector": "70a08231", + "id": 1449, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1445, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1444, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1449, + "src": "900:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1443, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "900:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "899:15:4" + }, + "returnParameters": { + "id": 1448, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1447, + "mutability": "mutable", + "name": "balance", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1449, + "src": "938:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1446, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "938:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "937:17:4" + }, + "scope": 1524, + "src": "881:74:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": { + "id": 1450, + "nodeType": "StructuredDocumentation", + "src": "961:131:4", + "text": "@dev Returns the owner of the `tokenId` token.\n * Requirements:\n * - `tokenId` must exist." + }, + "functionSelector": "6352211e", + "id": 1457, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1453, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1452, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1457, + "src": "1114:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1451, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1114:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1113:17:4" + }, + "returnParameters": { + "id": 1456, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1455, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1457, + "src": "1154:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1454, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1154:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1153:15:4" + }, + "scope": 1524, + "src": "1097:72:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": { + "id": 1458, + "nodeType": "StructuredDocumentation", + "src": "1175:690:4", + "text": "@dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\nare aware of the ERC721 protocol to prevent tokens from being forever locked.\n * Requirements:\n * - `from` cannot be the zero address.\n- `to` cannot be the zero address.\n- `tokenId` token must exist and be owned by `from`.\n- If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.\n- If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n * Emits a {Transfer} event." + }, + "functionSelector": "42842e0e", + "id": 1467, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1465, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1460, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1467, + "src": "1896:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1459, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1896:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1462, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1467, + "src": "1910:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1461, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1910:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1464, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1467, + "src": "1922:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1463, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1922:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1895:43:4" + }, + "returnParameters": { + "id": 1466, + "nodeType": "ParameterList", + "parameters": [], + "src": "1947:0:4" + }, + "scope": 1524, + "src": "1870:78:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": { + "id": 1468, + "nodeType": "StructuredDocumentation", + "src": "1954:504:4", + "text": "@dev Transfers `tokenId` token from `from` to `to`.\n * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.\n * Requirements:\n * - `from` cannot be the zero address.\n- `to` cannot be the zero address.\n- `tokenId` token must be owned by `from`.\n- If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n * Emits a {Transfer} event." + }, + "functionSelector": "23b872dd", + "id": 1477, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1470, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1477, + "src": "2485:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1469, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2485:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1472, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1477, + "src": "2499:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1471, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2499:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1474, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1477, + "src": "2511:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2511:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2484:43:4" + }, + "returnParameters": { + "id": 1476, + "nodeType": "ParameterList", + "parameters": [], + "src": "2536:0:4" + }, + "scope": 1524, + "src": "2463:74:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": { + "id": 1478, + "nodeType": "StructuredDocumentation", + "src": "2543:452:4", + "text": "@dev Gives permission to `to` to transfer `tokenId` token to another account.\nThe approval is cleared when the token is transferred.\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n * Requirements:\n * - The caller must own the token or be an approved operator.\n- `tokenId` must exist.\n * Emits an {Approval} event." + }, + "functionSelector": "095ea7b3", + "id": 1485, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1480, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1485, + "src": "3017:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1479, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3017:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1482, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1485, + "src": "3029:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1481, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3029:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3016:29:4" + }, + "returnParameters": { + "id": 1484, + "nodeType": "ParameterList", + "parameters": [], + "src": "3054:0:4" + }, + "scope": 1524, + "src": "3000:55:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": { + "id": 1486, + "nodeType": "StructuredDocumentation", + "src": "3061:139:4", + "text": "@dev Returns the account approved for `tokenId` token.\n * Requirements:\n * - `tokenId` must exist." + }, + "functionSelector": "081812fc", + "id": 1493, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1489, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1488, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1493, + "src": "3226:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1487, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3226:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3225:17:4" + }, + "returnParameters": { + "id": 1492, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1491, + "mutability": "mutable", + "name": "operator", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1493, + "src": "3266:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1490, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3266:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3265:18:4" + }, + "scope": 1524, + "src": "3205:79:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": { + "id": 1494, + "nodeType": "StructuredDocumentation", + "src": "3290:309:4", + "text": "@dev Approve or remove `operator` as an operator for the caller.\nOperators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n * Requirements:\n * - The `operator` cannot be the caller.\n * Emits an {ApprovalForAll} event." + }, + "functionSelector": "a22cb465", + "id": 1501, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1496, + "mutability": "mutable", + "name": "operator", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1501, + "src": "3631:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1495, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3631:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1498, + "mutability": "mutable", + "name": "_approved", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1501, + "src": "3649:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1497, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3649:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3630:34:4" + }, + "returnParameters": { + "id": 1500, + "nodeType": "ParameterList", + "parameters": [], + "src": "3673:0:4" + }, + "scope": 1524, + "src": "3604:70:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": { + "id": 1502, + "nodeType": "StructuredDocumentation", + "src": "3680:138:4", + "text": "@dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n * See {setApprovalForAll}" + }, + "functionSelector": "e985e9c5", + "id": 1511, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1507, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1504, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1511, + "src": "3849:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1503, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3849:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1506, + "mutability": "mutable", + "name": "operator", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1511, + "src": "3864:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1505, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3864:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3848:33:4" + }, + "returnParameters": { + "id": 1510, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1509, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1511, + "src": "3905:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1508, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3905:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3904:6:4" + }, + "scope": 1524, + "src": "3823:88:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": { + "id": 1512, + "nodeType": "StructuredDocumentation", + "src": "3917:568:4", + "text": "@dev Safely transfers `tokenId` token from `from` to `to`.\n * Requirements:\n * - `from` cannot be the zero address.\n- `to` cannot be the zero address.\n- `tokenId` token must exist and be owned by `from`.\n- If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n- If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n * Emits a {Transfer} event." + }, + "functionSelector": "b88d4fde", + "id": 1523, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1514, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1523, + "src": "4516:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1513, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4516:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1516, + "mutability": "mutable", + "name": "to", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1523, + "src": "4530:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1515, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4530:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1518, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1523, + "src": "4542:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1517, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4542:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1520, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1523, + "src": "4559:19:4", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1519, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4559:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4515:64:4" + }, + "returnParameters": { + "id": 1522, + "nodeType": "ParameterList", + "parameters": [], + "src": "4588:0:4" + }, + "scope": 1524, + "src": "4490:99:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1525, + "src": "177:4414:4" + } + ], + "src": "33:4559:4" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.6+commit.6c089d02" + }, + "contractName": "IERC721", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC165" + ], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "Required interface of an ERC721 compliant contract.", + "methods": { + "approve(address,uint256)": { + "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event." + }, + "balanceOf(address)": { + "details": "Returns the number of tokens in ``owner``'s account." + }, + "getApproved(uint256)": { + "details": "Returns the account approved for `tokenId` token. * Requirements: * - `tokenId` must exist." + }, + "isApprovedForAll(address,address)": { + "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. * See {setApprovalForAll}" + }, + "ownerOf(uint256)": { + "details": "Returns the owner of the `tokenId` token. * Requirements: * - `tokenId` must exist." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "Safely transfers `tokenId` token from `from` to `to`. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event." + }, + "setApprovalForAll(address,bool)": { + "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * Requirements: * - The `operator` cannot be the caller. * Emits an {ApprovalForAll} event." + }, + "supportsInterface(bytes4)": { + "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. * This function call must use less than 30 000 gas." + }, + "transferFrom(address,address,uint256)": { + "details": "Transfers `tokenId` token from `from` to `to`. * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * Emits a {Transfer} event." + } + } + }, + "offset": [ + 177, + 4591 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "0a4a9cb55aef44192b598cc1be1241a83ff16a8f", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.2 <0.8.0;\n\nimport \"../../introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC721 compliant contract.\n */\ninterface IERC721 is IERC165 {\n /**\n * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\n */\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\n */\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\n */\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n /**\n * @dev Returns the number of tokens in ``owner``'s account.\n */\n function balanceOf(address owner) external view returns (uint256 balance);\n\n /**\n * @dev Returns the owner of the `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function ownerOf(uint256 tokenId) external view returns (address owner);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId) external;\n\n /**\n * @dev Transfers `tokenId` token from `from` to `to`.\n *\n * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 tokenId) external;\n\n /**\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\n * The approval is cleared when the token is transferred.\n *\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n *\n * Requirements:\n *\n * - The caller must own the token or be an approved operator.\n * - `tokenId` must exist.\n *\n * Emits an {Approval} event.\n */\n function approve(address to, uint256 tokenId) external;\n\n /**\n * @dev Returns the account approved for `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function getApproved(uint256 tokenId) external view returns (address operator);\n\n /**\n * @dev Approve or remove `operator` as an operator for the caller.\n * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n *\n * Requirements:\n *\n * - The `operator` cannot be the caller.\n *\n * Emits an {ApprovalForAll} event.\n */\n function setApprovalForAll(address operator, bool _approved) external;\n\n /**\n * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n *\n * See {setApprovalForAll}\n */\n function isApprovedForAll(address owner, address operator) external view returns (bool);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;\n}\n", + "sourceMap": "", + "sourcePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721.sol", + "type": "interface" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Enumerable.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Enumerable.json new file mode 100644 index 00000000..0025ea66 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Enumerable.json @@ -0,0 +1,789 @@ +{ + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "1": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/IERC165.sol", + "4": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721.sol", + "5": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Enumerable.sol" + }, + "ast": { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Enumerable.sol", + "exportedSymbols": { + "IERC721Enumerable": [ + 1555 + ] + }, + "id": 1556, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1526, + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:31:5" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721.sol", + "file": "./IERC721.sol", + "id": 1527, + "nodeType": "ImportDirective", + "scope": 1556, + "sourceUnit": 1525, + "src": "66:23:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1529, + "name": "IERC721", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1524, + "src": "259:7:5", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721_$1524", + "typeString": "contract IERC721" + } + }, + "id": 1530, + "nodeType": "InheritanceSpecifier", + "src": "259:7:5" + } + ], + "contractDependencies": [ + 1524, + 3070 + ], + "contractKind": "interface", + "documentation": { + "id": 1528, + "nodeType": "StructuredDocumentation", + "src": "91:136:5", + "text": "@title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n@dev See https://eips.ethereum.org/EIPS/eip-721" + }, + "fullyImplemented": false, + "id": 1555, + "linearizedBaseContracts": [ + 1555, + 1524, + 3070 + ], + "name": "IERC721Enumerable", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": { + "id": 1531, + "nodeType": "StructuredDocumentation", + "src": "274:82:5", + "text": "@dev Returns the total amount of tokens stored by the contract." + }, + "functionSelector": "18160ddd", + "id": 1536, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1532, + "nodeType": "ParameterList", + "parameters": [], + "src": "381:2:5" + }, + "returnParameters": { + "id": 1535, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1534, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1536, + "src": "407:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1533, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "407:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "406:9:5" + }, + "scope": 1555, + "src": "361:55:5", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": { + "id": 1537, + "nodeType": "StructuredDocumentation", + "src": "422:171:5", + "text": "@dev Returns a token ID owned by `owner` at a given `index` of its token list.\nUse along with {balanceOf} to enumerate all of ``owner``'s tokens." + }, + "functionSelector": "2f745c59", + "id": 1546, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tokenOfOwnerByIndex", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1542, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1539, + "mutability": "mutable", + "name": "owner", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1546, + "src": "627:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1538, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "627:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1541, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1546, + "src": "642:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1540, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "642:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "626:30:5" + }, + "returnParameters": { + "id": 1545, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1544, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1546, + "src": "680:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1543, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "680:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "679:17:5" + }, + "scope": 1555, + "src": "598:99:5", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": { + "id": 1547, + "nodeType": "StructuredDocumentation", + "src": "703:164:5", + "text": "@dev Returns a token ID at a given `index` of all the tokens stored by the contract.\nUse along with {totalSupply} to enumerate all tokens." + }, + "functionSelector": "4f6ccce7", + "id": 1554, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tokenByIndex", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1550, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1549, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1554, + "src": "894:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1548, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "894:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "893:15:5" + }, + "returnParameters": { + "id": 1553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1552, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1554, + "src": "932:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "932:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "931:9:5" + }, + "scope": 1555, + "src": "872:69:5", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1556, + "src": "228:715:5" + } + ], + "src": "33:911:5" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.6+commit.6c089d02" + }, + "contractName": "IERC721Enumerable", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721" + ], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "See https://eips.ethereum.org/EIPS/eip-721", + "methods": { + "approve(address,uint256)": { + "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event." + }, + "balanceOf(address)": { + "details": "Returns the number of tokens in ``owner``'s account." + }, + "getApproved(uint256)": { + "details": "Returns the account approved for `tokenId` token. * Requirements: * - `tokenId` must exist." + }, + "isApprovedForAll(address,address)": { + "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. * See {setApprovalForAll}" + }, + "ownerOf(uint256)": { + "details": "Returns the owner of the `tokenId` token. * Requirements: * - `tokenId` must exist." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "Safely transfers `tokenId` token from `from` to `to`. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event." + }, + "setApprovalForAll(address,bool)": { + "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * Requirements: * - The `operator` cannot be the caller. * Emits an {ApprovalForAll} event." + }, + "supportsInterface(bytes4)": { + "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. * This function call must use less than 30 000 gas." + }, + "tokenByIndex(uint256)": { + "details": "Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens." + }, + "tokenOfOwnerByIndex(address,uint256)": { + "details": "Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens." + }, + "totalSupply()": { + "details": "Returns the total amount of tokens stored by the contract." + }, + "transferFrom(address,address,uint256)": { + "details": "Transfers `tokenId` token from `from` to `to`. * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * Emits a {Transfer} event." + } + }, + "title": "ERC-721 Non-Fungible Token Standard, optional enumeration extension" + }, + "offset": [ + 228, + 943 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "5f3b5725602aeb76986cc8d07b9bf97ee59bd50a", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.2 <0.8.0;\n\nimport \"./IERC721.sol\";\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\ninterface IERC721Enumerable is IERC721 {\n\n /**\n * @dev Returns the total amount of tokens stored by the contract.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns a token ID owned by `owner` at a given `index` of its token list.\n * Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\n */\n function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId);\n\n /**\n * @dev Returns a token ID at a given `index` of all the tokens stored by the contract.\n * Use along with {totalSupply} to enumerate all tokens.\n */\n function tokenByIndex(uint256 index) external view returns (uint256);\n}\n", + "sourceMap": "", + "sourcePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Enumerable.sol", + "type": "interface" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Metadata.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Metadata.json new file mode 100644 index 00000000..eec2896f --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Metadata.json @@ -0,0 +1,720 @@ +{ + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "1": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/IERC165.sol", + "4": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721.sol", + "6": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Metadata.sol" + }, + "ast": { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Metadata.sol", + "exportedSymbols": { + "IERC721Metadata": [ + 1582 + ] + }, + "id": 1583, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1557, + "literals": [ + "solidity", + ">=", + "0.6", + ".2", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:31:6" + }, + { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721.sol", + "file": "./IERC721.sol", + "id": 1558, + "nodeType": "ImportDirective", + "scope": 1583, + "sourceUnit": 1525, + "src": "66:23:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "arguments": null, + "baseName": { + "contractScope": null, + "id": 1560, + "name": "IERC721", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 1524, + "src": "254:7:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721_$1524", + "typeString": "contract IERC721" + } + }, + "id": 1561, + "nodeType": "InheritanceSpecifier", + "src": "254:7:6" + } + ], + "contractDependencies": [ + 1524, + 3070 + ], + "contractKind": "interface", + "documentation": { + "id": 1559, + "nodeType": "StructuredDocumentation", + "src": "91:133:6", + "text": "@title ERC-721 Non-Fungible Token Standard, optional metadata extension\n@dev See https://eips.ethereum.org/EIPS/eip-721" + }, + "fullyImplemented": false, + "id": 1582, + "linearizedBaseContracts": [ + 1582, + 1524, + 3070 + ], + "name": "IERC721Metadata", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": { + "id": 1562, + "nodeType": "StructuredDocumentation", + "src": "269:58:6", + "text": "@dev Returns the token collection name." + }, + "functionSelector": "06fdde03", + "id": 1567, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "name", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1563, + "nodeType": "ParameterList", + "parameters": [], + "src": "345:2:6" + }, + "returnParameters": { + "id": 1566, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1565, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1567, + "src": "371:13:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1564, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "371:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "370:15:6" + }, + "scope": 1582, + "src": "332:54:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": { + "id": 1568, + "nodeType": "StructuredDocumentation", + "src": "392:60:6", + "text": "@dev Returns the token collection symbol." + }, + "functionSelector": "95d89b41", + "id": 1573, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1569, + "nodeType": "ParameterList", + "parameters": [], + "src": "472:2:6" + }, + "returnParameters": { + "id": 1572, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1571, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1573, + "src": "498:13:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1570, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "498:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "497:15:6" + }, + "scope": 1582, + "src": "457:56:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": { + "id": 1574, + "nodeType": "StructuredDocumentation", + "src": "519:90:6", + "text": "@dev Returns the Uniform Resource Identifier (URI) for `tokenId` token." + }, + "functionSelector": "c87b56dd", + "id": 1581, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1577, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1576, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1581, + "src": "632:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1575, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "632:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "631:17:6" + }, + "returnParameters": { + "id": 1580, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1579, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1581, + "src": "672:13:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1578, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "672:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "671:15:6" + }, + "scope": 1582, + "src": "614:73:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1583, + "src": "225:464:6" + } + ], + "src": "33:657:6" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.6+commit.6c089d02" + }, + "contractName": "IERC721Metadata", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721" + ], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "See https://eips.ethereum.org/EIPS/eip-721", + "methods": { + "approve(address,uint256)": { + "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event." + }, + "balanceOf(address)": { + "details": "Returns the number of tokens in ``owner``'s account." + }, + "getApproved(uint256)": { + "details": "Returns the account approved for `tokenId` token. * Requirements: * - `tokenId` must exist." + }, + "isApprovedForAll(address,address)": { + "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. * See {setApprovalForAll}" + }, + "name()": { + "details": "Returns the token collection name." + }, + "ownerOf(uint256)": { + "details": "Returns the owner of the `tokenId` token. * Requirements: * - `tokenId` must exist." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "Safely transfers `tokenId` token from `from` to `to`. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event." + }, + "setApprovalForAll(address,bool)": { + "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * Requirements: * - The `operator` cannot be the caller. * Emits an {ApprovalForAll} event." + }, + "supportsInterface(bytes4)": { + "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. * This function call must use less than 30 000 gas." + }, + "symbol()": { + "details": "Returns the token collection symbol." + }, + "tokenURI(uint256)": { + "details": "Returns the Uniform Resource Identifier (URI) for `tokenId` token." + }, + "transferFrom(address,address,uint256)": { + "details": "Transfers `tokenId` token from `from` to `to`. * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * Emits a {Transfer} event." + } + }, + "title": "ERC-721 Non-Fungible Token Standard, optional metadata extension" + }, + "offset": [ + 225, + 689 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "3931a1a7273fe93822c20d79101906a77a757940", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.2 <0.8.0;\n\nimport \"./IERC721.sol\";\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\ninterface IERC721Metadata is IERC721 {\n\n /**\n * @dev Returns the token collection name.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the token collection symbol.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.\n */\n function tokenURI(uint256 tokenId) external view returns (string memory);\n}\n", + "sourceMap": "", + "sourcePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Metadata.sol", + "type": "interface" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Receiver.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Receiver.json new file mode 100644 index 00000000..13bff48a --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Receiver.json @@ -0,0 +1,308 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "onERC721Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "7": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Receiver.sol" + }, + "ast": { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Receiver.sol", + "exportedSymbols": { + "IERC721Receiver": [ + 1600 + ] + }, + "id": 1601, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1584, + "literals": [ + "solidity", + ">=", + "0.6", + ".0", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:31:7" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1585, + "nodeType": "StructuredDocumentation", + "src": "66:152:7", + "text": "@title ERC721 token receiver interface\n@dev Interface for any contract that wants to support safeTransfers\nfrom ERC721 asset contracts." + }, + "fullyImplemented": false, + "id": 1600, + "linearizedBaseContracts": [ + 1600 + ], + "name": "IERC721Receiver", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": { + "id": 1586, + "nodeType": "StructuredDocumentation", + "src": "251:485:7", + "text": "@dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\nby `operator` from `from`, this function is called.\n * It must return its Solidity selector to confirm the token transfer.\nIf any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`." + }, + "functionSelector": "150b7a02", + "id": 1599, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "onERC721Received", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1595, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1588, + "mutability": "mutable", + "name": "operator", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1599, + "src": "767:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1587, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "767:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1590, + "mutability": "mutable", + "name": "from", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1599, + "src": "785:12:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1589, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "785:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1592, + "mutability": "mutable", + "name": "tokenId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1599, + "src": "799:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1591, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "799:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1594, + "mutability": "mutable", + "name": "data", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1599, + "src": "816:19:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1593, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "816:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "766:70:7" + }, + "returnParameters": { + "id": 1598, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1597, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1599, + "src": "855:6:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1596, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "855:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "854:8:7" + }, + "scope": 1600, + "src": "741:122:7", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1601, + "src": "219:646:7" + } + ], + "src": "33:833:7" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.6+commit.6c089d02" + }, + "contractName": "IERC721Receiver", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.", + "methods": { + "onERC721Received(address,address,uint256,bytes)": { + "details": "Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. * It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`." + } + }, + "title": "ERC721 token receiver interface" + }, + "offset": [ + 219, + 865 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "27f0f7c2530a3841918eb0ef400288267d244cf0", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @title ERC721 token receiver interface\n * @dev Interface for any contract that wants to support safeTransfers\n * from ERC721 asset contracts.\n */\ninterface IERC721Receiver {\n /**\n * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n * by `operator` from `from`, this function is called.\n *\n * It must return its Solidity selector to confirm the token transfer.\n * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n *\n * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`.\n */\n function onERC721Received(address operator, address from, uint256 tokenId, bytes calldata data) external returns (bytes4);\n}\n", + "sourceMap": "", + "sourcePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Receiver.sol", + "type": "interface" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/SafeMath.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/SafeMath.json new file mode 100644 index 00000000..9428d8b0 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/SafeMath.json @@ -0,0 +1,4772 @@ +{ + "abi": [], + "allSourcePaths": { + "2": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol" + }, + "ast": { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol", + "exportedSymbols": { + "SafeMath": [ + 1408 + ] + }, + "id": 1409, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1055, + "literals": [ + "solidity", + ">=", + "0.6", + ".0", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:31:2" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1056, + "nodeType": "StructuredDocumentation", + "src": "66:563:2", + "text": "@dev Wrappers over Solidity's arithmetic operations with added overflow\nchecks.\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\nin bugs, because programmers usually assume that an overflow raises an\nerror, which is the standard behavior in high level programming languages.\n`SafeMath` restores this intuition by reverting the transaction when an\noperation overflows.\n * Using this library instead of the unchecked operations eliminates an entire\nclass of bugs, so it's recommended to use it always." + }, + "fullyImplemented": true, + "id": 1408, + "linearizedBaseContracts": [ + 1408 + ], + "name": "SafeMath", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1086, + "nodeType": "Block", + "src": "865:98:2", + "statements": [ + { + "assignments": [ + 1069 + ], + "declarations": [ + { + "constant": false, + "id": 1069, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1086, + "src": "875:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1068, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "875:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1073, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1070, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1059, + "src": "887:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 1071, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1061, + "src": "891:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "887:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "875:17:2" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1074, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "906:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "argumentTypes": null, + "id": 1075, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1059, + "src": "910:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "906:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1081, + "nodeType": "IfStatement", + "src": "902:28:2", + "trueBody": { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1077, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "921:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1078, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "928:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 1079, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "920:10:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 1067, + "id": 1080, + "nodeType": "Return", + "src": "913:17:2" + } + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1082, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "948:4:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 1083, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1069, + "src": "954:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1084, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "947:9:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 1067, + "id": 1085, + "nodeType": "Return", + "src": "940:16:2" + } + ] + }, + "documentation": { + "id": 1057, + "nodeType": "StructuredDocumentation", + "src": "653:131:2", + "text": "@dev Returns the addition of two unsigned integers, with an overflow flag.\n * _Available since v3.4._" + }, + "id": 1087, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryAdd", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1062, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1059, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1087, + "src": "805:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1058, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "805:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1061, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1087, + "src": "816:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1060, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "816:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "804:22:2" + }, + "returnParameters": { + "id": 1067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1064, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1087, + "src": "850:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1063, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "850:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1066, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1087, + "src": "856:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1065, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "856:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "849:15:2" + }, + "scope": 1408, + "src": "789:174:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1113, + "nodeType": "Block", + "src": "1185:75:2", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1099, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1092, + "src": "1199:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "id": 1100, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "1203:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1199:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1106, + "nodeType": "IfStatement", + "src": "1195:28:2", + "trueBody": { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1214:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1221:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 1104, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1213:10:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 1098, + "id": 1105, + "nodeType": "Return", + "src": "1206:17:2" + } + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1241:4:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1108, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1090, + "src": "1247:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 1109, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1092, + "src": "1251:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1247:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1111, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1240:13:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 1098, + "id": 1112, + "nodeType": "Return", + "src": "1233:20:2" + } + ] + }, + "documentation": { + "id": 1088, + "nodeType": "StructuredDocumentation", + "src": "969:135:2", + "text": "@dev Returns the substraction of two unsigned integers, with an overflow flag.\n * _Available since v3.4._" + }, + "id": 1114, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "trySub", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1093, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1090, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1114, + "src": "1125:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1089, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1125:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1092, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1114, + "src": "1136:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1091, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1136:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1124:22:2" + }, + "returnParameters": { + "id": 1098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1095, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1114, + "src": "1170:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1094, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1170:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1097, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1114, + "src": "1176:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1096, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1176:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1169:15:2" + }, + "scope": 1408, + "src": "1109:151:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1154, + "nodeType": "Block", + "src": "1484:359:2", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1126, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1117, + "src": "1716:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1721:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1716:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1133, + "nodeType": "IfStatement", + "src": "1712:28:2", + "trueBody": { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1732:4:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1130, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1738:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 1131, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1731:9:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 1125, + "id": 1132, + "nodeType": "Return", + "src": "1724:16:2" + } + }, + { + "assignments": [ + 1135 + ], + "declarations": [ + { + "constant": false, + "id": 1135, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1154, + "src": "1750:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1134, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1750:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1139, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1136, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1117, + "src": "1762:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 1137, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "1766:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1762:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1750:17:2" + }, + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1140, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1135, + "src": "1781:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 1141, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1117, + "src": "1785:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1781:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "id": 1143, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "1790:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1781:10:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1149, + "nodeType": "IfStatement", + "src": "1777:33:2", + "trueBody": { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1145, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1801:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1808:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 1147, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1800:10:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 1125, + "id": 1148, + "nodeType": "Return", + "src": "1793:17:2" + } + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1828:4:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "id": 1151, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1135, + "src": "1834:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1152, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1827:9:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 1125, + "id": 1153, + "nodeType": "Return", + "src": "1820:16:2" + } + ] + }, + "documentation": { + "id": 1115, + "nodeType": "StructuredDocumentation", + "src": "1266:137:2", + "text": "@dev Returns the multiplication of two unsigned integers, with an overflow flag.\n * _Available since v3.4._" + }, + "id": 1155, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryMul", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1117, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1155, + "src": "1424:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1116, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1424:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1119, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1155, + "src": "1435:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1118, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1435:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1423:22:2" + }, + "returnParameters": { + "id": 1125, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1122, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1155, + "src": "1469:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1121, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1469:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1124, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1155, + "src": "1475:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1123, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1475:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1468:15:2" + }, + "scope": 1408, + "src": "1408:435:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1181, + "nodeType": "Block", + "src": "2068:76:2", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1167, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "2082:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2087:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2082:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1174, + "nodeType": "IfStatement", + "src": "2078:29:2", + "trueBody": { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2098:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1171, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2105:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 1172, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2097:10:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 1166, + "id": 1173, + "nodeType": "Return", + "src": "2090:17:2" + } + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2125:4:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1176, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1158, + "src": "2131:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 1177, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1160, + "src": "2135:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2131:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1179, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2124:13:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 1166, + "id": 1180, + "nodeType": "Return", + "src": "2117:20:2" + } + ] + }, + "documentation": { + "id": 1156, + "nodeType": "StructuredDocumentation", + "src": "1849:138:2", + "text": "@dev Returns the division of two unsigned integers, with a division by zero flag.\n * _Available since v3.4._" + }, + "id": 1182, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryDiv", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1158, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1182, + "src": "2008:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1157, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2008:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1160, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1182, + "src": "2019:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1159, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2019:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2007:22:2" + }, + "returnParameters": { + "id": 1166, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1163, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1182, + "src": "2053:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1162, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2053:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1165, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1182, + "src": "2059:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1164, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2059:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2052:15:2" + }, + "scope": 1408, + "src": "1992:152:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1208, + "nodeType": "Block", + "src": "2379:76:2", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1194, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "2393:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1195, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2398:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2393:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1201, + "nodeType": "IfStatement", + "src": "2389:29:2", + "trueBody": { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "66616c7365", + "id": 1197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2409:5:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "argumentTypes": null, + "hexValue": "30", + "id": 1198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2416:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "id": 1199, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2408:10:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", + "typeString": "tuple(bool,int_const 0)" + } + }, + "functionReturnParameters": 1193, + "id": 1200, + "nodeType": "Return", + "src": "2401:17:2" + } + }, + { + "expression": { + "argumentTypes": null, + "components": [ + { + "argumentTypes": null, + "hexValue": "74727565", + "id": 1202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2436:4:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1203, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1185, + "src": "2442:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "id": 1204, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "2446:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2442:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1206, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2435:13:2", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", + "typeString": "tuple(bool,uint256)" + } + }, + "functionReturnParameters": 1193, + "id": 1207, + "nodeType": "Return", + "src": "2428:20:2" + } + ] + }, + "documentation": { + "id": 1183, + "nodeType": "StructuredDocumentation", + "src": "2150:148:2", + "text": "@dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n * _Available since v3.4._" + }, + "id": 1209, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tryMod", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1185, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1209, + "src": "2319:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1184, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2319:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1187, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1209, + "src": "2330:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1186, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2330:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2318:22:2" + }, + "returnParameters": { + "id": 1193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1190, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1209, + "src": "2364:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1189, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2364:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1192, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1209, + "src": "2370:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1191, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2370:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2363:15:2" + }, + "scope": 1408, + "src": "2303:152:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1234, + "nodeType": "Block", + "src": "2757:108:2", + "statements": [ + { + "assignments": [ + 1220 + ], + "declarations": [ + { + "constant": false, + "id": 1220, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1234, + "src": "2767:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1219, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2767:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1224, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1221, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1212, + "src": "2779:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 1222, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1214, + "src": "2783:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2779:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2767:17:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1226, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1220, + "src": "2802:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 1227, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1212, + "src": "2807:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2802:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "536166654d6174683a206164646974696f6e206f766572666c6f77", + "id": 1229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2810:29:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a", + "typeString": "literal_string \"SafeMath: addition overflow\"" + }, + "value": "SafeMath: addition overflow" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a", + "typeString": "literal_string \"SafeMath: addition overflow\"" + } + ], + "id": 1225, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2794:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2794:46:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1231, + "nodeType": "ExpressionStatement", + "src": "2794:46:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 1232, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1220, + "src": "2857:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1218, + "id": 1233, + "nodeType": "Return", + "src": "2850:8:2" + } + ] + }, + "documentation": { + "id": 1210, + "nodeType": "StructuredDocumentation", + "src": "2461:224:2", + "text": "@dev Returns the addition of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `+` operator.\n * Requirements:\n * - Addition cannot overflow." + }, + "id": 1235, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1212, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1235, + "src": "2703:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1211, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2703:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1214, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1235, + "src": "2714:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1213, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2714:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2702:22:2" + }, + "returnParameters": { + "id": 1218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1217, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1235, + "src": "2748:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2748:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2747:9:2" + }, + "scope": 1408, + "src": "2690:175:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1256, + "nodeType": "Block", + "src": "3203:88:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1246, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1240, + "src": "3221:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 1247, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1238, + "src": "3226:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3221:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "536166654d6174683a207375627472616374696f6e206f766572666c6f77", + "id": 1249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3229:32:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862", + "typeString": "literal_string \"SafeMath: subtraction overflow\"" + }, + "value": "SafeMath: subtraction overflow" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862", + "typeString": "literal_string \"SafeMath: subtraction overflow\"" + } + ], + "id": 1245, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3213:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3213:49:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1251, + "nodeType": "ExpressionStatement", + "src": "3213:49:2" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1252, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1238, + "src": "3279:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 1253, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1240, + "src": "3283:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3279:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1244, + "id": 1255, + "nodeType": "Return", + "src": "3272:12:2" + } + ] + }, + "documentation": { + "id": 1236, + "nodeType": "StructuredDocumentation", + "src": "2871:260:2", + "text": "@dev Returns the subtraction of two unsigned integers, reverting on\noverflow (when the result is negative).\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n * - Subtraction cannot overflow." + }, + "id": 1257, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1241, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1238, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1257, + "src": "3149:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1237, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3149:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1240, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1257, + "src": "3160:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1239, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3160:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3148:22:2" + }, + "returnParameters": { + "id": 1244, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1243, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1257, + "src": "3194:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1242, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3194:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3193:9:2" + }, + "scope": 1408, + "src": "3136:155:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1290, + "nodeType": "Block", + "src": "3605:148:2", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1267, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1260, + "src": "3619:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1268, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3624:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3619:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 1272, + "nodeType": "IfStatement", + "src": "3615:20:2", + "trueBody": { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1270, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3634:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1266, + "id": 1271, + "nodeType": "Return", + "src": "3627:8:2" + } + }, + { + "assignments": [ + 1274 + ], + "declarations": [ + { + "constant": false, + "id": 1274, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1290, + "src": "3645:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1273, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3645:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 1278, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1275, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1260, + "src": "3657:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 1276, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1262, + "src": "3661:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3657:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3645:17:2" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1280, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1274, + "src": "3680:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 1281, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1260, + "src": "3684:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3680:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 1283, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1262, + "src": "3689:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3680:10:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", + "id": 1285, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3692:35:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3", + "typeString": "literal_string \"SafeMath: multiplication overflow\"" + }, + "value": "SafeMath: multiplication overflow" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3", + "typeString": "literal_string \"SafeMath: multiplication overflow\"" + } + ], + "id": 1279, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3672:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3672:56:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1287, + "nodeType": "ExpressionStatement", + "src": "3672:56:2" + }, + { + "expression": { + "argumentTypes": null, + "id": 1288, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1274, + "src": "3745:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1266, + "id": 1289, + "nodeType": "Return", + "src": "3738:8:2" + } + ] + }, + "documentation": { + "id": 1258, + "nodeType": "StructuredDocumentation", + "src": "3297:236:2", + "text": "@dev Returns the multiplication of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `*` operator.\n * Requirements:\n * - Multiplication cannot overflow." + }, + "id": 1291, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mul", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1263, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1260, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1291, + "src": "3551:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1259, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3551:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1262, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1291, + "src": "3562:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1261, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3562:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3550:22:2" + }, + "returnParameters": { + "id": 1266, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1265, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1291, + "src": "3596:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1264, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3596:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3595:9:2" + }, + "scope": 1408, + "src": "3538:215:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1312, + "nodeType": "Block", + "src": "4284:83:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1302, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1296, + "src": "4302:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1303, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4306:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4302:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "536166654d6174683a206469766973696f6e206279207a65726f", + "id": 1305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4309:28:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f", + "typeString": "literal_string \"SafeMath: division by zero\"" + }, + "value": "SafeMath: division by zero" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f", + "typeString": "literal_string \"SafeMath: division by zero\"" + } + ], + "id": 1301, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4294:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1306, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4294:44:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1307, + "nodeType": "ExpressionStatement", + "src": "4294:44:2" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1308, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1294, + "src": "4355:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 1309, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1296, + "src": "4359:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4355:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1300, + "id": 1311, + "nodeType": "Return", + "src": "4348:12:2" + } + ] + }, + "documentation": { + "id": 1292, + "nodeType": "StructuredDocumentation", + "src": "3759:453:2", + "text": "@dev Returns the integer division of two unsigned integers, reverting on\ndivision by zero. The result is rounded towards zero.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero." + }, + "id": 1313, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1297, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1294, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1313, + "src": "4230:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1293, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4230:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1296, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1313, + "src": "4241:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1295, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4241:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4229:22:2" + }, + "returnParameters": { + "id": 1300, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1299, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1313, + "src": "4275:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4275:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4274:9:2" + }, + "scope": 1408, + "src": "4217:150:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1334, + "nodeType": "Block", + "src": "4887:81:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1324, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "4905:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1325, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4909:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4905:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "536166654d6174683a206d6f64756c6f206279207a65726f", + "id": 1327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4912:26:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832", + "typeString": "literal_string \"SafeMath: modulo by zero\"" + }, + "value": "SafeMath: modulo by zero" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832", + "typeString": "literal_string \"SafeMath: modulo by zero\"" + } + ], + "id": 1323, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4897:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4897:42:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1329, + "nodeType": "ExpressionStatement", + "src": "4897:42:2" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1330, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1316, + "src": "4956:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "id": 1331, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1318, + "src": "4960:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4956:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1322, + "id": 1333, + "nodeType": "Return", + "src": "4949:12:2" + } + ] + }, + "documentation": { + "id": 1314, + "nodeType": "StructuredDocumentation", + "src": "4373:442:2", + "text": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nreverting when dividing by zero.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero." + }, + "id": 1335, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mod", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1319, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1316, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1335, + "src": "4833:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1315, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4833:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1318, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1335, + "src": "4844:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1317, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4844:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4832:22:2" + }, + "returnParameters": { + "id": 1322, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1321, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1335, + "src": "4878:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1320, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4878:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "4877:9:2" + }, + "scope": 1408, + "src": "4820:148:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1358, + "nodeType": "Block", + "src": "5527:68:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1348, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "5545:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 1349, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1338, + "src": "5550:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5545:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 1351, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1342, + "src": "5553:12:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1347, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5537:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5537:29:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1353, + "nodeType": "ExpressionStatement", + "src": "5537:29:2" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1354, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1338, + "src": "5583:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 1355, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1340, + "src": "5587:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5583:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1346, + "id": 1357, + "nodeType": "Return", + "src": "5576:12:2" + } + ] + }, + "documentation": { + "id": 1336, + "nodeType": "StructuredDocumentation", + "src": "4974:453:2", + "text": "@dev Returns the subtraction of two unsigned integers, reverting with custom message on\noverflow (when the result is negative).\n * CAUTION: This function is deprecated because it requires allocating memory for the error\nmessage unnecessarily. For custom revert reasons use {trySub}.\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n * - Subtraction cannot overflow." + }, + "id": 1359, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1343, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1338, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1359, + "src": "5445:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1337, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5445:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1340, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1359, + "src": "5456:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1339, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5456:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1342, + "mutability": "mutable", + "name": "errorMessage", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1359, + "src": "5467:26:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1341, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5467:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5444:50:2" + }, + "returnParameters": { + "id": 1346, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1345, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1359, + "src": "5518:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1344, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5518:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "5517:9:2" + }, + "scope": 1408, + "src": "5432:163:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1382, + "nodeType": "Block", + "src": "6347:67:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1372, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1364, + "src": "6365:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6369:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6365:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 1375, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1366, + "src": "6372:12:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1371, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6357:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1376, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6357:28:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1377, + "nodeType": "ExpressionStatement", + "src": "6357:28:2" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1378, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1362, + "src": "6402:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 1379, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1364, + "src": "6406:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6402:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1370, + "id": 1381, + "nodeType": "Return", + "src": "6395:12:2" + } + ] + }, + "documentation": { + "id": 1360, + "nodeType": "StructuredDocumentation", + "src": "5601:646:2", + "text": "@dev Returns the integer division of two unsigned integers, reverting with custom message on\ndivision by zero. The result is rounded towards zero.\n * CAUTION: This function is deprecated because it requires allocating memory for the error\nmessage unnecessarily. For custom revert reasons use {tryDiv}.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero." + }, + "id": 1383, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1367, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1362, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1383, + "src": "6265:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1361, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6265:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1364, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1383, + "src": "6276:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1363, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6276:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1366, + "mutability": "mutable", + "name": "errorMessage", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1383, + "src": "6287:26:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1365, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6287:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6264:50:2" + }, + "returnParameters": { + "id": 1370, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1369, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1383, + "src": "6338:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1368, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6338:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "6337:9:2" + }, + "scope": 1408, + "src": "6252:162:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1406, + "nodeType": "Block", + "src": "7155:67:2", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1396, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1388, + "src": "7173:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 1397, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7177:1:2", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7173:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "id": 1399, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1390, + "src": "7180:12:2", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1395, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7165:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7165:28:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1401, + "nodeType": "ExpressionStatement", + "src": "7165:28:2" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1404, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 1402, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1386, + "src": "7210:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "id": 1403, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1388, + "src": "7214:1:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7210:5:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1394, + "id": 1405, + "nodeType": "Return", + "src": "7203:12:2" + } + ] + }, + "documentation": { + "id": 1384, + "nodeType": "StructuredDocumentation", + "src": "6420:635:2", + "text": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nreverting with custom message when dividing by zero.\n * CAUTION: This function is deprecated because it requires allocating memory for the error\nmessage unnecessarily. For custom revert reasons use {tryMod}.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero." + }, + "id": 1407, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mod", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 1391, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1386, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1407, + "src": "7073:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1385, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7073:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1388, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1407, + "src": "7084:9:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1387, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7084:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 1390, + "mutability": "mutable", + "name": "errorMessage", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1407, + "src": "7095:26:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1389, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7095:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7072:50:2" + }, + "returnParameters": { + "id": 1394, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1393, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 1407, + "src": "7146:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1392, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7146:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "7145:9:2" + }, + "scope": 1408, + "src": "7060:162:2", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 1409, + "src": "630:6594:2" + } + ], + "src": "33:7192:2" + }, + "bytecode": "60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b6fe27c18321e701edba3faa577f07180d5efd2de4f560f1d78005f0c1cca69664736f6c63430006060033", + "bytecodeSha1": "3b4158955f564edb18bd7a8ffdb49859c904f0b7", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.6+commit.6c089d02" + }, + "contractName": "SafeMath", + "coverageMap": { + "branches": { + "2": {} + }, + "statements": { + "2": {} + } + }, + "dependencies": [], + "deployedBytecode": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b6fe27c18321e701edba3faa577f07180d5efd2de4f560f1d78005f0c1cca69664736f6c63430006060033", + "deployedSourceMap": "630:6594:2:-:0;;;;;;12:1:-1;9;2:12", + "language": "Solidity", + "natspec": { + "details": "Wrappers over Solidity's arithmetic operations with added overflow checks. * Arithmetic operations in Solidity wrap on overflow. This can easily result in bugs, because programmers usually assume that an overflow raises an error, which is the standard behavior in high level programming languages. `SafeMath` restores this intuition by reverting the transaction when an operation overflows. * Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.", + "methods": {} + }, + "offset": [ + 630, + 7224 + ], + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB6 INVALID 0x27 0xC1 DUP4 0x21 0xE7 ADD 0xED 0xBA EXTCODEHASH 0xAA JUMPI PUSH32 0x7180D5EFD2DE4F560F1D78005F0C1CCA69664736F6C63430006060033000000 ", + "pcMap": { + "0": { + "offset": [ + 630, + 7224 + ], + "op": "PUSH20", + "path": "2", + "value": "0x0" + }, + "21": { + "fn": null, + "offset": [ + 630, + 7224 + ], + "op": "ADDRESS", + "path": "2" + }, + "22": { + "fn": null, + "offset": [ + 630, + 7224 + ], + "op": "EQ", + "path": "2" + }, + "23": { + "fn": null, + "offset": [ + 630, + 7224 + ], + "op": "PUSH1", + "path": "2", + "value": "0x80" + }, + "25": { + "fn": null, + "offset": [ + 630, + 7224 + ], + "op": "PUSH1", + "path": "2", + "value": "0x40" + }, + "27": { + "fn": null, + "offset": [ + 630, + 7224 + ], + "op": "MSTORE", + "path": "2" + }, + "28": { + "op": "PUSH1", + "value": "0x0" + }, + "30": { + "op": "DUP1" + }, + "31": { + "op": "REVERT" + } + }, + "sha1": "3906485abfad296a4f57098778ae0b75fec61892", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeMath {\n /**\n * @dev Returns the addition of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */\n function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n uint256 c = a + b;\n if (c < a) return (false, 0);\n return (true, c);\n }\n\n /**\n * @dev Returns the substraction of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */\n function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n if (b > a) return (false, 0);\n return (true, a - b);\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */\n function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) return (true, 0);\n uint256 c = a * b;\n if (c / a != b) return (false, 0);\n return (true, c);\n }\n\n /**\n * @dev Returns the division of two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */\n function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n if (b == 0) return (false, 0);\n return (true, a / b);\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */\n function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n if (b == 0) return (false, 0);\n return (true, a % b);\n }\n\n /**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n *\n * - Addition cannot overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, \"SafeMath: addition overflow\");\n return c;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b <= a, \"SafeMath: subtraction overflow\");\n return a - b;\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n *\n * - Multiplication cannot overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n if (a == 0) return 0;\n uint256 c = a * b;\n require(c / a == b, \"SafeMath: multiplication overflow\");\n return c;\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers, reverting on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b > 0, \"SafeMath: division by zero\");\n return a / b;\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b > 0, \"SafeMath: modulo by zero\");\n return a % b;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n * overflow (when the result is negative).\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {trySub}.\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b <= a, errorMessage);\n return a - b;\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers, reverting with custom message on\n * division by zero. The result is rounded towards zero.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryDiv}.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b > 0, errorMessage);\n return a / b;\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting with custom message when dividing by zero.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryMod}.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b > 0, errorMessage);\n return a % b;\n }\n}\n", + "sourceMap": "630:6594:2:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", + "sourcePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol", + "type": "library" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/Strings.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/Strings.json new file mode 100644 index 00000000..ff912aae --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@3.4.0/Strings.json @@ -0,0 +1,1254 @@ +{ + "abi": [], + "allSourcePaths": { + "12": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Strings.sol" + }, + "ast": { + "absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Strings.sol", + "exportedSymbols": { + "Strings": [ + 3058 + ] + }, + "id": 3059, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2973, + "literals": [ + "solidity", + ">=", + "0.6", + ".0", + "<", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "33:31:12" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 2974, + "nodeType": "StructuredDocumentation", + "src": "66:34:12", + "text": "@dev String operations." + }, + "fullyImplemented": true, + "id": 3058, + "linearizedBaseContracts": [ + 3058 + ], + "name": "Strings", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3056, + "nodeType": "Block", + "src": "281:654:12", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2982, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "483:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2983, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "492:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "483:10:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 2988, + "nodeType": "IfStatement", + "src": "479:51:12", + "trueBody": { + "id": 2987, + "nodeType": "Block", + "src": "495:35:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2985, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "516:3:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", + "typeString": "literal_string \"0\"" + }, + "value": "0" + }, + "functionReturnParameters": 2981, + "id": 2986, + "nodeType": "Return", + "src": "509:10:12" + } + ] + } + }, + { + "assignments": [ + 2990 + ], + "declarations": [ + { + "constant": false, + "id": 2990, + "mutability": "mutable", + "name": "temp", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 3056, + "src": "539:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2989, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "539:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2992, + "initialValue": { + "argumentTypes": null, + "id": 2991, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "554:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "539:20:12" + }, + { + "assignments": [ + 2994 + ], + "declarations": [ + { + "constant": false, + "id": 2994, + "mutability": "mutable", + "name": "digits", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 3056, + "src": "569:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2993, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "569:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 2995, + "initialValue": null, + "nodeType": "VariableDeclarationStatement", + "src": "569:14:12" + }, + { + "body": { + "id": 3006, + "nodeType": "Block", + "src": "611:57:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "625:8:12", + "subExpression": { + "argumentTypes": null, + "id": 2999, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2994, + "src": "625:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3001, + "nodeType": "ExpressionStatement", + "src": "625:8:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 3004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3002, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2990, + "src": "647:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 3003, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "655:2:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "647:10:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3005, + "nodeType": "ExpressionStatement", + "src": "647:10:12" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 2996, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2990, + "src": "600:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 2997, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "608:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "600:9:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3007, + "nodeType": "WhileStatement", + "src": "593:75:12" + }, + { + "assignments": [ + 3009 + ], + "declarations": [ + { + "constant": false, + "id": 3009, + "mutability": "mutable", + "name": "buffer", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 3056, + "src": "677:19:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3008, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "677:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3014, + "initialValue": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3012, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2994, + "src": "709:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3011, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "699:9:12", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 3010, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "703:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 3013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "699:17:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "677:39:12" + }, + { + "assignments": [ + 3016 + ], + "declarations": [ + { + "constant": false, + "id": 3016, + "mutability": "mutable", + "name": "index", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 3056, + "src": "726:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3015, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "726:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 3020, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3017, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2994, + "src": "742:6:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "hexValue": "31", + "id": 3018, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "751:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "742:10:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "726:26:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 3023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3021, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2990, + "src": "762:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 3022, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2977, + "src": "769:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "762:12:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3024, + "nodeType": "ExpressionStatement", + "src": "762:12:12" + }, + { + "body": { + "id": 3049, + "nodeType": "Block", + "src": "802:96:12", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 3043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "baseExpression": { + "argumentTypes": null, + "id": 3028, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3009, + "src": "816:6:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3031, + "indexExpression": { + "argumentTypes": null, + "id": 3030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "823:7:12", + "subExpression": { + "argumentTypes": null, + "id": 3029, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3016, + "src": "823:5:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "816:15:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "hexValue": "3438", + "id": 3036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "847:2:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3039, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3037, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2990, + "src": "852:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "hexValue": "3130", + "id": 3038, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "859:2:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "852:9:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "847:14:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3035, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "841:5:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 3034, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "841:5:12", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 3041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "841:21:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 3033, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "834:6:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 3032, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "834:6:12", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 3042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "834:29:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "816:47:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 3044, + "nodeType": "ExpressionStatement", + "src": "816:47:12" + }, + { + "expression": { + "argumentTypes": null, + "id": 3047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 3045, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2990, + "src": "877:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "3130", + "id": 3046, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "885:2:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "877:10:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3048, + "nodeType": "ExpressionStatement", + "src": "877:10:12" + } + ] + }, + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3027, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 3025, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2990, + "src": "791:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 3026, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "799:1:12", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "791:9:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3050, + "nodeType": "WhileStatement", + "src": "784:114:12" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 3053, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3009, + "src": "921:6:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3052, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "914:6:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 3051, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "914:6:12", + "typeDescriptions": { + "typeIdentifier": null, + "typeString": null + } + } + }, + "id": 3054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "914:14:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 2981, + "id": 3055, + "nodeType": "Return", + "src": "907:21:12" + } + ] + }, + "documentation": { + "id": 2975, + "nodeType": "StructuredDocumentation", + "src": "123:82:12", + "text": "@dev Converts a `uint256` to its ASCII `string` representation." + }, + "id": 3057, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toString", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 2978, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2977, + "mutability": "mutable", + "name": "value", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 3057, + "src": "228:13:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2976, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "228:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "227:15:12" + }, + "returnParameters": { + "id": 2981, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2980, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 3057, + "src": "266:13:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2979, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "266:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "265:15:12" + }, + "scope": 3058, + "src": "210:725:12", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 3059, + "src": "101:836:12" + } + ], + "src": "33:905:12" + }, + "bytecode": "60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203334f21786686de5103af0d51c199cdc80c9a1088a27b79802327c684dd01faa64736f6c63430006060033", + "bytecodeSha1": "3b4158955f564edb18bd7a8ffdb49859c904f0b7", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.6+commit.6c089d02" + }, + "contractName": "Strings", + "coverageMap": { + "branches": { + "12": {} + }, + "statements": { + "12": {} + } + }, + "dependencies": [], + "deployedBytecode": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203334f21786686de5103af0d51c199cdc80c9a1088a27b79802327c684dd01faa64736f6c63430006060033", + "deployedSourceMap": "101:836:12:-:0;;;;;;12:1:-1;9;2:12", + "language": "Solidity", + "natspec": { + "details": "String operations.", + "methods": {} + }, + "offset": [ + 101, + 937 + ], + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLER CALLVALUE CALLCODE OR DUP7 PUSH9 0x6DE5103AF0D51C199C 0xDC DUP1 0xC9 LOG1 ADDMOD DUP11 0x27 0xB7 SWAP9 MUL ORIGIN PUSH29 0x684DD01FAA64736F6C6343000606003300000000000000000000000000 ", + "pcMap": { + "0": { + "offset": [ + 101, + 937 + ], + "op": "PUSH20", + "path": "12", + "value": "0x0" + }, + "21": { + "fn": null, + "offset": [ + 101, + 937 + ], + "op": "ADDRESS", + "path": "12" + }, + "22": { + "fn": null, + "offset": [ + 101, + 937 + ], + "op": "EQ", + "path": "12" + }, + "23": { + "fn": null, + "offset": [ + 101, + 937 + ], + "op": "PUSH1", + "path": "12", + "value": "0x80" + }, + "25": { + "fn": null, + "offset": [ + 101, + 937 + ], + "op": "PUSH1", + "path": "12", + "value": "0x40" + }, + "27": { + "fn": null, + "offset": [ + 101, + 937 + ], + "op": "MSTORE", + "path": "12" + }, + "28": { + "op": "PUSH1", + "value": "0x0" + }, + "30": { + "op": "DUP1" + }, + "31": { + "op": "REVERT" + } + }, + "sha1": "628868850de9eaecec7b2806b586ffc2ef043f14", + "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n /**\n * @dev Converts a `uint256` to its ASCII `string` representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n // Inspired by OraclizeAPI's implementation - MIT licence\n // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol\n\n if (value == 0) {\n return \"0\";\n }\n uint256 temp = value;\n uint256 digits;\n while (temp != 0) {\n digits++;\n temp /= 10;\n }\n bytes memory buffer = new bytes(digits);\n uint256 index = digits - 1;\n temp = value;\n while (temp != 0) {\n buffer[index--] = bytes1(uint8(48 + temp % 10));\n temp /= 10;\n }\n return string(buffer);\n }\n}\n", + "sourceMap": "101:836:12:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", + "sourcePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Strings.sol", + "type": "library" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/smartcontractkit/chainlink-brownie-contracts@1.1.0/AggregatorV3Interface.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/smartcontractkit/chainlink-brownie-contracts@1.1.0/AggregatorV3Interface.json new file mode 100644 index 00000000..3a9ecefa --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/smartcontractkit/chainlink-brownie-contracts@1.1.0/AggregatorV3Interface.json @@ -0,0 +1,739 @@ +{ + "abi": [ + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "description", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint80", + "name": "_roundId", + "type": "uint80" + } + ], + "name": "getRoundData", + "outputs": [ + { + "internalType": "uint80", + "name": "roundId", + "type": "uint80" + }, + { + "internalType": "int256", + "name": "answer", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "startedAt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "updatedAt", + "type": "uint256" + }, + { + "internalType": "uint80", + "name": "answeredInRound", + "type": "uint80" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "latestRoundData", + "outputs": [ + { + "internalType": "uint80", + "name": "roundId", + "type": "uint80" + }, + { + "internalType": "int256", + "name": "answer", + "type": "int256" + }, + { + "internalType": "uint256", + "name": "startedAt", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "updatedAt", + "type": "uint256" + }, + { + "internalType": "uint80", + "name": "answeredInRound", + "type": "uint80" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "allSourcePaths": { + "0": "C:/Users/dhanu/.brownie/packages/smartcontractkit/chainlink-brownie-contracts@1.1.0/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol" + }, + "ast": { + "absolutePath": "C:/Users/dhanu/.brownie/packages/smartcontractkit/chainlink-brownie-contracts@1.1.0/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol", + "exportedSymbols": { + "AggregatorV3Interface": [ + 161 + ] + }, + "id": 162, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 117, + "literals": [ + "solidity", + "^", + "0.6", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "32:23:0" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 161, + "linearizedBaseContracts": [ + 161 + ], + "name": "AggregatorV3Interface", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "functionSelector": "313ce567", + "id": 122, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "decimals", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 118, + "nodeType": "ParameterList", + "parameters": [], + "src": "111:2:0" + }, + "returnParameters": { + "id": 121, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 120, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 122, + "src": "156:5:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 119, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "156:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "148:19:0" + }, + "scope": 161, + "src": "94:74:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "functionSelector": "7284e416", + "id": 127, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "description", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 123, + "nodeType": "ParameterList", + "parameters": [], + "src": "192:2:0" + }, + "returnParameters": { + "id": 126, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 125, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 127, + "src": "237:13:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 124, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "237:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "229:27:0" + }, + "scope": 161, + "src": "172:85:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "functionSelector": "54fd4d50", + "id": 132, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "version", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 128, + "nodeType": "ParameterList", + "parameters": [], + "src": "277:2:0" + }, + "returnParameters": { + "id": 131, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 130, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 132, + "src": "322:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "322:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "314:21:0" + }, + "scope": 161, + "src": "261:75:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "functionSelector": "9a6fc8f5", + "id": 147, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getRoundData", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 135, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 134, + "mutability": "mutable", + "name": "_roundId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 147, + "src": "367:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint80", + "typeString": "uint80" + }, + "typeName": { + "id": 133, + "name": "uint80", + "nodeType": "ElementaryTypeName", + "src": "367:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint80", + "typeString": "uint80" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "361:25:0" + }, + "returnParameters": { + "id": 146, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 137, + "mutability": "mutable", + "name": "roundId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 147, + "src": "429:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint80", + "typeString": "uint80" + }, + "typeName": { + "id": 136, + "name": "uint80", + "nodeType": "ElementaryTypeName", + "src": "429:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint80", + "typeString": "uint80" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 139, + "mutability": "mutable", + "name": "answer", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 147, + "src": "451:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 138, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "451:6:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 141, + "mutability": "mutable", + "name": "startedAt", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 147, + "src": "472:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 140, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "472:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 143, + "mutability": "mutable", + "name": "updatedAt", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 147, + "src": "497:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "497:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 145, + "mutability": "mutable", + "name": "answeredInRound", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 147, + "src": "522:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint80", + "typeString": "uint80" + }, + "typeName": { + "id": 144, + "name": "uint80", + "nodeType": "ElementaryTypeName", + "src": "522:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint80", + "typeString": "uint80" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "421:129:0" + }, + "scope": 161, + "src": "340:211:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "functionSelector": "feaf968c", + "id": 160, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "latestRoundData", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 148, + "nodeType": "ParameterList", + "parameters": [], + "src": "579:2:0" + }, + "returnParameters": { + "id": 159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 150, + "mutability": "mutable", + "name": "roundId", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 160, + "src": "624:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint80", + "typeString": "uint80" + }, + "typeName": { + "id": 149, + "name": "uint80", + "nodeType": "ElementaryTypeName", + "src": "624:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint80", + "typeString": "uint80" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 152, + "mutability": "mutable", + "name": "answer", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 160, + "src": "646:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 151, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "646:6:0", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 154, + "mutability": "mutable", + "name": "startedAt", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 160, + "src": "667:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 153, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "667:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 156, + "mutability": "mutable", + "name": "updatedAt", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 160, + "src": "692:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 155, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "692:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 158, + "mutability": "mutable", + "name": "answeredInRound", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 160, + "src": "717:22:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint80", + "typeString": "uint80" + }, + "typeName": { + "id": 157, + "name": "uint80", + "nodeType": "ElementaryTypeName", + "src": "717:6:0", + "typeDescriptions": { + "typeIdentifier": "t_uint80", + "typeString": "uint80" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "616:129:0" + }, + "scope": 161, + "src": "555:191:0", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 162, + "src": "57:692:0" + } + ], + "src": "32:718:0" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.12+commit.27d51765" + }, + "contractName": "AggregatorV3Interface", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "offset": [ + 57, + 749 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "d450f542a15f8171bfcbdb499787450e59e9e047", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.6.0;\n\ninterface AggregatorV3Interface {\n\n function decimals()\n external\n view\n returns (\n uint8\n );\n\n function description()\n external\n view\n returns (\n string memory\n );\n\n function version()\n external\n view\n returns (\n uint256\n );\n\n function getRoundData(\n uint80 _roundId\n )\n external\n view\n returns (\n uint80 roundId,\n int256 answer,\n uint256 startedAt,\n uint256 updatedAt,\n uint80 answeredInRound\n );\n\n function latestRoundData()\n external\n view\n returns (\n uint80 roundId,\n int256 answer,\n uint256 startedAt,\n uint256 updatedAt,\n uint80 answeredInRound\n );\n\n}\n", + "sourceMap": "", + "sourcePath": "C:/Users/dhanu/.brownie/packages/smartcontractkit/chainlink-brownie-contracts@1.1.0/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol", + "type": "interface" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/smartcontractkit/chainlink-brownie-contracts@1.1.0/SafeMathChainlink.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/smartcontractkit/chainlink-brownie-contracts@1.1.0/SafeMathChainlink.json new file mode 100644 index 00000000..8ce656b8 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/contracts/dependencies/smartcontractkit/chainlink-brownie-contracts@1.1.0/SafeMathChainlink.json @@ -0,0 +1,1952 @@ +{ + "abi": [], + "allSourcePaths": { + "1": "C:/Users/dhanu/.brownie/packages/smartcontractkit/chainlink-brownie-contracts@1.1.0/contracts/src/v0.6/vendor/SafeMathChainlink.sol" + }, + "ast": { + "absolutePath": "C:/Users/dhanu/.brownie/packages/smartcontractkit/chainlink-brownie-contracts@1.1.0/contracts/src/v0.6/vendor/SafeMathChainlink.sol", + "exportedSymbols": { + "SafeMathChainlink": [ + 300 + ] + }, + "id": 301, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 163, + "literals": [ + "solidity", + "^", + "0.6", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "32:23:1" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 164, + "nodeType": "StructuredDocumentation", + "src": "57:563:1", + "text": " @dev Wrappers over Solidity's arithmetic operations with added overflow\n checks.\n Arithmetic operations in Solidity wrap on overflow. This can easily result\n in bugs, because programmers usually assume that an overflow raises an\n error, which is the standard behavior in high level programming languages.\n `SafeMath` restores this intuition by reverting the transaction when an\n operation overflows.\n Using this library instead of the unchecked operations eliminates an entire\n class of bugs, so it's recommended to use it always." + }, + "fullyImplemented": true, + "id": 300, + "linearizedBaseContracts": [ + 300 + ], + "name": "SafeMathChainlink", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 189, + "nodeType": "Block", + "src": "930:95:1", + "statements": [ + { + "assignments": [ + 175 + ], + "declarations": [ + { + "constant": false, + "id": 175, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 189, + "src": "936:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 174, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "936:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 179, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 176, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 167, + "src": "948:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "argumentTypes": null, + "id": 177, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 169, + "src": "952:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "948:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "936:17:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 181, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 175, + "src": "967:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "argumentTypes": null, + "id": 182, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 167, + "src": "972:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "967:6:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "536166654d6174683a206164646974696f6e206f766572666c6f77", + "id": 184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "975:29:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a", + "typeString": "literal_string \"SafeMath: addition overflow\"" + }, + "value": "SafeMath: addition overflow" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a", + "typeString": "literal_string \"SafeMath: addition overflow\"" + } + ], + "id": 180, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "959:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "959:46:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 186, + "nodeType": "ExpressionStatement", + "src": "959:46:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 187, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 175, + "src": "1019:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 173, + "id": 188, + "nodeType": "Return", + "src": "1012:8:1" + } + ] + }, + "documentation": { + "id": 165, + "nodeType": "StructuredDocumentation", + "src": "651:209:1", + "text": " @dev Returns the addition of two unsigned integers, reverting on\n overflow.\n Counterpart to Solidity's `+` operator.\n Requirements:\n - Addition cannot overflow." + }, + "id": 190, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "add", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 167, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 190, + "src": "876:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 166, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "876:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 169, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 190, + "src": "887:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "887:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "875:22:1" + }, + "returnParameters": { + "id": 173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 172, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 190, + "src": "921:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 171, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "921:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "920:9:1" + }, + "scope": 300, + "src": "863:162:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 215, + "nodeType": "Block", + "src": "1344:98:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 203, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 201, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 195, + "src": "1358:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "argumentTypes": null, + "id": 202, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 193, + "src": "1363:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1358:6:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "536166654d6174683a207375627472616374696f6e206f766572666c6f77", + "id": 204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1366:32:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862", + "typeString": "literal_string \"SafeMath: subtraction overflow\"" + }, + "value": "SafeMath: subtraction overflow" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862", + "typeString": "literal_string \"SafeMath: subtraction overflow\"" + } + ], + "id": 200, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1350:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1350:49:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 206, + "nodeType": "ExpressionStatement", + "src": "1350:49:1" + }, + { + "assignments": [ + 208 + ], + "declarations": [ + { + "constant": false, + "id": 208, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 215, + "src": "1405:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 207, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1405:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 212, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 209, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 193, + "src": "1417:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "argumentTypes": null, + "id": 210, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 195, + "src": "1421:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1417:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1405:17:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 213, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 208, + "src": "1436:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 199, + "id": 214, + "nodeType": "Return", + "src": "1429:8:1" + } + ] + }, + "documentation": { + "id": 191, + "nodeType": "StructuredDocumentation", + "src": "1029:245:1", + "text": " @dev Returns the subtraction of two unsigned integers, reverting on\n overflow (when the result is negative).\n Counterpart to Solidity's `-` operator.\n Requirements:\n - Subtraction cannot overflow." + }, + "id": 216, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sub", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 193, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 216, + "src": "1290:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 192, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1290:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 195, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 216, + "src": "1301:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 194, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1301:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1289:22:1" + }, + "returnParameters": { + "id": 199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 198, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 216, + "src": "1335:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 197, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1335:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1334:9:1" + }, + "scope": 300, + "src": "1277:165:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 250, + "nodeType": "Block", + "src": "1737:351:1", + "statements": [ + { + "condition": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 226, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "1952:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1957:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1952:6:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": null, + "id": 232, + "nodeType": "IfStatement", + "src": "1948:35:1", + "trueBody": { + "id": 231, + "nodeType": "Block", + "src": "1960:23:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "hexValue": "30", + "id": 229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1975:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 225, + "id": 230, + "nodeType": "Return", + "src": "1968:8:1" + } + ] + } + }, + { + "assignments": [ + 234 + ], + "declarations": [ + { + "constant": false, + "id": 234, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 250, + "src": "1989:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 233, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1989:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 238, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 235, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "2001:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "argumentTypes": null, + "id": 236, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 221, + "src": "2005:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2001:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1989:17:1" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 240, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 234, + "src": "2020:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 241, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "2024:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2020:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 243, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 221, + "src": "2029:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2020:10:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2032:35:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3", + "typeString": "literal_string \"SafeMath: multiplication overflow\"" + }, + "value": "SafeMath: multiplication overflow" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3", + "typeString": "literal_string \"SafeMath: multiplication overflow\"" + } + ], + "id": 239, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2012:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2012:56:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 247, + "nodeType": "ExpressionStatement", + "src": "2012:56:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 248, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 234, + "src": "2082:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 225, + "id": 249, + "nodeType": "Return", + "src": "2075:8:1" + } + ] + }, + "documentation": { + "id": 217, + "nodeType": "StructuredDocumentation", + "src": "1446:221:1", + "text": " @dev Returns the multiplication of two unsigned integers, reverting on\n overflow.\n Counterpart to Solidity's `*` operator.\n Requirements:\n - Multiplication cannot overflow." + }, + "id": 251, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mul", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 222, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 219, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 251, + "src": "1683:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 218, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1683:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 221, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 251, + "src": "1694:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 220, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1694:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1682:22:1" + }, + "returnParameters": { + "id": 225, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 224, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 251, + "src": "1728:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 223, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1728:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "1727:9:1" + }, + "scope": 300, + "src": "1670:418:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 276, + "nodeType": "Block", + "src": "2596:237:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 262, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 256, + "src": "2672:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2676:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2672:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "536166654d6174683a206469766973696f6e206279207a65726f", + "id": 265, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2679:28:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f", + "typeString": "literal_string \"SafeMath: division by zero\"" + }, + "value": "SafeMath: division by zero" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f", + "typeString": "literal_string \"SafeMath: division by zero\"" + } + ], + "id": 261, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2664:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2664:44:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 267, + "nodeType": "ExpressionStatement", + "src": "2664:44:1" + }, + { + "assignments": [ + 269 + ], + "declarations": [ + { + "constant": false, + "id": 269, + "mutability": "mutable", + "name": "c", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 276, + "src": "2714:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2714:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "id": 273, + "initialValue": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 270, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 254, + "src": "2726:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "argumentTypes": null, + "id": 271, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 256, + "src": "2730:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2726:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2714:17:1" + }, + { + "expression": { + "argumentTypes": null, + "id": 274, + "name": "c", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 269, + "src": "2827:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 260, + "id": 275, + "nodeType": "Return", + "src": "2820:8:1" + } + ] + }, + "documentation": { + "id": 252, + "nodeType": "StructuredDocumentation", + "src": "2092:434:1", + "text": " @dev Returns the integer division of two unsigned integers. Reverts on\n division by zero. The result is rounded towards zero.\n Counterpart to Solidity's `/` operator. Note: this function uses a\n `revert` opcode (which leaves remaining gas untouched) while Solidity\n uses an invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." + }, + "id": 277, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "div", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 257, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 254, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 277, + "src": "2542:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 253, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2542:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 256, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 277, + "src": "2553:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 255, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2553:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2541:22:1" + }, + "returnParameters": { + "id": 260, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 259, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 277, + "src": "2587:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 258, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2587:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "2586:9:1" + }, + "scope": 300, + "src": "2529:304:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 298, + "nodeType": "Block", + "src": "3330:72:1", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 288, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 282, + "src": "3344:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "hexValue": "30", + "id": 289, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3349:1:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3344:6:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "536166654d6174683a206d6f64756c6f206279207a65726f", + "id": 291, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3352:26:1", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832", + "typeString": "literal_string \"SafeMath: modulo by zero\"" + }, + "value": "SafeMath: modulo by zero" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832", + "typeString": "literal_string \"SafeMath: modulo by zero\"" + } + ], + "id": 287, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3336:7:1", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3336:43:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 293, + "nodeType": "ExpressionStatement", + "src": "3336:43:1" + }, + { + "expression": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 294, + "name": "a", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 280, + "src": "3392:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "argumentTypes": null, + "id": 295, + "name": "b", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 282, + "src": "3396:1:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3392:5:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 286, + "id": 297, + "nodeType": "Return", + "src": "3385:12:1" + } + ] + }, + "documentation": { + "id": 278, + "nodeType": "StructuredDocumentation", + "src": "2837:423:1", + "text": " @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n Reverts when dividing by zero.\n Counterpart to Solidity's `%` operator. This function uses a `revert`\n opcode (which leaves remaining gas untouched) while Solidity uses an\n invalid opcode to revert (consuming all remaining gas).\n Requirements:\n - The divisor cannot be zero." + }, + "id": 299, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mod", + "nodeType": "FunctionDefinition", + "overrides": null, + "parameters": { + "id": 283, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 280, + "mutability": "mutable", + "name": "a", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 299, + "src": "3276:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 279, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3276:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 282, + "mutability": "mutable", + "name": "b", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 299, + "src": "3287:9:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 281, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3287:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3275:22:1" + }, + "returnParameters": { + "id": 286, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 285, + "mutability": "mutable", + "name": "", + "nodeType": "VariableDeclaration", + "overrides": null, + "scope": 299, + "src": "3321:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 284, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3321:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "3320:9:1" + }, + "scope": 300, + "src": "3263:139:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 301, + "src": "621:2783:1" + } + ], + "src": "32:3373:1" + }, + "bytecode": "60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202e713e54ff8f7a09c417a41602b0bb430544f17dec691fff023073ccc69c18b864736f6c634300060c0033", + "bytecodeSha1": "3b4158955f564edb18bd7a8ffdb49859c904f0b7", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.6.12+commit.27d51765" + }, + "contractName": "SafeMathChainlink", + "coverageMap": { + "branches": { + "1": {} + }, + "statements": { + "1": {} + } + }, + "dependencies": [], + "deployedBytecode": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202e713e54ff8f7a09c417a41602b0bb430544f17dec691fff023073ccc69c18b864736f6c634300060c0033", + "deployedSourceMap": "621:2783:1:-:0;;;;;;;;", + "language": "Solidity", + "natspec": { + "details": "Wrappers over Solidity's arithmetic operations with added overflow checks. Arithmetic operations in Solidity wrap on overflow. This can easily result in bugs, because programmers usually assume that an overflow raises an error, which is the standard behavior in high level programming languages. `SafeMath` restores this intuition by reverting the transaction when an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.", + "kind": "dev", + "methods": {}, + "version": 1 + }, + "offset": [ + 621, + 3404 + ], + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x2E PUSH18 0x3E54FF8F7A09C417A41602B0BB430544F17D 0xEC PUSH10 0x1FFF023073CCC69C18B8 PUSH5 0x736F6C6343 STOP MOD 0xC STOP CALLER ", + "pcMap": { + "0": { + "offset": [ + 621, + 3404 + ], + "op": "PUSH20", + "path": "1", + "value": "0x0" + }, + "21": { + "fn": null, + "offset": [ + 621, + 3404 + ], + "op": "ADDRESS", + "path": "1" + }, + "22": { + "fn": null, + "offset": [ + 621, + 3404 + ], + "op": "EQ", + "path": "1" + }, + "23": { + "fn": null, + "offset": [ + 621, + 3404 + ], + "op": "PUSH1", + "path": "1", + "value": "0x80" + }, + "25": { + "fn": null, + "offset": [ + 621, + 3404 + ], + "op": "PUSH1", + "path": "1", + "value": "0x40" + }, + "27": { + "fn": null, + "offset": [ + 621, + 3404 + ], + "op": "MSTORE", + "path": "1" + }, + "28": { + "fn": null, + "offset": [ + 621, + 3404 + ], + "op": "PUSH1", + "path": "1", + "value": "0x0" + }, + "30": { + "fn": null, + "offset": [ + 621, + 3404 + ], + "op": "DUP1", + "path": "1" + }, + "31": { + "fn": null, + "offset": [ + 621, + 3404 + ], + "op": "REVERT", + "path": "1" + } + }, + "sha1": "c340d007a40b2480548b791283f57f49f1aab1d7", + "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.6.0;\n\n/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeMathChainlink {\n /**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n * - Addition cannot overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, \"SafeMath: addition overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b <= a, \"SafeMath: subtraction overflow\");\n uint256 c = a - b;\n\n return c;\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n * - Multiplication cannot overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522\n if (a == 0) {\n return 0;\n }\n\n uint256 c = a * b;\n require(c / a == b, \"SafeMath: multiplication overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers. Reverts on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n // Solidity only automatically asserts when dividing by 0\n require(b > 0, \"SafeMath: division by zero\");\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n\n return c;\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * Reverts when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b != 0, \"SafeMath: modulo by zero\");\n return a % b;\n }\n}\n", + "sourceMap": "621:2783:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", + "sourcePath": "C:/Users/dhanu/.brownie/packages/smartcontractkit/chainlink-brownie-contracts@1.1.0/contracts/src/v0.6/vendor/SafeMathChainlink.sol", + "type": "library" +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/deployments/11155111/0x32Ca8501A116B39F18443D0E1F6a4077d82fdCfd.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/deployments/11155111/0x32Ca8501A116B39F18443D0E1F6a4077d82fdCfd.json new file mode 100644 index 00000000..13001125 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/deployments/11155111/0x32Ca8501A116B39F18443D0E1F6a4077d82fdCfd.json @@ -0,0 +1 @@ +{"allSourcePaths": {"13": "contracts/NFTmint.sol", "8": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Address.sol", "9": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Context.sol", "0": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/ERC165.sol", "3": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/ERC721.sol", "10": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableMap.sol", "11": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableSet.sol", "1": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/IERC165.sol", "4": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721.sol", "5": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Enumerable.sol", "6": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Metadata.sol", "7": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Receiver.sol", "2": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol", "12": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Strings.sol"}, "bytecode": "60806040523480156200001157600080fd5b50604080518082018252600b81526a436572746966696361746560a81b6020808301919091528251808401909352601583527f4465657046616b6543657274696669636174696f6e00000000000000000000009083015290620000846301ffc9a760e01b6001600160e01b036200010e16565b81516200009990600690602085019062000193565b508051620000af90600790602084019062000193565b50620000cb6380ac58cd60e01b6001600160e01b036200010e16565b620000e6635b5e139f60e01b6001600160e01b036200010e16565b6200010163780e9d6360e01b6001600160e01b036200010e16565b50506000600a5562000238565b6001600160e01b031980821614156200016e576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001d657805160ff191683800117855562000206565b8280016001018555821562000206579182015b8281111562000206578251825591602001919060010190620001e9565b506200021492915062000218565b5090565b6200023591905b808211156200021457600081556001016200021f565b90565b611da680620002486000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80636352211e116100ad578063a593bc3511610071578063a593bc3514610395578063b88d4fde14610446578063c87b56dd1461050c578063d082e38114610529578063e985e9c51461053157610121565b80636352211e146103145780636c0360eb1461033157806370a082311461033957806395d89b411461035f578063a22cb4651461036757610121565b806318160ddd116100f457806318160ddd1461024557806323b872dd1461025f5780632f745c591461029557806342842e0e146102c15780634f6ccce7146102f757610121565b806301ffc9a71461012657806306fdde0314610161578063081812fc146101de578063095ea7b314610217575b600080fd5b61014d6004803603602081101561013c57600080fd5b50356001600160e01b03191661055f565b604080519115158252519081900360200190f35b610169610582565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a357818101518382015260200161018b565b50505050905090810190601f1680156101d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360208110156101f457600080fd5b5035610619565b604080516001600160a01b039092168252519081900360200190f35b6102436004803603604081101561022d57600080fd5b506001600160a01b03813516906020013561067b565b005b61024d610756565b60408051918252519081900360200190f35b6102436004803603606081101561027557600080fd5b506001600160a01b03813581169160208101359091169060400135610767565b61024d600480360360408110156102ab57600080fd5b506001600160a01b0381351690602001356107be565b610243600480360360608110156102d757600080fd5b506001600160a01b038135811691602081013590911690604001356107ef565b61024d6004803603602081101561030d57600080fd5b503561080a565b6101fb6004803603602081101561032a57600080fd5b5035610826565b610169610854565b61024d6004803603602081101561034f57600080fd5b50356001600160a01b03166108b5565b61016961091d565b6102436004803603604081101561037d57600080fd5b506001600160a01b038135169060200135151561097e565b61024d600480360360408110156103ab57600080fd5b8101906020810181356401000000008111156103c657600080fd5b8201836020820111156103d857600080fd5b803590602001918460018302840111640100000000831117156103fa57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b03169150610a839050565b6102436004803603608081101561045c57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561049757600080fd5b8201836020820111156104a957600080fd5b803590602001918460018302840111640100000000831117156104cb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610aad945050505050565b6101696004803603602081101561052257600080fd5b5035610b0b565b61024d610d8e565b61014d6004803603604081101561054757600080fd5b506001600160a01b0381358116916020013516610d94565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b820191906000526020600020905b8154815290600101906020018083116105f157829003601f168201915b505050505090505b90565b600061062482610dc2565b61065f5760405162461bcd60e51b815260040180806020018281038252602c815260200180611c6f602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b600061068682610826565b9050806001600160a01b0316836001600160a01b031614156106d95760405162461bcd60e51b8152600401808060200182810382526021815260200180611d1f6021913960400191505060405180910390fd5b806001600160a01b03166106eb610dd5565b6001600160a01b0316148061070c575061070c81610707610dd5565b610d94565b6107475760405162461bcd60e51b8152600401808060200182810382526038815260200180611bc26038913960400191505060405180910390fd5b6107518383610dd9565b505050565b60006107626002610e47565b905090565b610778610772610dd5565b82610e52565b6107b35760405162461bcd60e51b8152600401808060200182810382526031815260200180611d406031913960400191505060405180910390fd5b610751838383610ef6565b6001600160a01b03821660009081526001602052604081206107e6908363ffffffff61105416565b90505b92915050565b61075183838360405180602001604052806000815250610aad565b60008061081e60028463ffffffff61106016565b509392505050565b60006107e982604051806060016040528060298152602001611c24602991396002919063ffffffff61107c16565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b60006001600160a01b0382166108fc5760405162461bcd60e51b815260040180806020018281038252602a815260200180611bfa602a913960400191505060405180910390fd5b6001600160a01b03821660009081526001602052604090206107e990610e47565b60078054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b610986610dd5565b6001600160a01b0316826001600160a01b031614156109ec576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b80600560006109f9610dd5565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff191692151592909217909155610a3d610dd5565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b600a54600090610a938382611093565b610a9d81856110b1565b600a805460010190559392505050565b610abe610ab8610dd5565b83610e52565b610af95760405162461bcd60e51b8152600401808060200182810382526031815260200180611d406031913960400191505060405180910390fd5b610b0584848484611114565b50505050565b6060610b1682610dc2565b610b515760405162461bcd60e51b815260040180806020018281038252602f815260200180611cf0602f913960400191505060405180910390fd5b60008281526008602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610be65780601f10610bbb57610100808354040283529160200191610be6565b820191906000526020600020905b815481529060010190602001808311610bc957829003601f168201915b505050505090506060610bf7610854565b9050805160001415610c0b5750905061057d565b815115610ccc5780826040516020018083805190602001908083835b60208310610c465780518252601f199092019160209182019101610c27565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610c8e5780518252601f199092019160209182019101610c6f565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529250505061057d565b80610cd685611166565b6040516020018083805190602001908083835b60208310610d085780518252601f199092019160209182019101610ce9565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610d505780518252601f199092019160209182019101610d31565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b600a5481565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006107e960028363ffffffff61124116565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610e0e82610826565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006107e98261124d565b6000610e5d82610dc2565b610e985760405162461bcd60e51b815260040180806020018281038252602c815260200180611b96602c913960400191505060405180910390fd5b6000610ea383610826565b9050806001600160a01b0316846001600160a01b03161480610ede5750836001600160a01b0316610ed384610619565b6001600160a01b0316145b80610eee5750610eee8185610d94565b949350505050565b826001600160a01b0316610f0982610826565b6001600160a01b031614610f4e5760405162461bcd60e51b8152600401808060200182810382526029815260200180611cc76029913960400191505060405180910390fd5b6001600160a01b038216610f935760405162461bcd60e51b8152600401808060200182810382526024815260200180611b726024913960400191505060405180910390fd5b610f9e838383610751565b610fa9600082610dd9565b6001600160a01b0383166000908152600160205260409020610fd1908263ffffffff61125116565b506001600160a01b0382166000908152600160205260409020610ffa908263ffffffff61125d16565b5061100d6002828463ffffffff61126916565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006107e6838361127f565b600080808061106f86866112e3565b9097909650945050505050565b600061108984848461135e565b90505b9392505050565b6110ad828260405180602001604052806000815250611428565b5050565b6110ba82610dc2565b6110f55760405162461bcd60e51b815260040180806020018281038252602c815260200180611c9b602c913960400191505060405180910390fd5b6000828152600860209081526040909120825161075192840190611a85565b61111f848484610ef6565b61112b8484848461147a565b610b055760405162461bcd60e51b8152600401808060200182810382526032815260200180611b406032913960400191505060405180910390fd5b60608161118b57506040805180820190915260018152600360fc1b602082015261057d565b8160005b81156111a357600101600a8204915061118f565b60608167ffffffffffffffff811180156111bc57600080fd5b506040519080825280601f01601f1916602001820160405280156111e7576020820181803683370190505b50859350905060001982015b831561123857600a840660300160f81b8282806001900393508151811061121657fe5b60200101906001600160f81b031916908160001a905350600a840493506111f3565b50949350505050565b60006107e683836115fa565b5490565b60006107e68383611612565b60006107e683836116d8565b600061108984846001600160a01b038516611722565b815460009082106112c15760405162461bcd60e51b8152600401808060200182810382526022815260200180611b1e6022913960400191505060405180910390fd5b8260000182815481106112d057fe5b9060005260206000200154905092915050565b8154600090819083106113275760405162461bcd60e51b8152600401808060200182810382526022815260200180611c4d6022913960400191505060405180910390fd5b600084600001848154811061133857fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082815260018401602052604081205482816113f95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113be5781810151838201526020016113a6565b50505050905090810190601f1680156113eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061140c57fe5b9060005260206000209060020201600101549150509392505050565b61143283836117b9565b61143f600084848461147a565b6107515760405162461bcd60e51b8152600401808060200182810382526032815260200180611b406032913960400191505060405180910390fd5b600061148e846001600160a01b03166118f3565b61149a57506001610eee565b60606115c0630a85bd0160e11b6114af610dd5565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611528578181015183820152602001611510565b50505050905090810190601f1680156115555780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001611b40603291396001600160a01b038816919063ffffffff6118f916565b905060008180602001905160208110156115d957600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156116ce578354600019808301919081019060009087908390811061164557fe5b906000526020600020015490508087600001848154811061166257fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061169257fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506107e9565b60009150506107e9565b60006116e483836115fa565b61171a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107e9565b5060006107e9565b60008281526001840160205260408120548061178757505060408051808201825283815260208082018481528654600181810189556000898152848120955160029093029095019182559151908201558654868452818801909252929091205561108c565b8285600001600183038154811061179a57fe5b906000526020600020906002020160010181905550600091505061108c565b6001600160a01b038216611814576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61181d81610dc2565b1561186f576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b61187b60008383610751565b6001600160a01b03821660009081526001602052604090206118a3908263ffffffff61125d16565b506118b66002828463ffffffff61126916565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b3b151590565b606061108984846000858561190d856118f3565b61195e576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061199d5780518252601f19909201916020918201910161197e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146119ff576040519150601f19603f3d011682016040523d82523d6000602084013e611a04565b606091505b5091509150611a14828286611a1f565b979650505050505050565b60608315611a2e57508161108c565b825115611a3e5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156113be5781810151838201526020016113a6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611ac657805160ff1916838001178555611af3565b82800160010185558215611af3579182015b82811115611af3578251825591602001919060010190611ad8565b50611aff929150611b03565b5090565b61061691905b80821115611aff5760008155600101611b0956fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a26469706673582212201180ff22edeb9dc96da9f3ff46ece972c16d926862f9192954f500ef811b70c164736f6c63430006060033", "bytecodeSha1": "a2b88ae3f0dafecfd8c78803931fdcc70ed1e879", "coverageMap": {"statements": {"13": {"SimpleCollectible.createCollectible": {"20": [469, 510], "21": [520, 554], "22": [564, 595], "23": [605, 622]}}, "8": {"Address.isContract": {"97": [1117, 1132]}, "Address.functionCall": {"98": [3708, 3767]}, "Address.functionCallWithValue": {"99": [4850, 4910], "100": [5065, 5124]}, "Address._verifyCallResult": {"101": [7257, 7274], "102": [7765, 7785]}}, "9": {"Context._msgSender": {"32": [678, 695]}}, "0": {"ERC165.supportsInterface": {"0": [1066, 1106]}}, "3": {"ERC721.name": {"1": [4596, 4608]}, "ERC721.getApproved": {"2": [7317, 7390], "3": [7401, 7432]}, "ERC721.approve": {"4": [6895, 6952], "5": [6963, 7122], "6": [7133, 7154]}, "ERC721.totalSupply": {"7": [6433, 6461]}, "ERC721.transferFrom": {"8": [8237, 8340], "9": [8351, 8379]}, "ERC721.tokenOfOwnerByIndex": {"10": [6145, 6182]}, "ERC721.safeTransferFrom": {"11": [8555, 8594], "24": [8790, 8893], "25": [8903, 8942]}, "ERC721.ownerOf": {"12": [4371, 4448]}, "ERC721.baseURI": {"13": [5928, 5943]}, "ERC721.balanceOf": {"14": [4096, 4170], "15": [4180, 4216]}, "ERC721.symbol": {"16": [4760, 4774]}, "ERC721.setApprovalForAll": {"17": [7600, 7662], "18": [7673, 7726], "19": [7736, 7789]}, "ERC721.tokenURI": {"26": [4945, 5021], "27": [5229, 5245], "28": [5401, 5449], "29": [5559, 5616]}, "ERC721.isApprovedForAll": {"30": [7975, 8017]}, "ERC721._exists": {"31": [10464, 10501]}, "ERC721._approve": {"33": [16184, 16213], "34": [16223, 16274]}, "ERC721._isApprovedOrOwner": {"36": [10775, 10848], "37": [10907, 11010]}, "ERC721._transfer": {"38": [13796, 13881], "39": [13909, 13974], "40": [13985, 14024], "41": [14086, 14115], "42": [14126, 14161], "43": [14171, 14201], "44": [14212, 14241], "45": [14252, 14284]}, "ERC721._safeMint": {"48": [11423, 11449], "71": [11772, 11790], "72": [11800, 11917]}, "ERC721._setTokenURI": {"49": [14529, 14602], "50": [14612, 14643]}, "ERC721._safeTransfer": {"51": [9924, 9952], "52": [9962, 10073]}, "ERC721._checkOnERC721Received": {"73": [15700, 15711], "74": [16071, 16106]}, "ERC721._mint": {"91": [12317, 12378], "92": [12388, 12446], "93": [12457, 12502], "94": [12513, 12543], "95": [12554, 12583], "96": [12594, 12632]}}, "10": {"EnumerableMap.length": {"35": [7908, 7934]}, "EnumerableMap.get": {"47": [9648, 9726]}, "EnumerableMap.contains": {"60": [7688, 7730]}, "EnumerableMap._length": {"61": [4566, 4592]}, "EnumerableMap.set": {"64": [7132, 7203]}, "EnumerableMap._at": {"67": [5037, 5111], "68": [5176, 5209]}, "EnumerableMap._get": {"69": [6562, 6598], "70": [6644, 6684]}, "EnumerableMap._contains": {"75": [4365, 4394]}, "EnumerableMap._set": {"86": [2143, 2200], "87": [2335, 2374], "88": [2388, 2399], "89": [2430, 2471], "90": [2485, 2497]}}, "11": {"EnumerableSet.at": {"46": [9340, 9378]}, "EnumerableSet.remove": {"62": [8451, 8493]}, "EnumerableSet.add": {"63": [8151, 8190]}, "EnumerableSet._at": {"65": [4538, 4611], "66": [4621, 4646]}, "EnumerableSet._remove": {"76": [3274, 3312], "77": [3378, 3421], "78": [3527, 3544], "79": [3612, 3638], "80": [3653, 3664], "81": [3695, 3707]}, "EnumerableSet._add": {"82": [1761, 1784], "83": [1919, 1959], "84": [1973, 1984], "85": [2015, 2027]}}, "1": {}, "4": {}, "5": {}, "6": {}, "7": {}, "2": {}, "12": {"Strings.toString": {"53": [509, 519], "54": [625, 633], "55": [647, 657], "56": [762, 774], "57": [816, 863], "58": [877, 887], "59": [907, 928]}}}, "branches": {"13": {}, "8": {"Address.functionCallWithValue": {"103": [4858, 4876, true]}, "Address._verifyCallResult": {"104": [7234, 7241, false], "105": [7375, 7396, false]}}, "9": {}, "0": {}, "3": {"ERC721.getApproved": {"106": [7325, 7341, true]}, "ERC721.approve": {"107": [6903, 6914, true], "108": [6971, 6992, true], "109": [6996, 7040, true]}, "ERC721.transferFrom": {"110": [8245, 8286, true]}, "ERC721.balanceOf": {"111": [4104, 4123, true]}, "ERC721.setApprovalForAll": {"112": [7608, 7632, true]}, "ERC721.safeTransferFrom": {"113": [8798, 8839, true]}, "ERC721.tokenURI": {"114": [4953, 4969, true], "115": [5190, 5213, false], "116": [5358, 5385, false]}, "ERC721._isApprovedOrOwner": {"117": [10783, 10799, true]}, "ERC721._transfer": {"118": [13804, 13835, true], "119": [13917, 13933, true]}, "ERC721._setTokenURI": {"120": [14537, 14553, true]}, "ERC721._safeTransfer": {"121": [9970, 10018, true]}, "ERC721._safeMint": {"122": [11808, 11862, true]}, "ERC721._checkOnERC721Received": {"123": [15669, 15684, false]}, "ERC721._mint": {"124": [12325, 12341, true], "125": [12396, 12413, true]}}, "10": {"EnumerableMap._at": {"126": [5045, 5072, true]}, "EnumerableMap._get": {"127": [6570, 6583, true]}, "EnumerableMap._set": {"128": [2077, 2090, false]}}, "11": {"EnumerableSet._at": {"129": [4546, 4572, true]}, "EnumerableSet._remove": {"130": [2449, 2464, false]}, "EnumerableSet._add": {"131": [1724, 1745, false]}}, "1": {}, "4": {}, "5": {}, "6": {}, "7": {}, "2": {}, "12": {"Strings.toString": {"132": [483, 493, false]}}}}, "dependencies": ["OpenZeppelin/openzeppelin-contracts@3.4.0/Address", "OpenZeppelin/openzeppelin-contracts@3.4.0/Context", "OpenZeppelin/openzeppelin-contracts@3.4.0/ERC165", "OpenZeppelin/openzeppelin-contracts@3.4.0/ERC721", "OpenZeppelin/openzeppelin-contracts@3.4.0/EnumerableMap", "OpenZeppelin/openzeppelin-contracts@3.4.0/EnumerableSet", "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC165", "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721", "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Enumerable", "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Metadata", "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Receiver", "OpenZeppelin/openzeppelin-contracts@3.4.0/SafeMath", "OpenZeppelin/openzeppelin-contracts@3.4.0/Strings"], "offset": [115, 631], "pcMap": {"0": {"op": "PUSH1", "value": "0x80", "path": "13", "offset": [115, 631]}, "2": {"op": "PUSH1", "value": "0x40", "path": "13", "offset": [115, 631], "fn": null}, "4": {"op": "MSTORE", "path": "13", "offset": [115, 631], "fn": null}, "5": {"op": "CALLVALUE", "path": "13", "offset": [115, 631], "fn": null}, "6": {"op": "DUP1"}, "7": {"op": "ISZERO"}, "8": {"op": "PUSH2", "value": "0x10"}, "11": {"op": "JUMPI"}, "12": {"op": "PUSH1", "value": "0x0"}, "14": {"op": "DUP1"}, "15": {"op": "REVERT", "dev": "Cannot send ether to nonpayable function", "fn": null, "offset": [115, 631], "path": "13"}, "16": {"op": "JUMPDEST"}, "17": {"op": "POP", "path": "13", "offset": [115, 631]}, "18": {"op": "PUSH1", "value": "0x4", "path": "13", "offset": [115, 631], "fn": null}, "20": {"op": "CALLDATASIZE", "path": "13", "offset": [115, 631], "fn": null}, "21": {"op": "LT", "path": "13", "offset": [115, 631], "fn": null}, "22": {"op": "PUSH2", "value": "0x121", "path": "13", "offset": [115, 631], "fn": null}, "25": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "26": {"op": "PUSH1", "value": "0x0", "path": "13", "offset": [115, 631], "fn": null}, "28": {"op": "CALLDATALOAD", "path": "13", "offset": [115, 631], "fn": null}, "29": {"op": "PUSH1", "value": "0xE0", "path": "13", "offset": [115, 631], "fn": null}, "31": {"op": "SHR", "path": "13", "offset": [115, 631], "fn": null}, "32": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "33": {"op": "PUSH4", "value": "0x6352211E", "path": "13", "offset": [115, 631], "fn": null}, "38": {"op": "GT", "path": "13", "offset": [115, 631], "fn": null}, "39": {"op": "PUSH2", "value": "0xAD", "path": "13", "offset": [115, 631], "fn": null}, "42": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "43": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "44": {"op": "PUSH4", "value": "0xA593BC35", "path": "13", "offset": [115, 631], "fn": null}, "49": {"op": "GT", "path": "13", "offset": [115, 631], "fn": null}, "50": {"op": "PUSH2", "value": "0x71", "path": "13", "offset": [115, 631], "fn": null}, "53": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "54": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "55": {"op": "PUSH4", "value": "0xA593BC35", "path": "13", "offset": [115, 631], "fn": null}, "60": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "61": {"op": "PUSH2", "value": "0x395", "path": "13", "offset": [115, 631], "fn": null}, "64": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "65": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "66": {"op": "PUSH4", "value": "0xB88D4FDE", "path": "13", "offset": [115, 631], "fn": null}, "71": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "72": {"op": "PUSH2", "value": "0x446", "path": "13", "offset": [115, 631], "fn": null}, "75": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "76": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "77": {"op": "PUSH4", "value": "0xC87B56DD", "path": "13", "offset": [115, 631], "fn": null}, "82": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "83": {"op": "PUSH2", "value": "0x50C", "path": "13", "offset": [115, 631], "fn": null}, "86": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "87": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "88": {"op": "PUSH4", "value": "0xD082E381", "path": "13", "offset": [115, 631], "fn": null}, "93": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "94": {"op": "PUSH2", "value": "0x529", "path": "13", "offset": [115, 631], "fn": null}, "97": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "98": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "99": {"op": "PUSH4", "value": "0xE985E9C5", "path": "13", "offset": [115, 631], "fn": null}, "104": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "105": {"op": "PUSH2", "value": "0x531", "path": "13", "offset": [115, 631], "fn": null}, "108": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "109": {"op": "PUSH2", "value": "0x121", "path": "13", "offset": [115, 631], "fn": null}, "112": {"op": "JUMP", "path": "13", "offset": [115, 631], "fn": null}, "113": {"op": "JUMPDEST", "path": "13", "offset": [115, 631], "fn": null}, "114": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "115": {"op": "PUSH4", "value": "0x6352211E", "path": "13", "offset": [115, 631], "fn": null}, "120": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "121": {"op": "PUSH2", "value": "0x314", "path": "13", "offset": [115, 631], "fn": null}, "124": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "125": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "126": {"op": "PUSH4", "value": "0x6C0360EB", "path": "13", "offset": [115, 631], "fn": null}, "131": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "132": {"op": "PUSH2", "value": "0x331", "path": "13", "offset": [115, 631], "fn": null}, "135": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "136": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "137": {"op": "PUSH4", "value": "0x70A08231", "path": "13", "offset": [115, 631], "fn": null}, "142": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "143": {"op": "PUSH2", "value": "0x339", "path": "13", "offset": [115, 631], "fn": null}, "146": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "147": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "148": {"op": "PUSH4", "value": "0x95D89B41", "path": "13", "offset": [115, 631], "fn": null}, "153": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "154": {"op": "PUSH2", "value": "0x35F", "path": "13", "offset": [115, 631], "fn": null}, "157": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "158": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "159": {"op": "PUSH4", "value": "0xA22CB465", "path": "13", "offset": [115, 631], "fn": null}, "164": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "165": {"op": "PUSH2", "value": "0x367", "path": "13", "offset": [115, 631], "fn": null}, "168": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "169": {"op": "PUSH2", "value": "0x121", "path": "13", "offset": [115, 631], "fn": null}, "172": {"op": "JUMP", "path": "13", "offset": [115, 631], "fn": null}, "173": {"op": "JUMPDEST", "path": "13", "offset": [115, 631], "fn": null}, "174": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "175": {"op": "PUSH4", "value": "0x18160DDD", "path": "13", "offset": [115, 631], "fn": null}, "180": {"op": "GT", "path": "13", "offset": [115, 631], "fn": null}, "181": {"op": "PUSH2", "value": "0xF4", "path": "13", "offset": [115, 631], "fn": null}, "184": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "185": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "186": {"op": "PUSH4", "value": "0x18160DDD", "path": "13", "offset": [115, 631], "fn": null}, "191": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "192": {"op": "PUSH2", "value": "0x245", "path": "13", "offset": [115, 631], "fn": null}, "195": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "196": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "197": {"op": "PUSH4", "value": "0x23B872DD", "path": "13", "offset": [115, 631], "fn": null}, "202": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "203": {"op": "PUSH2", "value": "0x25F", "path": "13", "offset": [115, 631], "fn": null}, "206": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "207": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "208": {"op": "PUSH4", "value": "0x2F745C59", "path": "13", "offset": [115, 631], "fn": null}, "213": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "214": {"op": "PUSH2", "value": "0x295", "path": "13", "offset": [115, 631], "fn": null}, "217": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "218": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "219": {"op": "PUSH4", "value": "0x42842E0E", "path": "13", "offset": [115, 631], "fn": null}, "224": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "225": {"op": "PUSH2", "value": "0x2C1", "path": "13", "offset": [115, 631], "fn": null}, "228": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "229": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "230": {"op": "PUSH4", "value": "0x4F6CCCE7", "path": "13", "offset": [115, 631], "fn": null}, "235": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "236": {"op": "PUSH2", "value": "0x2F7", "path": "13", "offset": [115, 631], "fn": null}, "239": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "240": {"op": "PUSH2", "value": "0x121", "path": "13", "offset": [115, 631], "fn": null}, "243": {"op": "JUMP", "path": "13", "offset": [115, 631], "fn": null}, "244": {"op": "JUMPDEST", "path": "13", "offset": [115, 631], "fn": null}, "245": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "246": {"op": "PUSH4", "value": "0x1FFC9A7", "path": "13", "offset": [115, 631], "fn": null}, "251": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "252": {"op": "PUSH2", "value": "0x126", "path": "13", "offset": [115, 631], "fn": null}, "255": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "256": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "257": {"op": "PUSH4", "value": "0x6FDDE03", "path": "13", "offset": [115, 631], "fn": null}, "262": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "263": {"op": "PUSH2", "value": "0x161", "path": "13", "offset": [115, 631], "fn": null}, "266": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "267": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "268": {"op": "PUSH4", "value": "0x81812FC", "path": "13", "offset": [115, 631], "fn": null}, "273": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "274": {"op": "PUSH2", "value": "0x1DE", "path": "13", "offset": [115, 631], "fn": null}, "277": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "278": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": null}, "279": {"op": "PUSH4", "value": "0x95EA7B3", "path": "13", "offset": [115, 631], "fn": null}, "284": {"op": "EQ", "path": "13", "offset": [115, 631], "fn": null}, "285": {"op": "PUSH2", "value": "0x217", "path": "13", "offset": [115, 631], "fn": null}, "288": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": null}, "289": {"op": "JUMPDEST", "path": "13", "offset": [115, 631], "fn": null}, "290": {"op": "PUSH1", "value": "0x0"}, "292": {"op": "DUP1"}, "293": {"op": "REVERT", "first_revert": true}, "294": {"op": "JUMPDEST", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "295": {"op": "PUSH2", "value": "0x14D", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "298": {"op": "PUSH1", "value": "0x4", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "300": {"op": "DUP1", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "301": {"op": "CALLDATASIZE", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "302": {"op": "SUB", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "303": {"op": "PUSH1", "value": "0x20"}, "305": {"op": "DUP2"}, "306": {"op": "LT"}, "307": {"op": "ISZERO"}, "308": {"op": "PUSH2", "value": "0x13C"}, "311": {"op": "JUMPI"}, "312": {"op": "PUSH1", "value": "0x0"}, "314": {"op": "DUP1"}, "315": {"op": "REVERT"}, "316": {"op": "JUMPDEST"}, "317": {"op": "POP"}, "318": {"op": "CALLDATALOAD", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "319": {"op": "PUSH1", "value": "0x1"}, "321": {"op": "PUSH1", "value": "0x1"}, "323": {"op": "PUSH1", "value": "0xE0"}, "325": {"op": "SHL"}, "326": {"op": "SUB"}, "327": {"op": "NOT"}, "328": {"op": "AND", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "329": {"op": "PUSH2", "value": "0x55F", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "332": {"op": "JUMP", "jump": "i", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "333": {"op": "JUMPDEST", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "334": {"op": "PUSH1", "value": "0x40", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "336": {"op": "DUP1", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "337": {"op": "MLOAD", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "338": {"op": "SWAP2", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "339": {"op": "ISZERO", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "340": {"op": "ISZERO", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "341": {"op": "DUP3", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "342": {"op": "MSTORE", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "343": {"op": "MLOAD", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "344": {"op": "SWAP1", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "345": {"op": "DUP2", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "346": {"op": "SWAP1", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "347": {"op": "SUB", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "348": {"op": "PUSH1", "value": "0x20", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "350": {"op": "ADD", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "351": {"op": "SWAP1", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "352": {"op": "RETURN", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "353": {"op": "JUMPDEST", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "354": {"op": "PUSH2", "value": "0x169", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "357": {"op": "PUSH2", "value": "0x582", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "360": {"op": "JUMP", "jump": "i", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "361": {"op": "JUMPDEST", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "362": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "364": {"op": "DUP1", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "365": {"op": "MLOAD", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "366": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "368": {"op": "DUP1", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "369": {"op": "DUP3", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "370": {"op": "MSTORE", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "371": {"op": "DUP4", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "372": {"op": "MLOAD", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "373": {"op": "DUP2", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "374": {"op": "DUP4", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "375": {"op": "ADD", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "376": {"op": "MSTORE", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "377": {"op": "DUP4", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "378": {"op": "MLOAD", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "379": {"op": "SWAP2", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "380": {"op": "SWAP3", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "381": {"op": "DUP4", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "382": {"op": "SWAP3", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "383": {"op": "SWAP1", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "384": {"op": "DUP4", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "385": {"op": "ADD", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "386": {"op": "SWAP2", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "387": {"op": "DUP6", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "388": {"op": "ADD", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "389": {"op": "SWAP1", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "390": {"op": "DUP1", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "391": {"op": "DUP4", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "392": {"op": "DUP4", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "393": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "395": {"op": "JUMPDEST"}, "396": {"op": "DUP4"}, "397": {"op": "DUP2"}, "398": {"op": "LT"}, "399": {"op": "ISZERO"}, "400": {"op": "PUSH2", "value": "0x1A3"}, "403": {"op": "JUMPI"}, "404": {"op": "DUP2"}, "405": {"op": "DUP2"}, "406": {"op": "ADD"}, "407": {"op": "MLOAD"}, "408": {"op": "DUP4"}, "409": {"op": "DUP3"}, "410": {"op": "ADD"}, "411": {"op": "MSTORE"}, "412": {"op": "PUSH1", "value": "0x20"}, "414": {"op": "ADD"}, "415": {"op": "PUSH2", "value": "0x18B"}, "418": {"op": "JUMP"}, "419": {"op": "JUMPDEST"}, "420": {"op": "POP"}, "421": {"op": "POP", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "422": {"op": "POP", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "423": {"op": "POP", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "424": {"op": "SWAP1", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "425": {"op": "POP", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "426": {"op": "SWAP1", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "427": {"op": "DUP2", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "428": {"op": "ADD", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "429": {"op": "SWAP1", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "430": {"op": "PUSH1", "value": "0x1F", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "432": {"op": "AND", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "433": {"op": "DUP1", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "434": {"op": "ISZERO", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "435": {"op": "PUSH2", "value": "0x1D0", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "438": {"op": "JUMPI", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "439": {"op": "DUP1", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "440": {"op": "DUP3", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "441": {"op": "SUB", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "442": {"op": "DUP1", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "443": {"op": "MLOAD", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "444": {"op": "PUSH1", "value": "0x1", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "446": {"op": "DUP4", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "447": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "449": {"op": "SUB", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "450": {"op": "PUSH2", "value": "0x100", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "453": {"op": "EXP", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "454": {"op": "SUB", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "455": {"op": "NOT", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "456": {"op": "AND", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "457": {"op": "DUP2", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "458": {"op": "MSTORE", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "459": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "461": {"op": "ADD", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "462": {"op": "SWAP2", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "463": {"op": "POP", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "464": {"op": "JUMPDEST", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "465": {"op": "POP", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "466": {"op": "SWAP3", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "467": {"op": "POP", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "468": {"op": "POP", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "469": {"op": "POP", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "470": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "472": {"op": "MLOAD", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "473": {"op": "DUP1", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "474": {"op": "SWAP2", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "475": {"op": "SUB", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "476": {"op": "SWAP1", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "477": {"op": "RETURN", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "478": {"op": "JUMPDEST", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "479": {"op": "PUSH2", "value": "0x1FB", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "482": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "484": {"op": "DUP1", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "485": {"op": "CALLDATASIZE", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "486": {"op": "SUB", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "487": {"op": "PUSH1", "value": "0x20"}, "489": {"op": "DUP2"}, "490": {"op": "LT"}, "491": {"op": "ISZERO"}, "492": {"op": "PUSH2", "value": "0x1F4"}, "495": {"op": "JUMPI"}, "496": {"op": "PUSH1", "value": "0x0"}, "498": {"op": "DUP1"}, "499": {"op": "REVERT"}, "500": {"op": "JUMPDEST"}, "501": {"op": "POP"}, "502": {"op": "CALLDATALOAD", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "503": {"op": "PUSH2", "value": "0x619", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "506": {"op": "JUMP", "jump": "i", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "507": {"op": "JUMPDEST", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "508": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "510": {"op": "DUP1", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "511": {"op": "MLOAD", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "512": {"op": "PUSH1", "value": "0x1"}, "514": {"op": "PUSH1", "value": "0x1"}, "516": {"op": "PUSH1", "value": "0xA0"}, "518": {"op": "SHL"}, "519": {"op": "SUB"}, "520": {"op": "SWAP1", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "521": {"op": "SWAP3", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "522": {"op": "AND", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "523": {"op": "DUP3", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "524": {"op": "MSTORE", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "525": {"op": "MLOAD", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "526": {"op": "SWAP1", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "527": {"op": "DUP2", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "528": {"op": "SWAP1", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "529": {"op": "SUB", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "530": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "532": {"op": "ADD", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "533": {"op": "SWAP1", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "534": {"op": "RETURN", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "535": {"op": "JUMPDEST", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "536": {"op": "PUSH2", "value": "0x243", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "539": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "541": {"op": "DUP1", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "542": {"op": "CALLDATASIZE", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "543": {"op": "SUB", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "544": {"op": "PUSH1", "value": "0x40"}, "546": {"op": "DUP2"}, "547": {"op": "LT"}, "548": {"op": "ISZERO"}, "549": {"op": "PUSH2", "value": "0x22D"}, "552": {"op": "JUMPI"}, "553": {"op": "PUSH1", "value": "0x0"}, "555": {"op": "DUP1"}, "556": {"op": "REVERT"}, "557": {"op": "JUMPDEST"}, "558": {"op": "POP"}, "559": {"op": "PUSH1", "value": "0x1"}, "561": {"op": "PUSH1", "value": "0x1"}, "563": {"op": "PUSH1", "value": "0xA0"}, "565": {"op": "SHL"}, "566": {"op": "SUB"}, "567": {"op": "DUP2", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "568": {"op": "CALLDATALOAD", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "569": {"op": "AND", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "570": {"op": "SWAP1", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "571": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "573": {"op": "ADD", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "574": {"op": "CALLDATALOAD", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "575": {"op": "PUSH2", "value": "0x67B", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "578": {"op": "JUMP", "jump": "i", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "579": {"op": "JUMPDEST", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "580": {"op": "STOP", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "581": {"op": "JUMPDEST", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "582": {"op": "PUSH2", "value": "0x24D", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "585": {"op": "PUSH2", "value": "0x756", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "588": {"op": "JUMP", "jump": "i", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "589": {"op": "JUMPDEST", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "590": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "592": {"op": "DUP1", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "593": {"op": "MLOAD", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "594": {"op": "SWAP2", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "595": {"op": "DUP3", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "596": {"op": "MSTORE", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "597": {"op": "MLOAD", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "598": {"op": "SWAP1", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "599": {"op": "DUP2", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "600": {"op": "SWAP1", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "601": {"op": "SUB", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "602": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "604": {"op": "ADD", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "605": {"op": "SWAP1", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "606": {"op": "RETURN", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "607": {"op": "JUMPDEST", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "608": {"op": "PUSH2", "value": "0x243", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "611": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "613": {"op": "DUP1", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "614": {"op": "CALLDATASIZE", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "615": {"op": "SUB", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "616": {"op": "PUSH1", "value": "0x60"}, "618": {"op": "DUP2"}, "619": {"op": "LT"}, "620": {"op": "ISZERO"}, "621": {"op": "PUSH2", "value": "0x275"}, "624": {"op": "JUMPI"}, "625": {"op": "PUSH1", "value": "0x0"}, "627": {"op": "DUP1"}, "628": {"op": "REVERT"}, "629": {"op": "JUMPDEST"}, "630": {"op": "POP"}, "631": {"op": "PUSH1", "value": "0x1"}, "633": {"op": "PUSH1", "value": "0x1"}, "635": {"op": "PUSH1", "value": "0xA0"}, "637": {"op": "SHL"}, "638": {"op": "SUB"}, "639": {"op": "DUP2", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "640": {"op": "CALLDATALOAD", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "641": {"op": "DUP2", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "642": {"op": "AND", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "643": {"op": "SWAP2", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "644": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "646": {"op": "DUP2", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "647": {"op": "ADD", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "648": {"op": "CALLDATALOAD", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "649": {"op": "SWAP1", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "650": {"op": "SWAP2", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "651": {"op": "AND", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "652": {"op": "SWAP1", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "653": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "655": {"op": "ADD", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "656": {"op": "CALLDATALOAD", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "657": {"op": "PUSH2", "value": "0x767", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "660": {"op": "JUMP", "jump": "i", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "661": {"op": "JUMPDEST", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "662": {"op": "PUSH2", "value": "0x24D", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "665": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "667": {"op": "DUP1", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "668": {"op": "CALLDATASIZE", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "669": {"op": "SUB", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "670": {"op": "PUSH1", "value": "0x40"}, "672": {"op": "DUP2"}, "673": {"op": "LT"}, "674": {"op": "ISZERO"}, "675": {"op": "PUSH2", "value": "0x2AB"}, "678": {"op": "JUMPI"}, "679": {"op": "PUSH1", "value": "0x0"}, "681": {"op": "DUP1"}, "682": {"op": "REVERT"}, "683": {"op": "JUMPDEST"}, "684": {"op": "POP"}, "685": {"op": "PUSH1", "value": "0x1"}, "687": {"op": "PUSH1", "value": "0x1"}, "689": {"op": "PUSH1", "value": "0xA0"}, "691": {"op": "SHL"}, "692": {"op": "SUB"}, "693": {"op": "DUP2", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "694": {"op": "CALLDATALOAD", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "695": {"op": "AND", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "696": {"op": "SWAP1", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "697": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "699": {"op": "ADD", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "700": {"op": "CALLDATALOAD", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "701": {"op": "PUSH2", "value": "0x7BE", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "704": {"op": "JUMP", "jump": "i", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "705": {"op": "JUMPDEST", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "706": {"op": "PUSH2", "value": "0x243", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "709": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "711": {"op": "DUP1", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "712": {"op": "CALLDATASIZE", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "713": {"op": "SUB", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "714": {"op": "PUSH1", "value": "0x60"}, "716": {"op": "DUP2"}, "717": {"op": "LT"}, "718": {"op": "ISZERO"}, "719": {"op": "PUSH2", "value": "0x2D7"}, "722": {"op": "JUMPI"}, "723": {"op": "PUSH1", "value": "0x0"}, "725": {"op": "DUP1"}, "726": {"op": "REVERT"}, "727": {"op": "JUMPDEST"}, "728": {"op": "POP"}, "729": {"op": "PUSH1", "value": "0x1"}, "731": {"op": "PUSH1", "value": "0x1"}, "733": {"op": "PUSH1", "value": "0xA0"}, "735": {"op": "SHL"}, "736": {"op": "SUB"}, "737": {"op": "DUP2", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "738": {"op": "CALLDATALOAD", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "739": {"op": "DUP2", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "740": {"op": "AND", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "741": {"op": "SWAP2", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "742": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "744": {"op": "DUP2", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "745": {"op": "ADD", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "746": {"op": "CALLDATALOAD", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "747": {"op": "SWAP1", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "748": {"op": "SWAP2", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "749": {"op": "AND", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "750": {"op": "SWAP1", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "751": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "753": {"op": "ADD", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "754": {"op": "CALLDATALOAD", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "755": {"op": "PUSH2", "value": "0x7EF", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "758": {"op": "JUMP", "jump": "i", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "759": {"op": "JUMPDEST", "path": "3", "offset": [6540, 6709], "fn": "ERC721.tokenByIndex"}, "760": {"op": "PUSH2", "value": "0x24D", "path": "3", "offset": [6540, 6709], "fn": "ERC721.tokenByIndex"}, "763": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [6540, 6709], "fn": "ERC721.tokenByIndex"}, "765": {"op": "DUP1", "path": "3", "offset": [6540, 6709], "fn": "ERC721.tokenByIndex"}, "766": {"op": "CALLDATASIZE", "path": "3", "offset": [6540, 6709], "fn": "ERC721.tokenByIndex"}, "767": {"op": "SUB", "path": "3", "offset": [6540, 6709], "fn": "ERC721.tokenByIndex"}, "768": {"op": "PUSH1", "value": "0x20"}, "770": {"op": "DUP2"}, "771": {"op": "LT"}, "772": {"op": "ISZERO"}, "773": {"op": "PUSH2", "value": "0x30D"}, "776": {"op": "JUMPI"}, "777": {"op": "PUSH1", "value": "0x0"}, "779": {"op": "DUP1"}, "780": {"op": "REVERT"}, "781": {"op": "JUMPDEST"}, "782": {"op": "POP"}, "783": {"op": "CALLDATALOAD", "path": "3", "offset": [6540, 6709], "fn": "ERC721.tokenByIndex"}, "784": {"op": "PUSH2", "value": "0x80A", "path": "3", "offset": [6540, 6709], "fn": "ERC721.tokenByIndex"}, "787": {"op": "JUMP", "jump": "i", "path": "3", "offset": [6540, 6709], "fn": "ERC721.tokenByIndex"}, "788": {"op": "JUMPDEST", "path": "3", "offset": [4280, 4455], "fn": "ERC721.ownerOf"}, "789": {"op": "PUSH2", "value": "0x1FB", "path": "3", "offset": [4280, 4455], "fn": "ERC721.ownerOf"}, "792": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [4280, 4455], "fn": "ERC721.ownerOf"}, "794": {"op": "DUP1", "path": "3", "offset": [4280, 4455], "fn": "ERC721.ownerOf"}, "795": {"op": "CALLDATASIZE", "path": "3", "offset": [4280, 4455], "fn": "ERC721.ownerOf"}, "796": {"op": "SUB", "path": "3", "offset": [4280, 4455], "fn": "ERC721.ownerOf"}, "797": {"op": "PUSH1", "value": "0x20"}, "799": {"op": "DUP2"}, "800": {"op": "LT"}, "801": {"op": "ISZERO"}, "802": {"op": "PUSH2", "value": "0x32A"}, "805": {"op": "JUMPI"}, "806": {"op": "PUSH1", "value": "0x0"}, "808": {"op": "DUP1"}, "809": {"op": "REVERT"}, "810": {"op": "JUMPDEST"}, "811": {"op": "POP"}, "812": {"op": "CALLDATALOAD", "path": "3", "offset": [4280, 4455], "fn": "ERC721.ownerOf"}, "813": {"op": "PUSH2", "value": "0x826", "path": "3", "offset": [4280, 4455], "fn": "ERC721.ownerOf"}, "816": {"op": "JUMP", "jump": "i", "path": "3", "offset": [4280, 4455], "fn": "ERC721.ownerOf"}, "817": {"op": "JUMPDEST", "path": "3", "offset": [5855, 5950], "fn": "ERC721.baseURI"}, "818": {"op": "PUSH2", "value": "0x169", "path": "3", "offset": [5855, 5950], "fn": "ERC721.baseURI"}, "821": {"op": "PUSH2", "value": "0x854", "path": "3", "offset": [5855, 5950], "fn": "ERC721.baseURI"}, "824": {"op": "JUMP", "jump": "i", "path": "3", "offset": [5855, 5950], "fn": "ERC721.baseURI"}, "825": {"op": "JUMPDEST", "path": "3", "offset": [4005, 4223], "fn": "ERC721.balanceOf"}, "826": {"op": "PUSH2", "value": "0x24D", "path": "3", "offset": [4005, 4223], "fn": "ERC721.balanceOf"}, "829": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [4005, 4223], "fn": "ERC721.balanceOf"}, "831": {"op": "DUP1", "path": "3", "offset": [4005, 4223], "fn": "ERC721.balanceOf"}, "832": {"op": "CALLDATASIZE", "path": "3", "offset": [4005, 4223], "fn": "ERC721.balanceOf"}, "833": {"op": "SUB", "path": "3", "offset": [4005, 4223], "fn": "ERC721.balanceOf"}, "834": {"op": "PUSH1", "value": "0x20"}, "836": {"op": "DUP2"}, "837": {"op": "LT"}, "838": {"op": "ISZERO"}, "839": {"op": "PUSH2", "value": "0x34F"}, "842": {"op": "JUMPI"}, "843": {"op": "PUSH1", "value": "0x0"}, "845": {"op": "DUP1"}, "846": {"op": "REVERT"}, "847": {"op": "JUMPDEST"}, "848": {"op": "POP"}, "849": {"op": "CALLDATALOAD", "path": "3", "offset": [4005, 4223], "fn": "ERC721.balanceOf"}, "850": {"op": "PUSH1", "value": "0x1"}, "852": {"op": "PUSH1", "value": "0x1"}, "854": {"op": "PUSH1", "value": "0xA0"}, "856": {"op": "SHL"}, "857": {"op": "SUB"}, "858": {"op": "AND", "path": "3", "offset": [4005, 4223], "fn": "ERC721.balanceOf"}, "859": {"op": "PUSH2", "value": "0x8B5", "path": "3", "offset": [4005, 4223], "fn": "ERC721.balanceOf"}, "862": {"op": "JUMP", "jump": "i", "path": "3", "offset": [4005, 4223], "fn": "ERC721.balanceOf"}, "863": {"op": "JUMPDEST", "path": "3", "offset": [4679, 4781], "fn": "ERC721.symbol"}, "864": {"op": "PUSH2", "value": "0x169", "path": "3", "offset": [4679, 4781], "fn": "ERC721.symbol"}, "867": {"op": "PUSH2", "value": "0x91D", "path": "3", "offset": [4679, 4781], "fn": "ERC721.symbol"}, "870": {"op": "JUMP", "jump": "i", "path": "3", "offset": [4679, 4781], "fn": "ERC721.symbol"}, "871": {"op": "JUMPDEST", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "872": {"op": "PUSH2", "value": "0x243", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "875": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "877": {"op": "DUP1", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "878": {"op": "CALLDATASIZE", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "879": {"op": "SUB", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "880": {"op": "PUSH1", "value": "0x40"}, "882": {"op": "DUP2"}, "883": {"op": "LT"}, "884": {"op": "ISZERO"}, "885": {"op": "PUSH2", "value": "0x37D"}, "888": {"op": "JUMPI"}, "889": {"op": "PUSH1", "value": "0x0"}, "891": {"op": "DUP1"}, "892": {"op": "REVERT"}, "893": {"op": "JUMPDEST"}, "894": {"op": "POP"}, "895": {"op": "PUSH1", "value": "0x1"}, "897": {"op": "PUSH1", "value": "0x1"}, "899": {"op": "PUSH1", "value": "0xA0"}, "901": {"op": "SHL"}, "902": {"op": "SUB"}, "903": {"op": "DUP2", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "904": {"op": "CALLDATALOAD", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "905": {"op": "AND", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "906": {"op": "SWAP1", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "907": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "909": {"op": "ADD", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "910": {"op": "CALLDATALOAD", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "911": {"op": "ISZERO", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "912": {"op": "ISZERO", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "913": {"op": "PUSH2", "value": "0x97E", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "916": {"op": "JUMP", "jump": "i", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "917": {"op": "JUMPDEST", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "918": {"op": "PUSH2", "value": "0x24D", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "921": {"op": "PUSH1", "value": "0x4", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "923": {"op": "DUP1", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "924": {"op": "CALLDATASIZE", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "925": {"op": "SUB", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "926": {"op": "PUSH1", "value": "0x40"}, "928": {"op": "DUP2"}, "929": {"op": "LT"}, "930": {"op": "ISZERO"}, "931": {"op": "PUSH2", "value": "0x3AB"}, "934": {"op": "JUMPI"}, "935": {"op": "PUSH1", "value": "0x0"}, "937": {"op": "DUP1"}, "938": {"op": "REVERT"}, "939": {"op": "JUMPDEST"}, "940": {"op": "DUP2", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "941": {"op": "ADD", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "942": {"op": "SWAP1", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "943": {"op": "PUSH1", "value": "0x20", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "945": {"op": "DUP2", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "946": {"op": "ADD", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "947": {"op": "DUP2", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "948": {"op": "CALLDATALOAD", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "949": {"op": "PUSH5", "value": "0x100000000"}, "955": {"op": "DUP2"}, "956": {"op": "GT"}, "957": {"op": "ISZERO"}, "958": {"op": "PUSH2", "value": "0x3C6"}, "961": {"op": "JUMPI"}, "962": {"op": "PUSH1", "value": "0x0"}, "964": {"op": "DUP1"}, "965": {"op": "REVERT"}, "966": {"op": "JUMPDEST"}, "967": {"op": "DUP3", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "968": {"op": "ADD", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "969": {"op": "DUP4"}, "970": {"op": "PUSH1", "value": "0x20"}, "972": {"op": "DUP3"}, "973": {"op": "ADD"}, "974": {"op": "GT"}, "975": {"op": "ISZERO"}, "976": {"op": "PUSH2", "value": "0x3D8"}, "979": {"op": "JUMPI"}, "980": {"op": "PUSH1", "value": "0x0"}, "982": {"op": "DUP1"}, "983": {"op": "REVERT"}, "984": {"op": "JUMPDEST"}, "985": {"op": "DUP1", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "986": {"op": "CALLDATALOAD", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "987": {"op": "SWAP1", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "988": {"op": "PUSH1", "value": "0x20", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "990": {"op": "ADD", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "991": {"op": "SWAP2", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "992": {"op": "DUP5"}, "993": {"op": "PUSH1", "value": "0x1"}, "995": {"op": "DUP4"}, "996": {"op": "MUL"}, "997": {"op": "DUP5"}, "998": {"op": "ADD"}, "999": {"op": "GT"}, "1000": {"op": "PUSH5", "value": "0x100000000"}, "1006": {"op": "DUP4"}, "1007": {"op": "GT"}, "1008": {"op": "OR"}, "1009": {"op": "ISZERO"}, "1010": {"op": "PUSH2", "value": "0x3FA"}, "1013": {"op": "JUMPI"}, "1014": {"op": "PUSH1", "value": "0x0"}, "1016": {"op": "DUP1"}, "1017": {"op": "REVERT"}, "1018": {"op": "JUMPDEST"}, "1019": {"op": "SWAP2", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1020": {"op": "SWAP1", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1021": {"op": "DUP1", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1022": {"op": "DUP1", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1023": {"op": "PUSH1", "value": "0x1F", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1025": {"op": "ADD", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1026": {"op": "PUSH1", "value": "0x20", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1028": {"op": "DUP1", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1029": {"op": "SWAP2", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1030": {"op": "DIV", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1031": {"op": "MUL", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1032": {"op": "PUSH1", "value": "0x20", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1034": {"op": "ADD", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1035": {"op": "PUSH1", "value": "0x40", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1037": {"op": "MLOAD", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1038": {"op": "SWAP1", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1039": {"op": "DUP2", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1040": {"op": "ADD", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1041": {"op": "PUSH1", "value": "0x40", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1043": {"op": "MSTORE", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1044": {"op": "DUP1", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1045": {"op": "SWAP4", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1046": {"op": "SWAP3", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1047": {"op": "SWAP2", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1048": {"op": "SWAP1", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1049": {"op": "DUP2", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1050": {"op": "DUP2", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1051": {"op": "MSTORE", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1052": {"op": "PUSH1", "value": "0x20", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1054": {"op": "ADD", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1055": {"op": "DUP4", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1056": {"op": "DUP4", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1057": {"op": "DUP1"}, "1058": {"op": "DUP3"}, "1059": {"op": "DUP5"}, "1060": {"op": "CALLDATACOPY"}, "1061": {"op": "PUSH1", "value": "0x0"}, "1063": {"op": "SWAP3"}, "1064": {"op": "ADD"}, "1065": {"op": "SWAP2"}, "1066": {"op": "SWAP1"}, "1067": {"op": "SWAP2"}, "1068": {"op": "MSTORE"}, "1069": {"op": "POP"}, "1070": {"op": "SWAP3", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1071": {"op": "SWAP6", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1072": {"op": "POP"}, "1073": {"op": "POP"}, "1074": {"op": "POP"}, "1075": {"op": "SWAP1", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1076": {"op": "CALLDATALOAD", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1077": {"op": "PUSH1", "value": "0x1"}, "1079": {"op": "PUSH1", "value": "0x1"}, "1081": {"op": "PUSH1", "value": "0xA0"}, "1083": {"op": "SHL"}, "1084": {"op": "SUB"}, "1085": {"op": "AND", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1086": {"op": "SWAP2", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1087": {"op": "POP"}, "1088": {"op": "PUSH2", "value": "0xA83", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1091": {"op": "SWAP1", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1092": {"op": "POP"}, "1093": {"op": "JUMP", "jump": "i", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "1094": {"op": "JUMPDEST", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1095": {"op": "PUSH2", "value": "0x243", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1098": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1100": {"op": "DUP1", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1101": {"op": "CALLDATASIZE", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1102": {"op": "SUB", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1103": {"op": "PUSH1", "value": "0x80"}, "1105": {"op": "DUP2"}, "1106": {"op": "LT"}, "1107": {"op": "ISZERO"}, "1108": {"op": "PUSH2", "value": "0x45C"}, "1111": {"op": "JUMPI"}, "1112": {"op": "PUSH1", "value": "0x0"}, "1114": {"op": "DUP1"}, "1115": {"op": "REVERT"}, "1116": {"op": "JUMPDEST"}, "1117": {"op": "PUSH1", "value": "0x1"}, "1119": {"op": "PUSH1", "value": "0x1"}, "1121": {"op": "PUSH1", "value": "0xA0"}, "1123": {"op": "SHL"}, "1124": {"op": "SUB"}, "1125": {"op": "DUP3", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1126": {"op": "CALLDATALOAD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1127": {"op": "DUP2", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1128": {"op": "AND", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1129": {"op": "SWAP3", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1130": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1132": {"op": "DUP2", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1133": {"op": "ADD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1134": {"op": "CALLDATALOAD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1135": {"op": "SWAP1", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1136": {"op": "SWAP2", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1137": {"op": "AND", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1138": {"op": "SWAP2", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1139": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1141": {"op": "DUP3", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1142": {"op": "ADD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1143": {"op": "CALLDATALOAD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1144": {"op": "SWAP2", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1145": {"op": "SWAP1", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1146": {"op": "DUP2", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1147": {"op": "ADD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1148": {"op": "SWAP1", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1149": {"op": "PUSH1", "value": "0x80", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1151": {"op": "DUP2", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1152": {"op": "ADD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1153": {"op": "PUSH1", "value": "0x60", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1155": {"op": "DUP3", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1156": {"op": "ADD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1157": {"op": "CALLDATALOAD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1158": {"op": "PUSH5", "value": "0x100000000"}, "1164": {"op": "DUP2"}, "1165": {"op": "GT"}, "1166": {"op": "ISZERO"}, "1167": {"op": "PUSH2", "value": "0x497"}, "1170": {"op": "JUMPI"}, "1171": {"op": "PUSH1", "value": "0x0"}, "1173": {"op": "DUP1"}, "1174": {"op": "REVERT"}, "1175": {"op": "JUMPDEST"}, "1176": {"op": "DUP3", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1177": {"op": "ADD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1178": {"op": "DUP4"}, "1179": {"op": "PUSH1", "value": "0x20"}, "1181": {"op": "DUP3"}, "1182": {"op": "ADD"}, "1183": {"op": "GT"}, "1184": {"op": "ISZERO"}, "1185": {"op": "PUSH2", "value": "0x4A9"}, "1188": {"op": "JUMPI"}, "1189": {"op": "PUSH1", "value": "0x0"}, "1191": {"op": "DUP1"}, "1192": {"op": "REVERT"}, "1193": {"op": "JUMPDEST"}, "1194": {"op": "DUP1", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1195": {"op": "CALLDATALOAD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1196": {"op": "SWAP1", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1197": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1199": {"op": "ADD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1200": {"op": "SWAP2", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1201": {"op": "DUP5"}, "1202": {"op": "PUSH1", "value": "0x1"}, "1204": {"op": "DUP4"}, "1205": {"op": "MUL"}, "1206": {"op": "DUP5"}, "1207": {"op": "ADD"}, "1208": {"op": "GT"}, "1209": {"op": "PUSH5", "value": "0x100000000"}, "1215": {"op": "DUP4"}, "1216": {"op": "GT"}, "1217": {"op": "OR"}, "1218": {"op": "ISZERO"}, "1219": {"op": "PUSH2", "value": "0x4CB"}, "1222": {"op": "JUMPI"}, "1223": {"op": "PUSH1", "value": "0x0"}, "1225": {"op": "DUP1"}, "1226": {"op": "REVERT"}, "1227": {"op": "JUMPDEST"}, "1228": {"op": "SWAP2", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1229": {"op": "SWAP1", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1230": {"op": "DUP1", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1231": {"op": "DUP1", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1232": {"op": "PUSH1", "value": "0x1F", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1234": {"op": "ADD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1235": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1237": {"op": "DUP1", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1238": {"op": "SWAP2", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1239": {"op": "DIV", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1240": {"op": "MUL", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1241": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1243": {"op": "ADD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1244": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1246": {"op": "MLOAD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1247": {"op": "SWAP1", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1248": {"op": "DUP2", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1249": {"op": "ADD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1250": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1252": {"op": "MSTORE", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1253": {"op": "DUP1", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1254": {"op": "SWAP4", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1255": {"op": "SWAP3", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1256": {"op": "SWAP2", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1257": {"op": "SWAP1", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1258": {"op": "DUP2", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1259": {"op": "DUP2", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1260": {"op": "MSTORE", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1261": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1263": {"op": "ADD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1264": {"op": "DUP4", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1265": {"op": "DUP4", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1266": {"op": "DUP1"}, "1267": {"op": "DUP3"}, "1268": {"op": "DUP5"}, "1269": {"op": "CALLDATACOPY"}, "1270": {"op": "PUSH1", "value": "0x0"}, "1272": {"op": "SWAP3"}, "1273": {"op": "ADD"}, "1274": {"op": "SWAP2"}, "1275": {"op": "SWAP1"}, "1276": {"op": "SWAP2"}, "1277": {"op": "MSTORE"}, "1278": {"op": "POP"}, "1279": {"op": "SWAP3", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1280": {"op": "SWAP6", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1281": {"op": "POP"}, "1282": {"op": "PUSH2", "value": "0xAAD", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1285": {"op": "SWAP5", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1286": {"op": "POP"}, "1287": {"op": "POP"}, "1288": {"op": "POP"}, "1289": {"op": "POP"}, "1290": {"op": "POP"}, "1291": {"op": "JUMP", "jump": "i", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "1292": {"op": "JUMPDEST", "path": "3", "offset": [4847, 5623], "fn": "ERC721.tokenURI"}, "1293": {"op": "PUSH2", "value": "0x169", "path": "3", "offset": [4847, 5623], "fn": "ERC721.tokenURI"}, "1296": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [4847, 5623], "fn": "ERC721.tokenURI"}, "1298": {"op": "DUP1", "path": "3", "offset": [4847, 5623], "fn": "ERC721.tokenURI"}, "1299": {"op": "CALLDATASIZE", "path": "3", "offset": [4847, 5623], "fn": "ERC721.tokenURI"}, "1300": {"op": "SUB", "path": "3", "offset": [4847, 5623], "fn": "ERC721.tokenURI"}, "1301": {"op": "PUSH1", "value": "0x20"}, "1303": {"op": "DUP2"}, "1304": {"op": "LT"}, "1305": {"op": "ISZERO"}, "1306": {"op": "PUSH2", "value": "0x522"}, "1309": {"op": "JUMPI"}, "1310": {"op": "PUSH1", "value": "0x0"}, "1312": {"op": "DUP1"}, "1313": {"op": "REVERT"}, "1314": {"op": "JUMPDEST"}, "1315": {"op": "POP"}, "1316": {"op": "CALLDATALOAD", "path": "3", "offset": [4847, 5623], "fn": "ERC721.tokenURI"}, "1317": {"op": "PUSH2", "value": "0xB0B", "path": "3", "offset": [4847, 5623], "fn": "ERC721.tokenURI"}, "1320": {"op": "JUMP", "jump": "i", "path": "3", "offset": [4847, 5623], "fn": "ERC721.tokenURI"}, "1321": {"op": "JUMPDEST", "path": "13", "offset": [158, 185]}, "1322": {"op": "PUSH2", "value": "0x24D", "path": "13", "offset": [158, 185], "fn": "ERC721.tokenURI"}, "1325": {"op": "PUSH2", "value": "0xD8E", "path": "13", "offset": [158, 185], "fn": "ERC721.tokenURI"}, "1328": {"op": "JUMP", "jump": "i", "path": "13", "offset": [158, 185], "fn": "ERC721.tokenURI"}, "1329": {"op": "JUMPDEST", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1330": {"op": "PUSH2", "value": "0x14D", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1333": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1335": {"op": "DUP1", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1336": {"op": "CALLDATASIZE", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1337": {"op": "SUB", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1338": {"op": "PUSH1", "value": "0x40"}, "1340": {"op": "DUP2"}, "1341": {"op": "LT"}, "1342": {"op": "ISZERO"}, "1343": {"op": "PUSH2", "value": "0x547"}, "1346": {"op": "JUMPI"}, "1347": {"op": "PUSH1", "value": "0x0"}, "1349": {"op": "DUP1"}, "1350": {"op": "REVERT"}, "1351": {"op": "JUMPDEST"}, "1352": {"op": "POP"}, "1353": {"op": "PUSH1", "value": "0x1"}, "1355": {"op": "PUSH1", "value": "0x1"}, "1357": {"op": "PUSH1", "value": "0xA0"}, "1359": {"op": "SHL"}, "1360": {"op": "SUB"}, "1361": {"op": "DUP2", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1362": {"op": "CALLDATALOAD", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1363": {"op": "DUP2", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1364": {"op": "AND", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1365": {"op": "SWAP2", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1366": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1368": {"op": "ADD", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1369": {"op": "CALLDATALOAD", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1370": {"op": "AND", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1371": {"op": "PUSH2", "value": "0xD94", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1374": {"op": "JUMP", "jump": "i", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "1375": {"op": "JUMPDEST", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "1376": {"op": "PUSH1", "value": "0x1"}, "1378": {"op": "PUSH1", "value": "0x1"}, "1380": {"op": "PUSH1", "value": "0xE0"}, "1382": {"op": "SHL"}, "1383": {"op": "SUB"}, "1384": {"op": "NOT"}, "1385": {"op": "DUP2", "path": "0", "offset": [1073, 1106], "fn": "ERC165.supportsInterface", "statement": 0}, "1386": {"op": "AND", "path": "0", "offset": [1073, 1106], "fn": "ERC165.supportsInterface"}, "1387": {"op": "PUSH1", "value": "0x0", "path": "0", "offset": [1050, 1054], "fn": "ERC165.supportsInterface"}, "1389": {"op": "SWAP1", "path": "0", "offset": [1073, 1106], "fn": "ERC165.supportsInterface"}, "1390": {"op": "DUP2", "path": "0", "offset": [1073, 1106], "fn": "ERC165.supportsInterface"}, "1391": {"op": "MSTORE", "path": "0", "offset": [1073, 1106], "fn": "ERC165.supportsInterface"}, "1392": {"op": "PUSH1", "value": "0x20", "path": "0", "offset": [1073, 1106], "fn": "ERC165.supportsInterface"}, "1394": {"op": "DUP2", "path": "0", "offset": [1073, 1106], "fn": "ERC165.supportsInterface"}, "1395": {"op": "SWAP1", "path": "0", "offset": [1073, 1106], "fn": "ERC165.supportsInterface"}, "1396": {"op": "MSTORE", "path": "0", "offset": [1073, 1106], "fn": "ERC165.supportsInterface"}, "1397": {"op": "PUSH1", "value": "0x40", "path": "0", "offset": [1073, 1106], "fn": "ERC165.supportsInterface"}, "1399": {"op": "SWAP1", "path": "0", "offset": [1073, 1106], "fn": "ERC165.supportsInterface"}, "1400": {"op": "KECCAK256", "path": "0", "offset": [1073, 1106], "fn": "ERC165.supportsInterface"}, "1401": {"op": "SLOAD", "path": "0", "offset": [1073, 1106], "fn": "ERC165.supportsInterface"}, "1402": {"op": "PUSH1", "value": "0xFF", "path": "0", "offset": [1073, 1106], "fn": "ERC165.supportsInterface"}, "1404": {"op": "AND", "path": "0", "offset": [1073, 1106], "fn": "ERC165.supportsInterface"}, "1405": {"op": "JUMPDEST", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "1406": {"op": "SWAP2", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "1407": {"op": "SWAP1", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "1408": {"op": "POP", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "1409": {"op": "JUMP", "jump": "o", "path": "0", "offset": [965, 1113], "fn": "ERC165.supportsInterface"}, "1410": {"op": "JUMPDEST", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "1411": {"op": "PUSH1", "value": "0x6", "path": "3", "offset": [4603, 4608], "fn": "ERC721.name", "statement": 1}, "1413": {"op": "DUP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1414": {"op": "SLOAD", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1415": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1417": {"op": "DUP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1418": {"op": "MLOAD", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1419": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1421": {"op": "PUSH1", "value": "0x1F", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1423": {"op": "PUSH1", "value": "0x2", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1425": {"op": "PUSH1", "value": "0x0"}, "1427": {"op": "NOT"}, "1428": {"op": "PUSH2", "value": "0x100", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1431": {"op": "PUSH1", "value": "0x1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1433": {"op": "DUP9", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1434": {"op": "AND", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1435": {"op": "ISZERO", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1436": {"op": "MUL", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1437": {"op": "ADD", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1438": {"op": "SWAP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1439": {"op": "SWAP6", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1440": {"op": "AND", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1441": {"op": "SWAP5", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1442": {"op": "SWAP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1443": {"op": "SWAP5", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1444": {"op": "DIV", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1445": {"op": "SWAP4", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1446": {"op": "DUP5", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1447": {"op": "ADD", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1448": {"op": "DUP2", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1449": {"op": "SWAP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1450": {"op": "DIV", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1451": {"op": "DUP2", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1452": {"op": "MUL", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1453": {"op": "DUP3", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1454": {"op": "ADD", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1455": {"op": "DUP2", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1456": {"op": "ADD", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1457": {"op": "SWAP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1458": {"op": "SWAP3", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1459": {"op": "MSTORE", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1460": {"op": "DUP3", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1461": {"op": "DUP2", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1462": {"op": "MSTORE", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1463": {"op": "PUSH1", "value": "0x60", "path": "3", "offset": [4571, 4584], "fn": "ERC721.name"}, "1465": {"op": "SWAP4", "path": "3", "offset": [4571, 4584], "fn": "ERC721.name"}, "1466": {"op": "SWAP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1467": {"op": "SWAP3", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1468": {"op": "SWAP1", "path": "3", "offset": [4603, 4608], "fn": "ERC721.name"}, "1469": {"op": "SWAP2", "path": "3", "offset": [4603, 4608], "fn": "ERC721.name"}, "1470": {"op": "DUP4", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1471": {"op": "ADD", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1472": {"op": "DUP3", "path": "3", "offset": [4603, 4608], "fn": "ERC721.name"}, "1473": {"op": "DUP3", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1474": {"op": "DUP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1475": {"op": "ISZERO", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1476": {"op": "PUSH2", "value": "0x60E", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1479": {"op": "JUMPI", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1480": {"op": "DUP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1481": {"op": "PUSH1", "value": "0x1F", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1483": {"op": "LT", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1484": {"op": "PUSH2", "value": "0x5E3", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1487": {"op": "JUMPI", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1488": {"op": "PUSH2", "value": "0x100", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1491": {"op": "DUP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1492": {"op": "DUP4", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1493": {"op": "SLOAD", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1494": {"op": "DIV", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1495": {"op": "MUL", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1496": {"op": "DUP4", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1497": {"op": "MSTORE", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1498": {"op": "SWAP2", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1499": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1501": {"op": "ADD", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1502": {"op": "SWAP2", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1503": {"op": "PUSH2", "value": "0x60E", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1506": {"op": "JUMP", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1507": {"op": "JUMPDEST", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1508": {"op": "DUP3", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1509": {"op": "ADD", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1510": {"op": "SWAP2", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1511": {"op": "SWAP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1512": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1514": {"op": "MSTORE", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1515": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1517": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1519": {"op": "KECCAK256", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1520": {"op": "SWAP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1521": {"op": "JUMPDEST", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1522": {"op": "DUP2", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1523": {"op": "SLOAD", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1524": {"op": "DUP2", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1525": {"op": "MSTORE", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1526": {"op": "SWAP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1527": {"op": "PUSH1", "value": "0x1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1529": {"op": "ADD", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1530": {"op": "SWAP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1531": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1533": {"op": "ADD", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1534": {"op": "DUP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1535": {"op": "DUP4", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1536": {"op": "GT", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1537": {"op": "PUSH2", "value": "0x5F1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1540": {"op": "JUMPI", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1541": {"op": "DUP3", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1542": {"op": "SWAP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1543": {"op": "SUB", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1544": {"op": "PUSH1", "value": "0x1F", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1546": {"op": "AND", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1547": {"op": "DUP3", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1548": {"op": "ADD", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1549": {"op": "SWAP2", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1550": {"op": "JUMPDEST", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1551": {"op": "POP", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1552": {"op": "POP", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1553": {"op": "POP", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1554": {"op": "POP", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1555": {"op": "POP", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1556": {"op": "SWAP1", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1557": {"op": "POP", "path": "3", "offset": [4596, 4608], "fn": "ERC721.name"}, "1558": {"op": "JUMPDEST", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "1559": {"op": "SWAP1", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "1560": {"op": "JUMP", "jump": "o", "path": "3", "offset": [4517, 4615], "fn": "ERC721.name"}, "1561": {"op": "JUMPDEST", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "1562": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [7298, 7305], "fn": "ERC721.getApproved"}, "1564": {"op": "PUSH2", "value": "0x624", "path": "3", "offset": [7325, 7341], "fn": "ERC721.getApproved", "statement": 2}, "1567": {"op": "DUP3", "path": "3", "offset": [7333, 7340], "fn": "ERC721.getApproved"}, "1568": {"op": "PUSH2", "value": "0xDC2", "path": "3", "offset": [7325, 7332], "fn": "ERC721.getApproved"}, "1571": {"op": "JUMP", "jump": "i", "path": "3", "offset": [7325, 7341], "fn": "ERC721.getApproved"}, "1572": {"op": "JUMPDEST", "path": "3", "offset": [7325, 7341], "fn": "ERC721.getApproved", "branch": 106}, "1573": {"op": "PUSH2", "value": "0x65F", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1576": {"op": "JUMPI", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved", "branch": 106}, "1577": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1579": {"op": "MLOAD", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1580": {"op": "PUSH3", "value": "0x461BCD"}, "1584": {"op": "PUSH1", "value": "0xE5"}, "1586": {"op": "SHL"}, "1587": {"op": "DUP2", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1588": {"op": "MSTORE", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1589": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1591": {"op": "ADD", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1592": {"op": "DUP1", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1593": {"op": "DUP1", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1594": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1596": {"op": "ADD", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1597": {"op": "DUP3", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1598": {"op": "DUP2", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1599": {"op": "SUB", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1600": {"op": "DUP3", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1601": {"op": "MSTORE", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1602": {"op": "PUSH1", "value": "0x2C", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1604": {"op": "DUP2", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1605": {"op": "MSTORE", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1606": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1608": {"op": "ADD", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1609": {"op": "DUP1", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1610": {"op": "PUSH2", "value": "0x1C6F", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1613": {"op": "PUSH1", "value": "0x2C", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1615": {"op": "SWAP2", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1616": {"op": "CODECOPY", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1617": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1619": {"op": "ADD", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1620": {"op": "SWAP2", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1621": {"op": "POP", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1622": {"op": "POP", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1623": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1625": {"op": "MLOAD", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1626": {"op": "DUP1", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1627": {"op": "SWAP2", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1628": {"op": "SUB", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1629": {"op": "SWAP1", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1630": {"op": "REVERT", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1631": {"op": "JUMPDEST", "path": "3", "offset": [7317, 7390], "fn": "ERC721.getApproved"}, "1632": {"op": "POP"}, "1633": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [7408, 7432], "fn": "ERC721.getApproved", "statement": 3}, "1635": {"op": "SWAP1", "path": "3", "offset": [7408, 7432], "fn": "ERC721.getApproved"}, "1636": {"op": "DUP2", "path": "3", "offset": [7408, 7432], "fn": "ERC721.getApproved"}, "1637": {"op": "MSTORE", "path": "3", "offset": [7408, 7432], "fn": "ERC721.getApproved"}, "1638": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [7408, 7423], "fn": "ERC721.getApproved"}, "1640": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [7408, 7432], "fn": "ERC721.getApproved"}, "1642": {"op": "MSTORE", "path": "3", "offset": [7408, 7432], "fn": "ERC721.getApproved"}, "1643": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [7408, 7432], "fn": "ERC721.getApproved"}, "1645": {"op": "SWAP1", "path": "3", "offset": [7408, 7432], "fn": "ERC721.getApproved"}, "1646": {"op": "KECCAK256", "path": "3", "offset": [7408, 7432], "fn": "ERC721.getApproved"}, "1647": {"op": "SLOAD", "path": "3", "offset": [7408, 7432], "fn": "ERC721.getApproved"}, "1648": {"op": "PUSH1", "value": "0x1"}, "1650": {"op": "PUSH1", "value": "0x1"}, "1652": {"op": "PUSH1", "value": "0xA0"}, "1654": {"op": "SHL"}, "1655": {"op": "SUB"}, "1656": {"op": "AND", "path": "3", "offset": [7408, 7432], "fn": "ERC721.getApproved"}, "1657": {"op": "SWAP1", "path": "3", "offset": [7408, 7432], "fn": "ERC721.getApproved"}, "1658": {"op": "JUMP", "jump": "o", "path": "3", "offset": [7222, 7439], "fn": "ERC721.getApproved"}, "1659": {"op": "JUMPDEST", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "1660": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [6846, 6859], "fn": "ERC721.approve"}, "1662": {"op": "PUSH2", "value": "0x686", "path": "3", "offset": [6862, 6885], "fn": "ERC721.approve"}, "1665": {"op": "DUP3", "path": "3", "offset": [6877, 6884], "fn": "ERC721.approve"}, "1666": {"op": "PUSH2", "value": "0x826", "path": "3", "offset": [6862, 6876], "fn": "ERC721.approve"}, "1669": {"op": "JUMP", "jump": "i", "path": "3", "offset": [6862, 6885], "fn": "ERC721.approve"}, "1670": {"op": "JUMPDEST", "path": "3", "offset": [6862, 6885], "fn": "ERC721.approve"}, "1671": {"op": "SWAP1", "path": "3", "offset": [6846, 6885], "fn": "ERC721.approve"}, "1672": {"op": "POP", "path": "3", "offset": [6846, 6885], "fn": "ERC721.approve"}, "1673": {"op": "DUP1", "path": "3", "offset": [6909, 6914], "fn": "ERC721.approve", "statement": 4}, "1674": {"op": "PUSH1", "value": "0x1"}, "1676": {"op": "PUSH1", "value": "0x1"}, "1678": {"op": "PUSH1", "value": "0xA0"}, "1680": {"op": "SHL"}, "1681": {"op": "SUB"}, "1682": {"op": "AND", "path": "3", "offset": [6903, 6914], "fn": "ERC721.approve"}, "1683": {"op": "DUP4", "path": "3", "offset": [6903, 6905], "fn": "ERC721.approve"}, "1684": {"op": "PUSH1", "value": "0x1"}, "1686": {"op": "PUSH1", "value": "0x1"}, "1688": {"op": "PUSH1", "value": "0xA0"}, "1690": {"op": "SHL"}, "1691": {"op": "SUB"}, "1692": {"op": "AND", "path": "3", "offset": [6903, 6914], "fn": "ERC721.approve"}, "1693": {"op": "EQ", "path": "3", "offset": [6903, 6914], "fn": "ERC721.approve"}, "1694": {"op": "ISZERO", "path": "3", "offset": [6903, 6914], "fn": "ERC721.approve", "branch": 107}, "1695": {"op": "PUSH2", "value": "0x6D9", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1698": {"op": "JUMPI", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve", "branch": 107}, "1699": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1701": {"op": "MLOAD", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1702": {"op": "PUSH3", "value": "0x461BCD"}, "1706": {"op": "PUSH1", "value": "0xE5"}, "1708": {"op": "SHL"}, "1709": {"op": "DUP2", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1710": {"op": "MSTORE", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1711": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1713": {"op": "ADD", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1714": {"op": "DUP1", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1715": {"op": "DUP1", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1716": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1718": {"op": "ADD", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1719": {"op": "DUP3", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1720": {"op": "DUP2", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1721": {"op": "SUB", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1722": {"op": "DUP3", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1723": {"op": "MSTORE", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1724": {"op": "PUSH1", "value": "0x21", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1726": {"op": "DUP2", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1727": {"op": "MSTORE", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1728": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1730": {"op": "ADD", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1731": {"op": "DUP1", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1732": {"op": "PUSH2", "value": "0x1D1F", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1735": {"op": "PUSH1", "value": "0x21", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1737": {"op": "SWAP2", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1738": {"op": "CODECOPY", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1739": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1741": {"op": "ADD", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1742": {"op": "SWAP2", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1743": {"op": "POP", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1744": {"op": "POP", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1745": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1747": {"op": "MLOAD", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1748": {"op": "DUP1", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1749": {"op": "SWAP2", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1750": {"op": "SUB", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1751": {"op": "SWAP1", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1752": {"op": "REVERT", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1753": {"op": "JUMPDEST", "path": "3", "offset": [6895, 6952], "fn": "ERC721.approve"}, "1754": {"op": "DUP1", "path": "3", "offset": [6987, 6992], "fn": "ERC721.approve", "statement": 5}, "1755": {"op": "PUSH1", "value": "0x1"}, "1757": {"op": "PUSH1", "value": "0x1"}, "1759": {"op": "PUSH1", "value": "0xA0"}, "1761": {"op": "SHL"}, "1762": {"op": "SUB"}, "1763": {"op": "AND", "path": "3", "offset": [6971, 6992], "fn": "ERC721.approve"}, "1764": {"op": "PUSH2", "value": "0x6EB", "path": "3", "offset": [6971, 6983], "fn": "ERC721.approve"}, "1767": {"op": "PUSH2", "value": "0xDD5", "path": "3", "offset": [6971, 6981], "fn": "ERC721.approve"}, "1770": {"op": "JUMP", "jump": "i", "path": "3", "offset": [6971, 6983], "fn": "ERC721.approve"}, "1771": {"op": "JUMPDEST", "path": "3", "offset": [6971, 6983], "fn": "ERC721.approve"}, "1772": {"op": "PUSH1", "value": "0x1"}, "1774": {"op": "PUSH1", "value": "0x1"}, "1776": {"op": "PUSH1", "value": "0xA0"}, "1778": {"op": "SHL"}, "1779": {"op": "SUB"}, "1780": {"op": "AND", "path": "3", "offset": [6971, 6992], "fn": "ERC721.approve"}, "1781": {"op": "EQ", "path": "3", "offset": [6971, 6992], "fn": "ERC721.approve", "branch": 108}, "1782": {"op": "DUP1", "path": "3", "offset": [6971, 7040], "fn": "ERC721.approve"}, "1783": {"op": "PUSH2", "value": "0x70C", "path": "3", "offset": [6971, 7040], "fn": "ERC721.approve"}, "1786": {"op": "JUMPI", "path": "3", "offset": [6971, 7040], "fn": "ERC721.approve", "branch": 108}, "1787": {"op": "POP", "path": "3", "offset": [6971, 7040], "fn": "ERC721.approve"}, "1788": {"op": "PUSH2", "value": "0x70C", "path": "3", "offset": [6996, 7040], "fn": "ERC721.approve"}, "1791": {"op": "DUP2", "path": "3", "offset": [7020, 7025], "fn": "ERC721.approve"}, "1792": {"op": "PUSH2", "value": "0x707", "path": "3", "offset": [7027, 7039], "fn": "ERC721.approve"}, "1795": {"op": "PUSH2", "value": "0xDD5", "path": "3", "offset": [7027, 7037], "fn": "ERC721.approve"}, "1798": {"op": "JUMP", "jump": "i", "path": "3", "offset": [7027, 7039], "fn": "ERC721.approve"}, "1799": {"op": "JUMPDEST", "path": "3", "offset": [7027, 7039], "fn": "ERC721.approve"}, "1800": {"op": "PUSH2", "value": "0xD94", "path": "3", "offset": [6996, 7019], "fn": "ERC721.approve"}, "1803": {"op": "JUMP", "jump": "i", "path": "3", "offset": [6996, 7040], "fn": "ERC721.approve"}, "1804": {"op": "JUMPDEST", "path": "3", "offset": [6996, 7040], "fn": "ERC721.approve", "branch": 109}, "1805": {"op": "PUSH2", "value": "0x747", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1808": {"op": "JUMPI", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve", "branch": 109}, "1809": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1811": {"op": "MLOAD", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1812": {"op": "PUSH3", "value": "0x461BCD"}, "1816": {"op": "PUSH1", "value": "0xE5"}, "1818": {"op": "SHL"}, "1819": {"op": "DUP2", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1820": {"op": "MSTORE", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1821": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1823": {"op": "ADD", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1824": {"op": "DUP1", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1825": {"op": "DUP1", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1826": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1828": {"op": "ADD", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1829": {"op": "DUP3", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1830": {"op": "DUP2", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1831": {"op": "SUB", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1832": {"op": "DUP3", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1833": {"op": "MSTORE", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1834": {"op": "PUSH1", "value": "0x38", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1836": {"op": "DUP2", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1837": {"op": "MSTORE", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1838": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1840": {"op": "ADD", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1841": {"op": "DUP1", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1842": {"op": "PUSH2", "value": "0x1BC2", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1845": {"op": "PUSH1", "value": "0x38", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1847": {"op": "SWAP2", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1848": {"op": "CODECOPY", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1849": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1851": {"op": "ADD", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1852": {"op": "SWAP2", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1853": {"op": "POP", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1854": {"op": "POP", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1855": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1857": {"op": "MLOAD", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1858": {"op": "DUP1", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1859": {"op": "SWAP2", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1860": {"op": "SUB", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1861": {"op": "SWAP1", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1862": {"op": "REVERT", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1863": {"op": "JUMPDEST", "path": "3", "offset": [6963, 7122], "fn": "ERC721.approve"}, "1864": {"op": "PUSH2", "value": "0x751", "path": "3", "offset": [7133, 7154], "fn": "ERC721.approve", "statement": 6}, "1867": {"op": "DUP4", "path": "3", "offset": [7142, 7144], "fn": "ERC721.approve"}, "1868": {"op": "DUP4", "path": "3", "offset": [7146, 7153], "fn": "ERC721.approve"}, "1869": {"op": "PUSH2", "value": "0xDD9", "path": "3", "offset": [7133, 7141], "fn": "ERC721.approve"}, "1872": {"op": "JUMP", "jump": "i", "path": "3", "offset": [7133, 7154], "fn": "ERC721.approve"}, "1873": {"op": "JUMPDEST", "path": "3", "offset": [7133, 7154], "fn": "ERC721.approve"}, "1874": {"op": "POP", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "1875": {"op": "POP", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "1876": {"op": "POP", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "1877": {"op": "JUMP", "jump": "o", "path": "3", "offset": [6766, 7161], "fn": "ERC721.approve"}, "1878": {"op": "JUMPDEST", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "1879": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [6321, 6328], "fn": "ERC721.totalSupply"}, "1881": {"op": "PUSH2", "value": "0x762", "path": "3", "offset": [6440, 6461], "fn": "ERC721.totalSupply", "statement": 7}, "1884": {"op": "PUSH1", "value": "0x2", "path": "3", "offset": [6440, 6452], "fn": "ERC721.totalSupply"}, "1886": {"op": "PUSH2", "value": "0xE47", "path": "3", "offset": [6440, 6459], "fn": "ERC721.totalSupply"}, "1889": {"op": "JUMP", "jump": "i", "path": "3", "offset": [6440, 6461], "fn": "ERC721.totalSupply"}, "1890": {"op": "JUMPDEST", "path": "3", "offset": [6440, 6461], "fn": "ERC721.totalSupply"}, "1891": {"op": "SWAP1", "path": "3", "offset": [6433, 6461], "fn": "ERC721.totalSupply"}, "1892": {"op": "POP", "path": "3", "offset": [6433, 6461], "fn": "ERC721.totalSupply"}, "1893": {"op": "SWAP1", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "1894": {"op": "JUMP", "jump": "o", "path": "3", "offset": [6260, 6468], "fn": "ERC721.totalSupply"}, "1895": {"op": "JUMPDEST", "path": "3", "offset": [8086, 8386], "fn": "ERC721.transferFrom"}, "1896": {"op": "PUSH2", "value": "0x778", "path": "3", "offset": [8245, 8286], "fn": "ERC721.transferFrom", "statement": 8}, "1899": {"op": "PUSH2", "value": "0x772", "path": "3", "offset": [8264, 8276], "fn": "ERC721.transferFrom"}, "1902": {"op": "PUSH2", "value": "0xDD5", "path": "3", "offset": [8264, 8274], "fn": "ERC721.transferFrom"}, "1905": {"op": "JUMP", "jump": "i", "path": "3", "offset": [8264, 8276], "fn": "ERC721.transferFrom"}, "1906": {"op": "JUMPDEST", "path": "3", "offset": [8264, 8276], "fn": "ERC721.transferFrom"}, "1907": {"op": "DUP3", "path": "3", "offset": [8278, 8285], "fn": "ERC721.transferFrom"}, "1908": {"op": "PUSH2", "value": "0xE52", "path": "3", "offset": [8245, 8263], "fn": "ERC721.transferFrom"}, "1911": {"op": "JUMP", "jump": "i", "path": "3", "offset": [8245, 8286], "fn": "ERC721.transferFrom"}, "1912": {"op": "JUMPDEST", "path": "3", "offset": [8245, 8286], "fn": "ERC721.transferFrom", "branch": 110}, "1913": {"op": "PUSH2", "value": "0x7B3", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1916": {"op": "JUMPI", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom", "branch": 110}, "1917": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1919": {"op": "MLOAD", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1920": {"op": "PUSH3", "value": "0x461BCD"}, "1924": {"op": "PUSH1", "value": "0xE5"}, "1926": {"op": "SHL"}, "1927": {"op": "DUP2", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1928": {"op": "MSTORE", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1929": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1931": {"op": "ADD", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1932": {"op": "DUP1", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1933": {"op": "DUP1", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1934": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1936": {"op": "ADD", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1937": {"op": "DUP3", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1938": {"op": "DUP2", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1939": {"op": "SUB", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1940": {"op": "DUP3", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1941": {"op": "MSTORE", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1942": {"op": "PUSH1", "value": "0x31", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1944": {"op": "DUP2", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1945": {"op": "MSTORE", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1946": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1948": {"op": "ADD", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1949": {"op": "DUP1", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1950": {"op": "PUSH2", "value": "0x1D40", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1953": {"op": "PUSH1", "value": "0x31", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1955": {"op": "SWAP2", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1956": {"op": "CODECOPY", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1957": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1959": {"op": "ADD", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1960": {"op": "SWAP2", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1961": {"op": "POP", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1962": {"op": "POP", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1963": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1965": {"op": "MLOAD", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1966": {"op": "DUP1", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1967": {"op": "SWAP2", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1968": {"op": "SUB", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1969": {"op": "SWAP1", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1970": {"op": "REVERT", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1971": {"op": "JUMPDEST", "path": "3", "offset": [8237, 8340], "fn": "ERC721.transferFrom"}, "1972": {"op": "PUSH2", "value": "0x751", "path": "3", "offset": [8351, 8379], "fn": "ERC721.transferFrom", "statement": 9}, "1975": {"op": "DUP4", "path": "3", "offset": [8361, 8365], "fn": "ERC721.transferFrom"}, "1976": {"op": "DUP4", "path": "3", "offset": [8367, 8369], "fn": "ERC721.transferFrom"}, "1977": {"op": "DUP4", "path": "3", "offset": [8371, 8378], "fn": "ERC721.transferFrom"}, "1978": {"op": "PUSH2", "value": "0xEF6", "path": "3", "offset": [8351, 8360], "fn": "ERC721.transferFrom"}, "1981": {"op": "JUMP", "jump": "i", "path": "3", "offset": [8351, 8379], "fn": "ERC721.transferFrom"}, "1982": {"op": "JUMPDEST", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "1983": {"op": "PUSH1", "value": "0x1"}, "1985": {"op": "PUSH1", "value": "0x1"}, "1987": {"op": "PUSH1", "value": "0xA0"}, "1989": {"op": "SHL"}, "1990": {"op": "SUB"}, "1991": {"op": "DUP3", "path": "3", "offset": [6152, 6172], "fn": "ERC721.tokenOfOwnerByIndex", "statement": 10}, "1992": {"op": "AND", "path": "3", "offset": [6152, 6172], "fn": "ERC721.tokenOfOwnerByIndex"}, "1993": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [6126, 6133], "fn": "ERC721.tokenOfOwnerByIndex"}, "1995": {"op": "SWAP1", "path": "3", "offset": [6152, 6172], "fn": "ERC721.tokenOfOwnerByIndex"}, "1996": {"op": "DUP2", "path": "3", "offset": [6152, 6172], "fn": "ERC721.tokenOfOwnerByIndex"}, "1997": {"op": "MSTORE", "path": "3", "offset": [6152, 6172], "fn": "ERC721.tokenOfOwnerByIndex"}, "1998": {"op": "PUSH1", "value": "0x1", "path": "3", "offset": [6152, 6165], "fn": "ERC721.tokenOfOwnerByIndex"}, "2000": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [6152, 6172], "fn": "ERC721.tokenOfOwnerByIndex"}, "2002": {"op": "MSTORE", "path": "3", "offset": [6152, 6172], "fn": "ERC721.tokenOfOwnerByIndex"}, "2003": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [6152, 6172], "fn": "ERC721.tokenOfOwnerByIndex"}, "2005": {"op": "DUP2", "path": "3", "offset": [6152, 6172], "fn": "ERC721.tokenOfOwnerByIndex"}, "2006": {"op": "KECCAK256", "path": "3", "offset": [6152, 6172], "fn": "ERC721.tokenOfOwnerByIndex"}, "2007": {"op": "PUSH2", "value": "0x7E6", "path": "3", "offset": [6152, 6182], "fn": "ERC721.tokenOfOwnerByIndex"}, "2010": {"op": "SWAP1", "path": "3", "offset": [6152, 6182], "fn": "ERC721.tokenOfOwnerByIndex"}, "2011": {"op": "DUP4", "path": "3", "offset": [6176, 6181], "fn": "ERC721.tokenOfOwnerByIndex"}, "2012": {"op": "PUSH4", "value": "0xFFFFFFFF", "path": "3", "offset": [6152, 6182], "fn": "ERC721.tokenOfOwnerByIndex"}, "2017": {"op": "PUSH2", "value": "0x1054", "path": "3", "offset": [6152, 6175], "fn": "ERC721.tokenOfOwnerByIndex"}, "2020": {"op": "AND", "path": "3", "offset": [6152, 6182], "fn": "ERC721.tokenOfOwnerByIndex"}, "2021": {"op": "JUMP", "jump": "i", "path": "3", "offset": [6152, 6182], "fn": "ERC721.tokenOfOwnerByIndex"}, "2022": {"op": "JUMPDEST", "path": "3", "offset": [6152, 6182], "fn": "ERC721.tokenOfOwnerByIndex"}, "2023": {"op": "SWAP1", "path": "3", "offset": [6145, 6182], "fn": "ERC721.tokenOfOwnerByIndex"}, "2024": {"op": "POP", "path": "3", "offset": [6145, 6182], "fn": "ERC721.tokenOfOwnerByIndex"}, "2025": {"op": "JUMPDEST", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "2026": {"op": "SWAP3", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "2027": {"op": "SWAP2", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "2028": {"op": "POP", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "2029": {"op": "POP", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "2030": {"op": "JUMP", "jump": "o", "path": "3", "offset": [6029, 6189], "fn": "ERC721.tokenOfOwnerByIndex"}, "2031": {"op": "JUMPDEST", "path": "3", "offset": [8452, 8601], "fn": "ERC721.safeTransferFrom"}, "2032": {"op": "PUSH2", "value": "0x751", "path": "3", "offset": [8555, 8594], "fn": "ERC721.safeTransferFrom", "statement": 11}, "2035": {"op": "DUP4", "path": "3", "offset": [8572, 8576], "fn": "ERC721.safeTransferFrom"}, "2036": {"op": "DUP4", "path": "3", "offset": [8578, 8580], "fn": "ERC721.safeTransferFrom"}, "2037": {"op": "DUP4", "path": "3", "offset": [8582, 8589], "fn": "ERC721.safeTransferFrom"}, "2038": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [8555, 8594], "fn": "ERC721.safeTransferFrom"}, "2040": {"op": "MLOAD", "path": "3", "offset": [8555, 8594], "fn": "ERC721.safeTransferFrom"}, "2041": {"op": "DUP1", "path": "3", "offset": [8555, 8594], "fn": "ERC721.safeTransferFrom"}, "2042": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [8555, 8594], "fn": "ERC721.safeTransferFrom"}, "2044": {"op": "ADD", "path": "3", "offset": [8555, 8594], "fn": "ERC721.safeTransferFrom"}, "2045": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [8555, 8594], "fn": "ERC721.safeTransferFrom"}, "2047": {"op": "MSTORE", "path": "3", "offset": [8555, 8594], "fn": "ERC721.safeTransferFrom"}, "2048": {"op": "DUP1", "path": "3", "offset": [8555, 8594], "fn": "ERC721.safeTransferFrom"}, "2049": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [8555, 8594], "fn": "ERC721.safeTransferFrom"}, "2051": {"op": "DUP2", "path": "3", "offset": [8555, 8594], "fn": "ERC721.safeTransferFrom"}, "2052": {"op": "MSTORE", "path": "3", "offset": [8555, 8594], "fn": "ERC721.safeTransferFrom"}, "2053": {"op": "POP", "path": "3", "offset": [8555, 8594], "fn": "ERC721.safeTransferFrom"}, "2054": {"op": "PUSH2", "value": "0xAAD", "path": "3", "offset": [8555, 8571], "fn": "ERC721.safeTransferFrom"}, "2057": {"op": "JUMP", "jump": "i", "path": "3", "offset": [8555, 8594], "fn": "ERC721.safeTransferFrom"}, "2058": {"op": "JUMPDEST", "path": "3", "offset": [6540, 6709], "fn": "ERC721.tokenByIndex"}, "2059": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [6615, 6622], "fn": "ERC721.tokenByIndex"}, "2061": {"op": "DUP1", "path": "3", "offset": [6615, 6622], "fn": "ERC721.tokenByIndex"}, "2062": {"op": "PUSH2", "value": "0x81E", "path": "3", "offset": [6656, 6678], "fn": "ERC721.tokenByIndex"}, "2065": {"op": "PUSH1", "value": "0x2", "path": "3", "offset": [6656, 6668], "fn": "ERC721.tokenByIndex"}, "2067": {"op": "DUP5", "path": "3", "offset": [6672, 6677], "fn": "ERC721.tokenByIndex"}, "2068": {"op": "PUSH4", "value": "0xFFFFFFFF", "path": "3", "offset": [6656, 6678], "fn": "ERC721.tokenByIndex"}, "2073": {"op": "PUSH2", "value": "0x1060", "path": "3", "offset": [6656, 6671], "fn": "ERC721.tokenByIndex"}, "2076": {"op": "AND", "path": "3", "offset": [6656, 6678], "fn": "ERC721.tokenByIndex"}, "2077": {"op": "JUMP", "jump": "i", "path": "3", "offset": [6656, 6678], "fn": "ERC721.tokenByIndex"}, "2078": {"op": "JUMPDEST", "path": "3", "offset": [6656, 6678], "fn": "ERC721.tokenByIndex"}, "2079": {"op": "POP"}, "2080": {"op": "SWAP4", "path": "3", "offset": [6634, 6678], "fn": "ERC721.tokenByIndex"}, "2081": {"op": "SWAP3", "path": "3", "offset": [6540, 6709], "fn": "ERC721.tokenByIndex"}, "2082": {"op": "POP"}, "2083": {"op": "POP"}, "2084": {"op": "POP"}, "2085": {"op": "JUMP", "jump": "o", "path": "3", "offset": [6540, 6709], "fn": "ERC721.tokenByIndex"}, "2086": {"op": "JUMPDEST", "path": "3", "offset": [4280, 4455], "fn": "ERC721.ownerOf"}, "2087": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [4352, 4359], "fn": "ERC721.ownerOf"}, "2089": {"op": "PUSH2", "value": "0x7E9", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf", "statement": 12}, "2092": {"op": "DUP3", "path": "3", "offset": [4395, 4402], "fn": "ERC721.ownerOf"}, "2093": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2095": {"op": "MLOAD", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2096": {"op": "DUP1", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2097": {"op": "PUSH1", "value": "0x60", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2099": {"op": "ADD", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2100": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2102": {"op": "MSTORE", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2103": {"op": "DUP1", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2104": {"op": "PUSH1", "value": "0x29", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2106": {"op": "DUP2", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2107": {"op": "MSTORE", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2108": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2110": {"op": "ADD", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2111": {"op": "PUSH2", "value": "0x1C24", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2114": {"op": "PUSH1", "value": "0x29", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2116": {"op": "SWAP2", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2117": {"op": "CODECOPY", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2118": {"op": "PUSH1", "value": "0x2", "path": "3", "offset": [4378, 4390], "fn": "ERC721.ownerOf"}, "2120": {"op": "SWAP2", "path": "3", "offset": [4378, 4390], "fn": "ERC721.ownerOf"}, "2121": {"op": "SWAP1", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2122": {"op": "PUSH4", "value": "0xFFFFFFFF", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2127": {"op": "PUSH2", "value": "0x107C", "path": "3", "offset": [4378, 4394], "fn": "ERC721.ownerOf"}, "2130": {"op": "AND", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2131": {"op": "JUMP", "jump": "i", "path": "3", "offset": [4378, 4448], "fn": "ERC721.ownerOf"}, "2132": {"op": "JUMPDEST", "path": "3", "offset": [5855, 5950], "fn": "ERC721.baseURI"}, "2133": {"op": "PUSH1", "value": "0x9", "path": "3", "offset": [5935, 5943], "fn": "ERC721.baseURI", "statement": 13}, "2135": {"op": "DUP1", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2136": {"op": "SLOAD", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2137": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2139": {"op": "DUP1", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2140": {"op": "MLOAD", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2141": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2143": {"op": "PUSH1", "value": "0x1F", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2145": {"op": "PUSH1", "value": "0x2", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2147": {"op": "PUSH1", "value": "0x0"}, "2149": {"op": "NOT"}, "2150": {"op": "PUSH2", "value": "0x100", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2153": {"op": "PUSH1", "value": "0x1", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2155": {"op": "DUP9", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2156": {"op": "AND", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2157": {"op": "ISZERO", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2158": {"op": "MUL", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2159": {"op": "ADD", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2160": {"op": "SWAP1", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2161": {"op": "SWAP6", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2162": {"op": "AND", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2163": {"op": "SWAP5", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2164": {"op": "SWAP1", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2165": {"op": "SWAP5", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2166": {"op": "DIV", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2167": {"op": "SWAP4", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2168": {"op": "DUP5", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2169": {"op": "ADD", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2170": {"op": "DUP2", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2171": {"op": "SWAP1", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2172": {"op": "DIV", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2173": {"op": "DUP2", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2174": {"op": "MUL", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2175": {"op": "DUP3", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2176": {"op": "ADD", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2177": {"op": "DUP2", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2178": {"op": "ADD", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2179": {"op": "SWAP1", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2180": {"op": "SWAP3", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2181": {"op": "MSTORE", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2182": {"op": "DUP3", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2183": {"op": "DUP2", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2184": {"op": "MSTORE", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2185": {"op": "PUSH1", "value": "0x60", "path": "3", "offset": [5903, 5916], "fn": "ERC721.baseURI"}, "2187": {"op": "SWAP4", "path": "3", "offset": [5903, 5916], "fn": "ERC721.baseURI"}, "2188": {"op": "SWAP1", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2189": {"op": "SWAP3", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2190": {"op": "SWAP1", "path": "3", "offset": [5935, 5943], "fn": "ERC721.baseURI"}, "2191": {"op": "SWAP2", "path": "3", "offset": [5935, 5943], "fn": "ERC721.baseURI"}, "2192": {"op": "DUP4", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2193": {"op": "ADD", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2194": {"op": "DUP3", "path": "3", "offset": [5935, 5943], "fn": "ERC721.baseURI"}, "2195": {"op": "DUP3", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2196": {"op": "DUP1", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2197": {"op": "ISZERO", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2198": {"op": "PUSH2", "value": "0x60E", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2201": {"op": "JUMPI", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2202": {"op": "DUP1", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2203": {"op": "PUSH1", "value": "0x1F", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2205": {"op": "LT", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2206": {"op": "PUSH2", "value": "0x5E3", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2209": {"op": "JUMPI", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2210": {"op": "PUSH2", "value": "0x100", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2213": {"op": "DUP1", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2214": {"op": "DUP4", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2215": {"op": "SLOAD", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2216": {"op": "DIV", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2217": {"op": "MUL", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2218": {"op": "DUP4", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2219": {"op": "MSTORE", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2220": {"op": "SWAP2", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2221": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2223": {"op": "ADD", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2224": {"op": "SWAP2", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2225": {"op": "PUSH2", "value": "0x60E", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2228": {"op": "JUMP", "path": "3", "offset": [5928, 5943], "fn": "ERC721.baseURI"}, "2229": {"op": "JUMPDEST", "path": "3", "offset": [4005, 4223], "fn": "ERC721.balanceOf"}, "2230": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [4077, 4084], "fn": "ERC721.balanceOf"}, "2232": {"op": "PUSH1", "value": "0x1"}, "2234": {"op": "PUSH1", "value": "0x1"}, "2236": {"op": "PUSH1", "value": "0xA0"}, "2238": {"op": "SHL"}, "2239": {"op": "SUB"}, "2240": {"op": "DUP3", "path": "3", "offset": [4104, 4123], "fn": "ERC721.balanceOf", "statement": 14}, "2241": {"op": "AND", "path": "3", "offset": [4104, 4123], "fn": "ERC721.balanceOf", "branch": 111}, "2242": {"op": "PUSH2", "value": "0x8FC", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2245": {"op": "JUMPI", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf", "branch": 111}, "2246": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2248": {"op": "MLOAD", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2249": {"op": "PUSH3", "value": "0x461BCD"}, "2253": {"op": "PUSH1", "value": "0xE5"}, "2255": {"op": "SHL"}, "2256": {"op": "DUP2", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2257": {"op": "MSTORE", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2258": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2260": {"op": "ADD", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2261": {"op": "DUP1", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2262": {"op": "DUP1", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2263": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2265": {"op": "ADD", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2266": {"op": "DUP3", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2267": {"op": "DUP2", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2268": {"op": "SUB", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2269": {"op": "DUP3", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2270": {"op": "MSTORE", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2271": {"op": "PUSH1", "value": "0x2A", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2273": {"op": "DUP2", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2274": {"op": "MSTORE", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2275": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2277": {"op": "ADD", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2278": {"op": "DUP1", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2279": {"op": "PUSH2", "value": "0x1BFA", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2282": {"op": "PUSH1", "value": "0x2A", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2284": {"op": "SWAP2", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2285": {"op": "CODECOPY", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2286": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2288": {"op": "ADD", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2289": {"op": "SWAP2", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2290": {"op": "POP", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2291": {"op": "POP", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2292": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2294": {"op": "MLOAD", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2295": {"op": "DUP1", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2296": {"op": "SWAP2", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2297": {"op": "SUB", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2298": {"op": "SWAP1", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2299": {"op": "REVERT", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2300": {"op": "JUMPDEST", "path": "3", "offset": [4096, 4170], "fn": "ERC721.balanceOf"}, "2301": {"op": "PUSH1", "value": "0x1"}, "2303": {"op": "PUSH1", "value": "0x1"}, "2305": {"op": "PUSH1", "value": "0xA0"}, "2307": {"op": "SHL"}, "2308": {"op": "SUB"}, "2309": {"op": "DUP3", "path": "3", "offset": [4187, 4207], "fn": "ERC721.balanceOf", "statement": 15}, "2310": {"op": "AND", "path": "3", "offset": [4187, 4207], "fn": "ERC721.balanceOf"}, "2311": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [4187, 4207], "fn": "ERC721.balanceOf"}, "2313": {"op": "SWAP1", "path": "3", "offset": [4187, 4207], "fn": "ERC721.balanceOf"}, "2314": {"op": "DUP2", "path": "3", "offset": [4187, 4207], "fn": "ERC721.balanceOf"}, "2315": {"op": "MSTORE", "path": "3", "offset": [4187, 4207], "fn": "ERC721.balanceOf"}, "2316": {"op": "PUSH1", "value": "0x1", "path": "3", "offset": [4187, 4200], "fn": "ERC721.balanceOf"}, "2318": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [4187, 4207], "fn": "ERC721.balanceOf"}, "2320": {"op": "MSTORE", "path": "3", "offset": [4187, 4207], "fn": "ERC721.balanceOf"}, "2321": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [4187, 4207], "fn": "ERC721.balanceOf"}, "2323": {"op": "SWAP1", "path": "3", "offset": [4187, 4207], "fn": "ERC721.balanceOf"}, "2324": {"op": "KECCAK256", "path": "3", "offset": [4187, 4207], "fn": "ERC721.balanceOf"}, "2325": {"op": "PUSH2", "value": "0x7E9", "path": "3", "offset": [4187, 4216], "fn": "ERC721.balanceOf"}, "2328": {"op": "SWAP1", "path": "3", "offset": [4187, 4216], "fn": "ERC721.balanceOf"}, "2329": {"op": "PUSH2", "value": "0xE47", "path": "3", "offset": [4187, 4214], "fn": "ERC721.balanceOf"}, "2332": {"op": "JUMP", "jump": "i", "path": "3", "offset": [4187, 4216], "fn": "ERC721.balanceOf"}, "2333": {"op": "JUMPDEST", "path": "3", "offset": [4679, 4781], "fn": "ERC721.symbol"}, "2334": {"op": "PUSH1", "value": "0x7", "path": "3", "offset": [4767, 4774], "fn": "ERC721.symbol", "statement": 16}, "2336": {"op": "DUP1", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2337": {"op": "SLOAD", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2338": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2340": {"op": "DUP1", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2341": {"op": "MLOAD", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2342": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2344": {"op": "PUSH1", "value": "0x1F", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2346": {"op": "PUSH1", "value": "0x2", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2348": {"op": "PUSH1", "value": "0x0"}, "2350": {"op": "NOT"}, "2351": {"op": "PUSH2", "value": "0x100", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2354": {"op": "PUSH1", "value": "0x1", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2356": {"op": "DUP9", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2357": {"op": "AND", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2358": {"op": "ISZERO", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2359": {"op": "MUL", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2360": {"op": "ADD", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2361": {"op": "SWAP1", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2362": {"op": "SWAP6", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2363": {"op": "AND", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2364": {"op": "SWAP5", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2365": {"op": "SWAP1", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2366": {"op": "SWAP5", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2367": {"op": "DIV", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2368": {"op": "SWAP4", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2369": {"op": "DUP5", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2370": {"op": "ADD", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2371": {"op": "DUP2", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2372": {"op": "SWAP1", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2373": {"op": "DIV", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2374": {"op": "DUP2", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2375": {"op": "MUL", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2376": {"op": "DUP3", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2377": {"op": "ADD", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2378": {"op": "DUP2", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2379": {"op": "ADD", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2380": {"op": "SWAP1", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2381": {"op": "SWAP3", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2382": {"op": "MSTORE", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2383": {"op": "DUP3", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2384": {"op": "DUP2", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2385": {"op": "MSTORE", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2386": {"op": "PUSH1", "value": "0x60", "path": "3", "offset": [4735, 4748], "fn": "ERC721.symbol"}, "2388": {"op": "SWAP4", "path": "3", "offset": [4735, 4748], "fn": "ERC721.symbol"}, "2389": {"op": "SWAP1", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2390": {"op": "SWAP3", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2391": {"op": "SWAP1", "path": "3", "offset": [4767, 4774], "fn": "ERC721.symbol"}, "2392": {"op": "SWAP2", "path": "3", "offset": [4767, 4774], "fn": "ERC721.symbol"}, "2393": {"op": "DUP4", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2394": {"op": "ADD", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2395": {"op": "DUP3", "path": "3", "offset": [4767, 4774], "fn": "ERC721.symbol"}, "2396": {"op": "DUP3", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2397": {"op": "DUP1", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2398": {"op": "ISZERO", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2399": {"op": "PUSH2", "value": "0x60E", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2402": {"op": "JUMPI", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2403": {"op": "DUP1", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2404": {"op": "PUSH1", "value": "0x1F", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2406": {"op": "LT", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2407": {"op": "PUSH2", "value": "0x5E3", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2410": {"op": "JUMPI", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2411": {"op": "PUSH2", "value": "0x100", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2414": {"op": "DUP1", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2415": {"op": "DUP4", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2416": {"op": "SLOAD", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2417": {"op": "DIV", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2418": {"op": "MUL", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2419": {"op": "DUP4", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2420": {"op": "MSTORE", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2421": {"op": "SWAP2", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2422": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2424": {"op": "ADD", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2425": {"op": "SWAP2", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2426": {"op": "PUSH2", "value": "0x60E", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2429": {"op": "JUMP", "path": "3", "offset": [4760, 4774], "fn": "ERC721.symbol"}, "2430": {"op": "JUMPDEST", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "2431": {"op": "PUSH2", "value": "0x986", "path": "3", "offset": [7620, 7632], "fn": "ERC721.setApprovalForAll", "statement": 17}, "2434": {"op": "PUSH2", "value": "0xDD5", "path": "3", "offset": [7620, 7630], "fn": "ERC721.setApprovalForAll"}, "2437": {"op": "JUMP", "jump": "i", "path": "3", "offset": [7620, 7632], "fn": "ERC721.setApprovalForAll"}, "2438": {"op": "JUMPDEST", "path": "3", "offset": [7620, 7632], "fn": "ERC721.setApprovalForAll"}, "2439": {"op": "PUSH1", "value": "0x1"}, "2441": {"op": "PUSH1", "value": "0x1"}, "2443": {"op": "PUSH1", "value": "0xA0"}, "2445": {"op": "SHL"}, "2446": {"op": "SUB"}, "2447": {"op": "AND", "path": "3", "offset": [7608, 7632], "fn": "ERC721.setApprovalForAll"}, "2448": {"op": "DUP3", "path": "3", "offset": [7608, 7616], "fn": "ERC721.setApprovalForAll"}, "2449": {"op": "PUSH1", "value": "0x1"}, "2451": {"op": "PUSH1", "value": "0x1"}, "2453": {"op": "PUSH1", "value": "0xA0"}, "2455": {"op": "SHL"}, "2456": {"op": "SUB"}, "2457": {"op": "AND", "path": "3", "offset": [7608, 7632], "fn": "ERC721.setApprovalForAll"}, "2458": {"op": "EQ", "path": "3", "offset": [7608, 7632], "fn": "ERC721.setApprovalForAll"}, "2459": {"op": "ISZERO", "path": "3", "offset": [7608, 7632], "fn": "ERC721.setApprovalForAll", "branch": 112}, "2460": {"op": "PUSH2", "value": "0x9EC", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2463": {"op": "JUMPI", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll", "branch": 112}, "2464": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2466": {"op": "DUP1", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2467": {"op": "MLOAD", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2468": {"op": "PUSH3", "value": "0x461BCD"}, "2472": {"op": "PUSH1", "value": "0xE5"}, "2474": {"op": "SHL"}, "2475": {"op": "DUP2", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2476": {"op": "MSTORE", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2477": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2479": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2481": {"op": "DUP3", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2482": {"op": "ADD", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2483": {"op": "MSTORE", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2484": {"op": "PUSH1", "value": "0x19", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2486": {"op": "PUSH1", "value": "0x24", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2488": {"op": "DUP3", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2489": {"op": "ADD", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2490": {"op": "MSTORE", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2491": {"op": "PUSH32", "value": "0x4552433732313A20617070726F766520746F2063616C6C657200000000000000", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2524": {"op": "PUSH1", "value": "0x44", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2526": {"op": "DUP3", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2527": {"op": "ADD", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2528": {"op": "MSTORE", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2529": {"op": "SWAP1", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2530": {"op": "MLOAD", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2531": {"op": "SWAP1", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2532": {"op": "DUP2", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2533": {"op": "SWAP1", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2534": {"op": "SUB", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2535": {"op": "PUSH1", "value": "0x64", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2537": {"op": "ADD", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2538": {"op": "SWAP1", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2539": {"op": "REVERT", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2540": {"op": "JUMPDEST", "path": "3", "offset": [7600, 7662], "fn": "ERC721.setApprovalForAll"}, "2541": {"op": "DUP1", "path": "3", "offset": [7718, 7726], "fn": "ERC721.setApprovalForAll", "statement": 18}, "2542": {"op": "PUSH1", "value": "0x5", "path": "3", "offset": [7673, 7691], "fn": "ERC721.setApprovalForAll"}, "2544": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2546": {"op": "PUSH2", "value": "0x9F9", "path": "3", "offset": [7692, 7704], "fn": "ERC721.setApprovalForAll"}, "2549": {"op": "PUSH2", "value": "0xDD5", "path": "3", "offset": [7692, 7702], "fn": "ERC721.setApprovalForAll"}, "2552": {"op": "JUMP", "jump": "i", "path": "3", "offset": [7692, 7704], "fn": "ERC721.setApprovalForAll"}, "2553": {"op": "JUMPDEST", "path": "3", "offset": [7692, 7704], "fn": "ERC721.setApprovalForAll"}, "2554": {"op": "PUSH1", "value": "0x1"}, "2556": {"op": "PUSH1", "value": "0x1"}, "2558": {"op": "PUSH1", "value": "0xA0"}, "2560": {"op": "SHL"}, "2561": {"op": "SUB"}, "2562": {"op": "SWAP1", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2563": {"op": "DUP2", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2564": {"op": "AND", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2565": {"op": "DUP3", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2566": {"op": "MSTORE", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2567": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2569": {"op": "DUP1", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2570": {"op": "DUP4", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2571": {"op": "ADD", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2572": {"op": "SWAP4", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2573": {"op": "SWAP1", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2574": {"op": "SWAP4", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2575": {"op": "MSTORE", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2576": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2578": {"op": "SWAP2", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2579": {"op": "DUP3", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2580": {"op": "ADD", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2581": {"op": "PUSH1", "value": "0x0"}, "2583": {"op": "SWAP1", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2584": {"op": "DUP2", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2585": {"op": "KECCAK256", "path": "3", "offset": [7673, 7705], "fn": "ERC721.setApprovalForAll"}, "2586": {"op": "SWAP2", "path": "3", "offset": [7673, 7715], "fn": "ERC721.setApprovalForAll"}, "2587": {"op": "DUP8", "path": "3", "offset": [7673, 7715], "fn": "ERC721.setApprovalForAll"}, "2588": {"op": "AND", "path": "3", "offset": [7673, 7715], "fn": "ERC721.setApprovalForAll"}, "2589": {"op": "DUP1", "path": "3", "offset": [7673, 7715], "fn": "ERC721.setApprovalForAll"}, "2590": {"op": "DUP3", "path": "3", "offset": [7673, 7715], "fn": "ERC721.setApprovalForAll"}, "2591": {"op": "MSTORE", "path": "3", "offset": [7673, 7715], "fn": "ERC721.setApprovalForAll"}, "2592": {"op": "SWAP2", "path": "3", "offset": [7673, 7715], "fn": "ERC721.setApprovalForAll"}, "2593": {"op": "SWAP1", "path": "3", "offset": [7673, 7715], "fn": "ERC721.setApprovalForAll"}, "2594": {"op": "SWAP4", "path": "3", "offset": [7673, 7715], "fn": "ERC721.setApprovalForAll"}, "2595": {"op": "MSTORE", "path": "3", "offset": [7673, 7715], "fn": "ERC721.setApprovalForAll"}, "2596": {"op": "SWAP2", "path": "3", "offset": [7673, 7715], "fn": "ERC721.setApprovalForAll"}, "2597": {"op": "KECCAK256", "path": "3", "offset": [7673, 7715], "fn": "ERC721.setApprovalForAll"}, "2598": {"op": "DUP1", "path": "3", "offset": [7673, 7726], "fn": "ERC721.setApprovalForAll"}, "2599": {"op": "SLOAD", "path": "3", "offset": [7673, 7726], "fn": "ERC721.setApprovalForAll"}, "2600": {"op": "PUSH1", "value": "0xFF"}, "2602": {"op": "NOT"}, "2603": {"op": "AND", "path": "3", "offset": [7673, 7726], "fn": "ERC721.setApprovalForAll"}, "2604": {"op": "SWAP3", "path": "3", "offset": [7673, 7726], "fn": "ERC721.setApprovalForAll"}, "2605": {"op": "ISZERO", "path": "3", "offset": [7673, 7726], "fn": "ERC721.setApprovalForAll"}, "2606": {"op": "ISZERO", "path": "3", "offset": [7673, 7726], "fn": "ERC721.setApprovalForAll"}, "2607": {"op": "SWAP3", "path": "3", "offset": [7673, 7726], "fn": "ERC721.setApprovalForAll"}, "2608": {"op": "SWAP1", "path": "3", "offset": [7673, 7726], "fn": "ERC721.setApprovalForAll"}, "2609": {"op": "SWAP3", "path": "3", "offset": [7673, 7726], "fn": "ERC721.setApprovalForAll"}, "2610": {"op": "OR", "path": "3", "offset": [7673, 7726], "fn": "ERC721.setApprovalForAll"}, "2611": {"op": "SWAP1", "path": "3", "offset": [7673, 7726], "fn": "ERC721.setApprovalForAll"}, "2612": {"op": "SWAP2", "path": "3", "offset": [7673, 7726], "fn": "ERC721.setApprovalForAll"}, "2613": {"op": "SSTORE", "path": "3", "offset": [7673, 7726], "fn": "ERC721.setApprovalForAll"}, "2614": {"op": "PUSH2", "value": "0xA3D", "path": "3", "offset": [7756, 7768], "fn": "ERC721.setApprovalForAll", "statement": 19}, "2617": {"op": "PUSH2", "value": "0xDD5", "path": "3", "offset": [7756, 7766], "fn": "ERC721.setApprovalForAll"}, "2620": {"op": "JUMP", "jump": "i", "path": "3", "offset": [7756, 7768], "fn": "ERC721.setApprovalForAll"}, "2621": {"op": "JUMPDEST", "path": "3", "offset": [7756, 7768], "fn": "ERC721.setApprovalForAll"}, "2622": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2624": {"op": "DUP1", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2625": {"op": "MLOAD", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2626": {"op": "DUP5", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2627": {"op": "ISZERO", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2628": {"op": "ISZERO", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2629": {"op": "DUP2", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2630": {"op": "MSTORE", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2631": {"op": "SWAP1", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2632": {"op": "MLOAD", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2633": {"op": "PUSH1", "value": "0x1"}, "2635": {"op": "PUSH1", "value": "0x1"}, "2637": {"op": "PUSH1", "value": "0xA0"}, "2639": {"op": "SHL"}, "2640": {"op": "SUB"}, "2641": {"op": "SWAP3", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2642": {"op": "SWAP1", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2643": {"op": "SWAP3", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2644": {"op": "AND", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2645": {"op": "SWAP2", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2646": {"op": "PUSH32", "value": "0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2679": {"op": "SWAP2", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2680": {"op": "DUP2", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2681": {"op": "SWAP1", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2682": {"op": "SUB", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2683": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2685": {"op": "ADD", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2686": {"op": "SWAP1", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2687": {"op": "LOG3", "path": "3", "offset": [7741, 7789], "fn": "ERC721.setApprovalForAll"}, "2688": {"op": "POP", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "2689": {"op": "POP", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "2690": {"op": "JUMP", "jump": "o", "path": "3", "offset": [7506, 7796], "fn": "ERC721.setApprovalForAll"}, "2691": {"op": "JUMPDEST", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "2692": {"op": "PUSH1", "value": "0xA", "path": "13", "offset": [447, 459], "fn": "SimpleCollectible.createCollectible"}, "2694": {"op": "SLOAD", "path": "13", "offset": [447, 459], "fn": "SimpleCollectible.createCollectible"}, "2695": {"op": "PUSH1", "value": "0x0", "path": "13", "offset": [407, 414], "fn": "SimpleCollectible.createCollectible"}, "2697": {"op": "SWAP1", "path": "13", "offset": [407, 414], "fn": "SimpleCollectible.createCollectible"}, "2698": {"op": "PUSH2", "value": "0xA93", "path": "13", "offset": [469, 510], "fn": "SimpleCollectible.createCollectible", "statement": 20}, "2701": {"op": "DUP4", "path": "13", "offset": [487, 496], "fn": "SimpleCollectible.createCollectible"}, "2702": {"op": "DUP3", "path": "13", "offset": [447, 459], "fn": "SimpleCollectible.createCollectible"}, "2703": {"op": "PUSH2", "value": "0x1093", "path": "13", "offset": [469, 478], "fn": "SimpleCollectible.createCollectible"}, "2706": {"op": "JUMP", "jump": "i", "path": "13", "offset": [469, 510], "fn": "SimpleCollectible.createCollectible"}, "2707": {"op": "JUMPDEST", "path": "13", "offset": [469, 510], "fn": "SimpleCollectible.createCollectible"}, "2708": {"op": "PUSH2", "value": "0xA9D", "path": "13", "offset": [520, 554], "fn": "SimpleCollectible.createCollectible", "statement": 21}, "2711": {"op": "DUP2", "path": "13", "offset": [533, 543], "fn": "SimpleCollectible.createCollectible"}, "2712": {"op": "DUP6", "path": "13", "offset": [545, 553], "fn": "SimpleCollectible.createCollectible"}, "2713": {"op": "PUSH2", "value": "0x10B1", "path": "13", "offset": [520, 532], "fn": "SimpleCollectible.createCollectible"}, "2716": {"op": "JUMP", "jump": "i", "path": "13", "offset": [520, 554], "fn": "SimpleCollectible.createCollectible"}, "2717": {"op": "JUMPDEST", "path": "13", "offset": [520, 554], "fn": "SimpleCollectible.createCollectible"}, "2718": {"op": "PUSH1", "value": "0xA", "path": "13", "offset": [579, 591], "fn": "SimpleCollectible.createCollectible", "statement": 22}, "2720": {"op": "DUP1", "path": "13", "offset": [579, 591], "fn": "SimpleCollectible.createCollectible"}, "2721": {"op": "SLOAD", "path": "13", "offset": [579, 591], "fn": "SimpleCollectible.createCollectible"}, "2722": {"op": "PUSH1", "value": "0x1", "path": "13", "offset": [594, 595], "fn": "SimpleCollectible.createCollectible"}, "2724": {"op": "ADD", "path": "13", "offset": [579, 595], "fn": "SimpleCollectible.createCollectible"}, "2725": {"op": "SWAP1", "path": "13", "offset": [564, 595], "fn": "SimpleCollectible.createCollectible"}, "2726": {"op": "SSTORE", "path": "13", "offset": [564, 595], "fn": "SimpleCollectible.createCollectible"}, "2727": {"op": "SWAP4", "path": "13", "offset": [612, 622], "fn": "SimpleCollectible.createCollectible", "statement": 23}, "2728": {"op": "SWAP3", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "2729": {"op": "POP"}, "2730": {"op": "POP"}, "2731": {"op": "POP"}, "2732": {"op": "JUMP", "jump": "o", "path": "13", "offset": [299, 629], "fn": "SimpleCollectible.createCollectible"}, "2733": {"op": "JUMPDEST", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "2734": {"op": "PUSH2", "value": "0xABE", "path": "3", "offset": [8798, 8839], "fn": "ERC721.safeTransferFrom", "statement": 24}, "2737": {"op": "PUSH2", "value": "0xAB8", "path": "3", "offset": [8817, 8829], "fn": "ERC721.safeTransferFrom"}, "2740": {"op": "PUSH2", "value": "0xDD5", "path": "3", "offset": [8817, 8827], "fn": "ERC721.safeTransferFrom"}, "2743": {"op": "JUMP", "jump": "i", "path": "3", "offset": [8817, 8829], "fn": "ERC721.safeTransferFrom"}, "2744": {"op": "JUMPDEST", "path": "3", "offset": [8817, 8829], "fn": "ERC721.safeTransferFrom"}, "2745": {"op": "DUP4", "path": "3", "offset": [8831, 8838], "fn": "ERC721.safeTransferFrom"}, "2746": {"op": "PUSH2", "value": "0xE52", "path": "3", "offset": [8798, 8816], "fn": "ERC721.safeTransferFrom"}, "2749": {"op": "JUMP", "jump": "i", "path": "3", "offset": [8798, 8839], "fn": "ERC721.safeTransferFrom"}, "2750": {"op": "JUMPDEST", "path": "3", "offset": [8798, 8839], "fn": "ERC721.safeTransferFrom", "branch": 113}, "2751": {"op": "PUSH2", "value": "0xAF9", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2754": {"op": "JUMPI", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom", "branch": 113}, "2755": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2757": {"op": "MLOAD", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2758": {"op": "PUSH3", "value": "0x461BCD"}, "2762": {"op": "PUSH1", "value": "0xE5"}, "2764": {"op": "SHL"}, "2765": {"op": "DUP2", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2766": {"op": "MSTORE", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2767": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2769": {"op": "ADD", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2770": {"op": "DUP1", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2771": {"op": "DUP1", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2772": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2774": {"op": "ADD", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2775": {"op": "DUP3", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2776": {"op": "DUP2", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2777": {"op": "SUB", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2778": {"op": "DUP3", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2779": {"op": "MSTORE", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2780": {"op": "PUSH1", "value": "0x31", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2782": {"op": "DUP2", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2783": {"op": "MSTORE", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2784": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2786": {"op": "ADD", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2787": {"op": "DUP1", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2788": {"op": "PUSH2", "value": "0x1D40", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2791": {"op": "PUSH1", "value": "0x31", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2793": {"op": "SWAP2", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2794": {"op": "CODECOPY", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2795": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2797": {"op": "ADD", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2798": {"op": "SWAP2", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2799": {"op": "POP", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2800": {"op": "POP", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2801": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2803": {"op": "MLOAD", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2804": {"op": "DUP1", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2805": {"op": "SWAP2", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2806": {"op": "SUB", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2807": {"op": "SWAP1", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2808": {"op": "REVERT", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2809": {"op": "JUMPDEST", "path": "3", "offset": [8790, 8893], "fn": "ERC721.safeTransferFrom"}, "2810": {"op": "PUSH2", "value": "0xB05", "path": "3", "offset": [8903, 8942], "fn": "ERC721.safeTransferFrom", "statement": 25}, "2813": {"op": "DUP5", "path": "3", "offset": [8917, 8921], "fn": "ERC721.safeTransferFrom"}, "2814": {"op": "DUP5", "path": "3", "offset": [8923, 8925], "fn": "ERC721.safeTransferFrom"}, "2815": {"op": "DUP5", "path": "3", "offset": [8927, 8934], "fn": "ERC721.safeTransferFrom"}, "2816": {"op": "DUP5", "path": "3", "offset": [8936, 8941], "fn": "ERC721.safeTransferFrom"}, "2817": {"op": "PUSH2", "value": "0x1114", "path": "3", "offset": [8903, 8916], "fn": "ERC721.safeTransferFrom"}, "2820": {"op": "JUMP", "jump": "i", "path": "3", "offset": [8903, 8942], "fn": "ERC721.safeTransferFrom"}, "2821": {"op": "JUMPDEST", "path": "3", "offset": [8903, 8942], "fn": "ERC721.safeTransferFrom"}, "2822": {"op": "POP", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "2823": {"op": "POP", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "2824": {"op": "POP", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "2825": {"op": "POP", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "2826": {"op": "JUMP", "jump": "o", "path": "3", "offset": [8667, 8949], "fn": "ERC721.safeTransferFrom"}, "2827": {"op": "JUMPDEST", "path": "3", "offset": [4847, 5623], "fn": "ERC721.tokenURI"}, "2828": {"op": "PUSH1", "value": "0x60", "path": "3", "offset": [4920, 4933], "fn": "ERC721.tokenURI"}, "2830": {"op": "PUSH2", "value": "0xB16", "path": "3", "offset": [4953, 4969], "fn": "ERC721.tokenURI", "statement": 26}, "2833": {"op": "DUP3", "path": "3", "offset": [4961, 4968], "fn": "ERC721.tokenURI"}, "2834": {"op": "PUSH2", "value": "0xDC2", "path": "3", "offset": [4953, 4960], "fn": "ERC721.tokenURI"}, "2837": {"op": "JUMP", "jump": "i", "path": "3", "offset": [4953, 4969], "fn": "ERC721.tokenURI"}, "2838": {"op": "JUMPDEST", "path": "3", "offset": [4953, 4969], "fn": "ERC721.tokenURI", "branch": 114}, "2839": {"op": "PUSH2", "value": "0xB51", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2842": {"op": "JUMPI", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI", "branch": 114}, "2843": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2845": {"op": "MLOAD", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2846": {"op": "PUSH3", "value": "0x461BCD"}, "2850": {"op": "PUSH1", "value": "0xE5"}, "2852": {"op": "SHL"}, "2853": {"op": "DUP2", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2854": {"op": "MSTORE", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2855": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2857": {"op": "ADD", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2858": {"op": "DUP1", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2859": {"op": "DUP1", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2860": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2862": {"op": "ADD", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2863": {"op": "DUP3", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2864": {"op": "DUP2", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2865": {"op": "SUB", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2866": {"op": "DUP3", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2867": {"op": "MSTORE", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2868": {"op": "PUSH1", "value": "0x2F", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2870": {"op": "DUP2", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2871": {"op": "MSTORE", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2872": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2874": {"op": "ADD", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2875": {"op": "DUP1", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2876": {"op": "PUSH2", "value": "0x1CF0", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2879": {"op": "PUSH1", "value": "0x2F", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2881": {"op": "SWAP2", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2882": {"op": "CODECOPY", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2883": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2885": {"op": "ADD", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2886": {"op": "SWAP2", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2887": {"op": "POP", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2888": {"op": "POP", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2889": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2891": {"op": "MLOAD", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2892": {"op": "DUP1", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2893": {"op": "SWAP2", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2894": {"op": "SUB", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2895": {"op": "SWAP1", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2896": {"op": "REVERT", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2897": {"op": "JUMPDEST", "path": "3", "offset": [4945, 5021], "fn": "ERC721.tokenURI"}, "2898": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [5058, 5077], "fn": "ERC721.tokenURI"}, "2900": {"op": "DUP3", "path": "3", "offset": [5058, 5077], "fn": "ERC721.tokenURI"}, "2901": {"op": "DUP2", "path": "3", "offset": [5058, 5077], "fn": "ERC721.tokenURI"}, "2902": {"op": "MSTORE", "path": "3", "offset": [5058, 5077], "fn": "ERC721.tokenURI"}, "2903": {"op": "PUSH1", "value": "0x8", "path": "3", "offset": [5058, 5068], "fn": "ERC721.tokenURI"}, "2905": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [5058, 5077], "fn": "ERC721.tokenURI"}, "2907": {"op": "SWAP1", "path": "3", "offset": [5058, 5077], "fn": "ERC721.tokenURI"}, "2908": {"op": "DUP2", "path": "3", "offset": [5058, 5077], "fn": "ERC721.tokenURI"}, "2909": {"op": "MSTORE", "path": "3", "offset": [5058, 5077], "fn": "ERC721.tokenURI"}, "2910": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [5058, 5077], "fn": "ERC721.tokenURI"}, "2912": {"op": "SWAP2", "path": "3", "offset": [5058, 5077], "fn": "ERC721.tokenURI"}, "2913": {"op": "DUP3", "path": "3", "offset": [5058, 5077], "fn": "ERC721.tokenURI"}, "2914": {"op": "SWAP1", "path": "3", "offset": [5058, 5077], "fn": "ERC721.tokenURI"}, "2915": {"op": "KECCAK256", "path": "3", "offset": [5058, 5077], "fn": "ERC721.tokenURI"}, "2916": {"op": "DUP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2917": {"op": "SLOAD", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2918": {"op": "DUP4", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2919": {"op": "MLOAD", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2920": {"op": "PUSH1", "value": "0x1F", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2922": {"op": "PUSH1", "value": "0x2", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2924": {"op": "PUSH1", "value": "0x0"}, "2926": {"op": "NOT"}, "2927": {"op": "PUSH2", "value": "0x100", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2930": {"op": "PUSH1", "value": "0x1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2932": {"op": "DUP7", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2933": {"op": "AND", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2934": {"op": "ISZERO", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2935": {"op": "MUL", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2936": {"op": "ADD", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2937": {"op": "SWAP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2938": {"op": "SWAP4", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2939": {"op": "AND", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2940": {"op": "SWAP3", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2941": {"op": "SWAP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2942": {"op": "SWAP3", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2943": {"op": "DIV", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2944": {"op": "SWAP2", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2945": {"op": "DUP3", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2946": {"op": "ADD", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2947": {"op": "DUP5", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2948": {"op": "SWAP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2949": {"op": "DIV", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2950": {"op": "DUP5", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2951": {"op": "MUL", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2952": {"op": "DUP2", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2953": {"op": "ADD", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2954": {"op": "DUP5", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2955": {"op": "ADD", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2956": {"op": "SWAP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2957": {"op": "SWAP5", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2958": {"op": "MSTORE", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2959": {"op": "DUP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2960": {"op": "DUP5", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2961": {"op": "MSTORE", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2962": {"op": "PUSH1", "value": "0x60", "path": "3", "offset": [5032, 5055], "fn": "ERC721.tokenURI"}, "2964": {"op": "SWAP4", "path": "3", "offset": [5032, 5055], "fn": "ERC721.tokenURI"}, "2965": {"op": "SWAP3", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2966": {"op": "DUP4", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2967": {"op": "ADD", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2968": {"op": "DUP3", "path": "3", "offset": [5058, 5077], "fn": "ERC721.tokenURI"}, "2969": {"op": "DUP3", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2970": {"op": "DUP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2971": {"op": "ISZERO", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2972": {"op": "PUSH2", "value": "0xBE6", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2975": {"op": "JUMPI", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2976": {"op": "DUP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2977": {"op": "PUSH1", "value": "0x1F", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2979": {"op": "LT", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2980": {"op": "PUSH2", "value": "0xBBB", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2983": {"op": "JUMPI", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2984": {"op": "PUSH2", "value": "0x100", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2987": {"op": "DUP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2988": {"op": "DUP4", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2989": {"op": "SLOAD", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2990": {"op": "DIV", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2991": {"op": "MUL", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2992": {"op": "DUP4", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2993": {"op": "MSTORE", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2994": {"op": "SWAP2", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2995": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2997": {"op": "ADD", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2998": {"op": "SWAP2", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "2999": {"op": "PUSH2", "value": "0xBE6", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3002": {"op": "JUMP", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3003": {"op": "JUMPDEST", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3004": {"op": "DUP3", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3005": {"op": "ADD", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3006": {"op": "SWAP2", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3007": {"op": "SWAP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3008": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3010": {"op": "MSTORE", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3011": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3013": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3015": {"op": "KECCAK256", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3016": {"op": "SWAP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3017": {"op": "JUMPDEST", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3018": {"op": "DUP2", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3019": {"op": "SLOAD", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3020": {"op": "DUP2", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3021": {"op": "MSTORE", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3022": {"op": "SWAP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3023": {"op": "PUSH1", "value": "0x1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3025": {"op": "ADD", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3026": {"op": "SWAP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3027": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3029": {"op": "ADD", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3030": {"op": "DUP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3031": {"op": "DUP4", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3032": {"op": "GT", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3033": {"op": "PUSH2", "value": "0xBC9", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3036": {"op": "JUMPI", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3037": {"op": "DUP3", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3038": {"op": "SWAP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3039": {"op": "SUB", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3040": {"op": "PUSH1", "value": "0x1F", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3042": {"op": "AND", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3043": {"op": "DUP3", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3044": {"op": "ADD", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3045": {"op": "SWAP2", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3046": {"op": "JUMPDEST", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3047": {"op": "POP", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3048": {"op": "POP", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3049": {"op": "POP", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3050": {"op": "POP", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3051": {"op": "POP", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3052": {"op": "SWAP1", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3053": {"op": "POP", "path": "3", "offset": [5032, 5077], "fn": "ERC721.tokenURI"}, "3054": {"op": "PUSH1", "value": "0x60", "path": "3", "offset": [5087, 5105], "fn": "ERC721.tokenURI"}, "3056": {"op": "PUSH2", "value": "0xBF7", "path": "3", "offset": [5108, 5117], "fn": "ERC721.tokenURI"}, "3059": {"op": "PUSH2", "value": "0x854", "path": "3", "offset": [5108, 5115], "fn": "ERC721.tokenURI"}, "3062": {"op": "JUMP", "jump": "i", "path": "3", "offset": [5108, 5117], "fn": "ERC721.tokenURI"}, "3063": {"op": "JUMPDEST", "path": "3", "offset": [5108, 5117], "fn": "ERC721.tokenURI"}, "3064": {"op": "SWAP1", "path": "3", "offset": [5087, 5117], "fn": "ERC721.tokenURI"}, "3065": {"op": "POP", "path": "3", "offset": [5087, 5117], "fn": "ERC721.tokenURI"}, "3066": {"op": "DUP1", "path": "3", "offset": [5196, 5200], "fn": "ERC721.tokenURI"}, "3067": {"op": "MLOAD", "path": "3", "offset": [5190, 5208], "fn": "ERC721.tokenURI"}, "3068": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [5212, 5213], "fn": "ERC721.tokenURI"}, "3070": {"op": "EQ", "path": "3", "offset": [5190, 5213], "fn": "ERC721.tokenURI", "branch": 115}, "3071": {"op": "ISZERO", "path": "3", "offset": [5186, 5256], "fn": "ERC721.tokenURI"}, "3072": {"op": "PUSH2", "value": "0xC0B", "path": "3", "offset": [5186, 5256], "fn": "ERC721.tokenURI"}, "3075": {"op": "JUMPI", "path": "3", "offset": [5186, 5256], "fn": "ERC721.tokenURI", "branch": 115}, "3076": {"op": "POP"}, "3077": {"op": "SWAP1", "path": "3", "offset": [5236, 5245], "fn": "ERC721.tokenURI", "statement": 27}, "3078": {"op": "POP"}, "3079": {"op": "PUSH2", "value": "0x57D", "path": "3", "offset": [5229, 5245], "fn": "ERC721.tokenURI"}, "3082": {"op": "JUMP", "path": "3", "offset": [5229, 5245], "fn": "ERC721.tokenURI"}, "3083": {"op": "JUMPDEST", "path": "3", "offset": [5186, 5256], "fn": "ERC721.tokenURI"}, "3084": {"op": "DUP2", "path": "3", "offset": [5358, 5381], "fn": "ERC721.tokenURI"}, "3085": {"op": "MLOAD", "path": "3", "offset": [5358, 5381], "fn": "ERC721.tokenURI"}, "3086": {"op": "ISZERO", "path": "3", "offset": [5358, 5385], "fn": "ERC721.tokenURI", "branch": 116}, "3087": {"op": "PUSH2", "value": "0xCCC", "path": "3", "offset": [5354, 5460], "fn": "ERC721.tokenURI"}, "3090": {"op": "JUMPI", "path": "3", "offset": [5354, 5460], "fn": "ERC721.tokenURI", "branch": 116}, "3091": {"op": "DUP1", "path": "3", "offset": [5432, 5436], "fn": "ERC721.tokenURI", "statement": 28}, "3092": {"op": "DUP3", "path": "3", "offset": [5438, 5447], "fn": "ERC721.tokenURI"}, "3093": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3095": {"op": "MLOAD", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3096": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3098": {"op": "ADD", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3099": {"op": "DUP1", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3100": {"op": "DUP4", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3101": {"op": "DUP1", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3102": {"op": "MLOAD", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3103": {"op": "SWAP1", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3104": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3106": {"op": "ADD", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3107": {"op": "SWAP1", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3108": {"op": "DUP1", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3109": {"op": "DUP4", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3110": {"op": "DUP4", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3111": {"op": "JUMPDEST"}, "3112": {"op": "PUSH1", "value": "0x20"}, "3114": {"op": "DUP4"}, "3115": {"op": "LT"}, "3116": {"op": "PUSH2", "value": "0xC46"}, "3119": {"op": "JUMPI"}, "3120": {"op": "DUP1"}, "3121": {"op": "MLOAD"}, "3122": {"op": "DUP3"}, "3123": {"op": "MSTORE"}, "3124": {"op": "PUSH1", "value": "0x1F"}, "3126": {"op": "NOT"}, "3127": {"op": "SWAP1"}, "3128": {"op": "SWAP3"}, "3129": {"op": "ADD"}, "3130": {"op": "SWAP2"}, "3131": {"op": "PUSH1", "value": "0x20"}, "3133": {"op": "SWAP2"}, "3134": {"op": "DUP3"}, "3135": {"op": "ADD"}, "3136": {"op": "SWAP2"}, "3137": {"op": "ADD"}, "3138": {"op": "PUSH2", "value": "0xC27"}, "3141": {"op": "JUMP"}, "3142": {"op": "JUMPDEST"}, "3143": {"op": "MLOAD"}, "3144": {"op": "DUP2"}, "3145": {"op": "MLOAD"}, "3146": {"op": "PUSH1", "value": "0x20"}, "3148": {"op": "SWAP4"}, "3149": {"op": "DUP5"}, "3150": {"op": "SUB"}, "3151": {"op": "PUSH2", "value": "0x100"}, "3154": {"op": "EXP"}, "3155": {"op": "PUSH1", "value": "0x0"}, "3157": {"op": "NOT"}, "3158": {"op": "ADD"}, "3159": {"op": "DUP1"}, "3160": {"op": "NOT"}, "3161": {"op": "SWAP1"}, "3162": {"op": "SWAP3"}, "3163": {"op": "AND"}, "3164": {"op": "SWAP2"}, "3165": {"op": "AND"}, "3166": {"op": "OR"}, "3167": {"op": "SWAP1"}, "3168": {"op": "MSTORE"}, "3169": {"op": "DUP6", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3170": {"op": "MLOAD", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3171": {"op": "SWAP2", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3172": {"op": "SWAP1", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3173": {"op": "SWAP4", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3174": {"op": "ADD", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3175": {"op": "SWAP3", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3176": {"op": "DUP6", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3177": {"op": "ADD", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3178": {"op": "SWAP2", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3179": {"op": "POP"}, "3180": {"op": "DUP1", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3181": {"op": "DUP4", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3182": {"op": "DUP4", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3183": {"op": "JUMPDEST"}, "3184": {"op": "PUSH1", "value": "0x20"}, "3186": {"op": "DUP4"}, "3187": {"op": "LT"}, "3188": {"op": "PUSH2", "value": "0xC8E"}, "3191": {"op": "JUMPI"}, "3192": {"op": "DUP1"}, "3193": {"op": "MLOAD"}, "3194": {"op": "DUP3"}, "3195": {"op": "MSTORE"}, "3196": {"op": "PUSH1", "value": "0x1F"}, "3198": {"op": "NOT"}, "3199": {"op": "SWAP1"}, "3200": {"op": "SWAP3"}, "3201": {"op": "ADD"}, "3202": {"op": "SWAP2"}, "3203": {"op": "PUSH1", "value": "0x20"}, "3205": {"op": "SWAP2"}, "3206": {"op": "DUP3"}, "3207": {"op": "ADD"}, "3208": {"op": "SWAP2"}, "3209": {"op": "ADD"}, "3210": {"op": "PUSH2", "value": "0xC6F"}, "3213": {"op": "JUMP"}, "3214": {"op": "JUMPDEST"}, "3215": {"op": "PUSH1", "value": "0x1"}, "3217": {"op": "DUP4"}, "3218": {"op": "PUSH1", "value": "0x20"}, "3220": {"op": "SUB"}, "3221": {"op": "PUSH2", "value": "0x100"}, "3224": {"op": "EXP"}, "3225": {"op": "SUB"}, "3226": {"op": "DUP1"}, "3227": {"op": "NOT"}, "3228": {"op": "DUP3"}, "3229": {"op": "MLOAD"}, "3230": {"op": "AND"}, "3231": {"op": "DUP2"}, "3232": {"op": "DUP5"}, "3233": {"op": "MLOAD"}, "3234": {"op": "AND"}, "3235": {"op": "DUP1"}, "3236": {"op": "DUP3"}, "3237": {"op": "OR"}, "3238": {"op": "DUP6"}, "3239": {"op": "MSTORE"}, "3240": {"op": "POP"}, "3241": {"op": "POP"}, "3242": {"op": "POP"}, "3243": {"op": "POP", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3244": {"op": "POP", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3245": {"op": "POP", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3246": {"op": "SWAP1", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3247": {"op": "POP", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3248": {"op": "ADD", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3249": {"op": "SWAP3", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3250": {"op": "POP", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3251": {"op": "POP", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3252": {"op": "POP", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3253": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3255": {"op": "MLOAD", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3256": {"op": "PUSH1", "value": "0x20"}, "3258": {"op": "DUP2"}, "3259": {"op": "DUP4"}, "3260": {"op": "SUB"}, "3261": {"op": "SUB"}, "3262": {"op": "DUP2"}, "3263": {"op": "MSTORE"}, "3264": {"op": "SWAP1", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3265": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3267": {"op": "MSTORE", "path": "3", "offset": [5415, 5448], "fn": "ERC721.tokenURI"}, "3268": {"op": "SWAP3", "path": "3", "offset": [5401, 5449], "fn": "ERC721.tokenURI"}, "3269": {"op": "POP", "path": "3", "offset": [5401, 5449], "fn": "ERC721.tokenURI"}, "3270": {"op": "POP", "path": "3", "offset": [5401, 5449], "fn": "ERC721.tokenURI"}, "3271": {"op": "POP", "path": "3", "offset": [5401, 5449], "fn": "ERC721.tokenURI"}, "3272": {"op": "PUSH2", "value": "0x57D", "path": "3", "offset": [5401, 5449], "fn": "ERC721.tokenURI"}, "3275": {"op": "JUMP", "path": "3", "offset": [5401, 5449], "fn": "ERC721.tokenURI"}, "3276": {"op": "JUMPDEST", "path": "3", "offset": [5354, 5460], "fn": "ERC721.tokenURI"}, "3277": {"op": "DUP1", "path": "3", "offset": [5590, 5594], "fn": "ERC721.tokenURI", "statement": 29}, "3278": {"op": "PUSH2", "value": "0xCD6", "path": "3", "offset": [5596, 5614], "fn": "ERC721.tokenURI"}, "3281": {"op": "DUP6", "path": "3", "offset": [5596, 5603], "fn": "ERC721.tokenURI"}, "3282": {"op": "PUSH2", "value": "0x1166", "path": "3", "offset": [5596, 5612], "fn": "ERC721.tokenURI"}, "3285": {"op": "JUMP", "jump": "i", "path": "3", "offset": [5596, 5614], "fn": "ERC721.tokenURI"}, "3286": {"op": "JUMPDEST", "path": "3", "offset": [5596, 5614], "fn": "ERC721.tokenURI"}, "3287": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3289": {"op": "MLOAD", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3290": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3292": {"op": "ADD", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3293": {"op": "DUP1", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3294": {"op": "DUP4", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3295": {"op": "DUP1", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3296": {"op": "MLOAD", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3297": {"op": "SWAP1", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3298": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3300": {"op": "ADD", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3301": {"op": "SWAP1", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3302": {"op": "DUP1", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3303": {"op": "DUP4", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3304": {"op": "DUP4", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3305": {"op": "JUMPDEST"}, "3306": {"op": "PUSH1", "value": "0x20"}, "3308": {"op": "DUP4"}, "3309": {"op": "LT"}, "3310": {"op": "PUSH2", "value": "0xD08"}, "3313": {"op": "JUMPI"}, "3314": {"op": "DUP1"}, "3315": {"op": "MLOAD"}, "3316": {"op": "DUP3"}, "3317": {"op": "MSTORE"}, "3318": {"op": "PUSH1", "value": "0x1F"}, "3320": {"op": "NOT"}, "3321": {"op": "SWAP1"}, "3322": {"op": "SWAP3"}, "3323": {"op": "ADD"}, "3324": {"op": "SWAP2"}, "3325": {"op": "PUSH1", "value": "0x20"}, "3327": {"op": "SWAP2"}, "3328": {"op": "DUP3"}, "3329": {"op": "ADD"}, "3330": {"op": "SWAP2"}, "3331": {"op": "ADD"}, "3332": {"op": "PUSH2", "value": "0xCE9"}, "3335": {"op": "JUMP"}, "3336": {"op": "JUMPDEST"}, "3337": {"op": "MLOAD"}, "3338": {"op": "DUP2"}, "3339": {"op": "MLOAD"}, "3340": {"op": "PUSH1", "value": "0x20"}, "3342": {"op": "SWAP4"}, "3343": {"op": "DUP5"}, "3344": {"op": "SUB"}, "3345": {"op": "PUSH2", "value": "0x100"}, "3348": {"op": "EXP"}, "3349": {"op": "PUSH1", "value": "0x0"}, "3351": {"op": "NOT"}, "3352": {"op": "ADD"}, "3353": {"op": "DUP1"}, "3354": {"op": "NOT"}, "3355": {"op": "SWAP1"}, "3356": {"op": "SWAP3"}, "3357": {"op": "AND"}, "3358": {"op": "SWAP2"}, "3359": {"op": "AND"}, "3360": {"op": "OR"}, "3361": {"op": "SWAP1"}, "3362": {"op": "MSTORE"}, "3363": {"op": "DUP6", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3364": {"op": "MLOAD", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3365": {"op": "SWAP2", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3366": {"op": "SWAP1", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3367": {"op": "SWAP4", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3368": {"op": "ADD", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3369": {"op": "SWAP3", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3370": {"op": "DUP6", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3371": {"op": "ADD", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3372": {"op": "SWAP2", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3373": {"op": "POP"}, "3374": {"op": "DUP1", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3375": {"op": "DUP4", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3376": {"op": "DUP4", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3377": {"op": "JUMPDEST"}, "3378": {"op": "PUSH1", "value": "0x20"}, "3380": {"op": "DUP4"}, "3381": {"op": "LT"}, "3382": {"op": "PUSH2", "value": "0xD50"}, "3385": {"op": "JUMPI"}, "3386": {"op": "DUP1"}, "3387": {"op": "MLOAD"}, "3388": {"op": "DUP3"}, "3389": {"op": "MSTORE"}, "3390": {"op": "PUSH1", "value": "0x1F"}, "3392": {"op": "NOT"}, "3393": {"op": "SWAP1"}, "3394": {"op": "SWAP3"}, "3395": {"op": "ADD"}, "3396": {"op": "SWAP2"}, "3397": {"op": "PUSH1", "value": "0x20"}, "3399": {"op": "SWAP2"}, "3400": {"op": "DUP3"}, "3401": {"op": "ADD"}, "3402": {"op": "SWAP2"}, "3403": {"op": "ADD"}, "3404": {"op": "PUSH2", "value": "0xD31"}, "3407": {"op": "JUMP"}, "3408": {"op": "JUMPDEST"}, "3409": {"op": "PUSH1", "value": "0x1"}, "3411": {"op": "DUP4"}, "3412": {"op": "PUSH1", "value": "0x20"}, "3414": {"op": "SUB"}, "3415": {"op": "PUSH2", "value": "0x100"}, "3418": {"op": "EXP"}, "3419": {"op": "SUB"}, "3420": {"op": "DUP1"}, "3421": {"op": "NOT"}, "3422": {"op": "DUP3"}, "3423": {"op": "MLOAD"}, "3424": {"op": "AND"}, "3425": {"op": "DUP2"}, "3426": {"op": "DUP5"}, "3427": {"op": "MLOAD"}, "3428": {"op": "AND"}, "3429": {"op": "DUP1"}, "3430": {"op": "DUP3"}, "3431": {"op": "OR"}, "3432": {"op": "DUP6"}, "3433": {"op": "MSTORE"}, "3434": {"op": "POP"}, "3435": {"op": "POP"}, "3436": {"op": "POP"}, "3437": {"op": "POP", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3438": {"op": "POP", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3439": {"op": "POP", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3440": {"op": "SWAP1", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3441": {"op": "POP", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3442": {"op": "ADD", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3443": {"op": "SWAP3", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3444": {"op": "POP", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3445": {"op": "POP", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3446": {"op": "POP", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3447": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3449": {"op": "MLOAD", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3450": {"op": "PUSH1", "value": "0x20"}, "3452": {"op": "DUP2"}, "3453": {"op": "DUP4"}, "3454": {"op": "SUB"}, "3455": {"op": "SUB"}, "3456": {"op": "DUP2"}, "3457": {"op": "MSTORE"}, "3458": {"op": "SWAP1", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3459": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3461": {"op": "MSTORE", "path": "3", "offset": [5573, 5615], "fn": "ERC721.tokenURI"}, "3462": {"op": "SWAP3", "path": "3", "offset": [5559, 5616], "fn": "ERC721.tokenURI"}, "3463": {"op": "POP", "path": "3", "offset": [5559, 5616], "fn": "ERC721.tokenURI"}, "3464": {"op": "POP", "path": "3", "offset": [5559, 5616], "fn": "ERC721.tokenURI"}, "3465": {"op": "POP", "path": "3", "offset": [5559, 5616], "fn": "ERC721.tokenURI"}, "3466": {"op": "SWAP2", "path": "3", "offset": [4847, 5623], "fn": "ERC721.tokenURI"}, "3467": {"op": "SWAP1", "path": "3", "offset": [4847, 5623], "fn": "ERC721.tokenURI"}, "3468": {"op": "POP", "path": "3", "offset": [4847, 5623], "fn": "ERC721.tokenURI"}, "3469": {"op": "JUMP", "jump": "o", "path": "3", "offset": [4847, 5623], "fn": "ERC721.tokenURI"}, "3470": {"op": "JUMPDEST", "path": "13", "offset": [158, 185]}, "3471": {"op": "PUSH1", "value": "0xA", "path": "13", "offset": [158, 185], "fn": "ERC721.tokenURI"}, "3473": {"op": "SLOAD", "path": "13", "offset": [158, 185], "fn": "ERC721.tokenURI"}, "3474": {"op": "DUP2", "path": "13", "offset": [158, 185], "fn": "ERC721.tokenURI"}, "3475": {"op": "JUMP", "jump": "o", "path": "13", "offset": [158, 185], "fn": "ERC721.tokenURI"}, "3476": {"op": "JUMPDEST", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "3477": {"op": "PUSH1", "value": "0x1"}, "3479": {"op": "PUSH1", "value": "0x1"}, "3481": {"op": "PUSH1", "value": "0xA0"}, "3483": {"op": "SHL"}, "3484": {"op": "SUB"}, "3485": {"op": "SWAP2", "path": "3", "offset": [7982, 8007], "fn": "ERC721.isApprovedForAll", "statement": 30}, "3486": {"op": "DUP3", "path": "3", "offset": [7982, 8007], "fn": "ERC721.isApprovedForAll"}, "3487": {"op": "AND", "path": "3", "offset": [7982, 8007], "fn": "ERC721.isApprovedForAll"}, "3488": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [7959, 7963], "fn": "ERC721.isApprovedForAll"}, "3490": {"op": "SWAP1", "path": "3", "offset": [7982, 8007], "fn": "ERC721.isApprovedForAll"}, "3491": {"op": "DUP2", "path": "3", "offset": [7982, 8007], "fn": "ERC721.isApprovedForAll"}, "3492": {"op": "MSTORE", "path": "3", "offset": [7982, 8007], "fn": "ERC721.isApprovedForAll"}, "3493": {"op": "PUSH1", "value": "0x5", "path": "3", "offset": [7982, 8000], "fn": "ERC721.isApprovedForAll"}, "3495": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [7982, 8007], "fn": "ERC721.isApprovedForAll"}, "3497": {"op": "SWAP1", "path": "3", "offset": [7982, 8007], "fn": "ERC721.isApprovedForAll"}, "3498": {"op": "DUP2", "path": "3", "offset": [7982, 8007], "fn": "ERC721.isApprovedForAll"}, "3499": {"op": "MSTORE", "path": "3", "offset": [7982, 8007], "fn": "ERC721.isApprovedForAll"}, "3500": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [7982, 8007], "fn": "ERC721.isApprovedForAll"}, "3502": {"op": "DUP1", "path": "3", "offset": [7982, 8007], "fn": "ERC721.isApprovedForAll"}, "3503": {"op": "DUP4", "path": "3", "offset": [7982, 8007], "fn": "ERC721.isApprovedForAll"}, "3504": {"op": "KECCAK256", "path": "3", "offset": [7982, 8007], "fn": "ERC721.isApprovedForAll"}, "3505": {"op": "SWAP4", "path": "3", "offset": [7982, 8017], "fn": "ERC721.isApprovedForAll"}, "3506": {"op": "SWAP1", "path": "3", "offset": [7982, 8017], "fn": "ERC721.isApprovedForAll"}, "3507": {"op": "SWAP5", "path": "3", "offset": [7982, 8017], "fn": "ERC721.isApprovedForAll"}, "3508": {"op": "AND", "path": "3", "offset": [7982, 8017], "fn": "ERC721.isApprovedForAll"}, "3509": {"op": "DUP3", "path": "3", "offset": [7982, 8017], "fn": "ERC721.isApprovedForAll"}, "3510": {"op": "MSTORE", "path": "3", "offset": [7982, 8017], "fn": "ERC721.isApprovedForAll"}, "3511": {"op": "SWAP2", "path": "3", "offset": [7982, 8017], "fn": "ERC721.isApprovedForAll"}, "3512": {"op": "SWAP1", "path": "3", "offset": [7982, 8017], "fn": "ERC721.isApprovedForAll"}, "3513": {"op": "SWAP2", "path": "3", "offset": [7982, 8017], "fn": "ERC721.isApprovedForAll"}, "3514": {"op": "MSTORE", "path": "3", "offset": [7982, 8017], "fn": "ERC721.isApprovedForAll"}, "3515": {"op": "KECCAK256", "path": "3", "offset": [7982, 8017], "fn": "ERC721.isApprovedForAll"}, "3516": {"op": "SLOAD", "path": "3", "offset": [7982, 8017], "fn": "ERC721.isApprovedForAll"}, "3517": {"op": "PUSH1", "value": "0xFF", "path": "3", "offset": [7982, 8017], "fn": "ERC721.isApprovedForAll"}, "3519": {"op": "AND", "path": "3", "offset": [7982, 8017], "fn": "ERC721.isApprovedForAll"}, "3520": {"op": "SWAP1", "path": "3", "offset": [7982, 8017], "fn": "ERC721.isApprovedForAll"}, "3521": {"op": "JUMP", "jump": "o", "path": "3", "offset": [7862, 8024], "fn": "ERC721.isApprovedForAll"}, "3522": {"op": "JUMPDEST", "path": "3", "offset": [10383, 10508], "fn": "ERC721._exists"}, "3523": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [10448, 10452], "fn": "ERC721._exists"}, "3525": {"op": "PUSH2", "value": "0x7E9", "path": "3", "offset": [10471, 10501], "fn": "ERC721._exists", "statement": 31}, "3528": {"op": "PUSH1", "value": "0x2", "path": "3", "offset": [10471, 10483], "fn": "ERC721._exists"}, "3530": {"op": "DUP4", "path": "3", "offset": [10493, 10500], "fn": "ERC721._exists"}, "3531": {"op": "PUSH4", "value": "0xFFFFFFFF", "path": "3", "offset": [10471, 10501], "fn": "ERC721._exists"}, "3536": {"op": "PUSH2", "value": "0x1241", "path": "3", "offset": [10471, 10492], "fn": "ERC721._exists"}, "3539": {"op": "AND", "path": "3", "offset": [10471, 10501], "fn": "ERC721._exists"}, "3540": {"op": "JUMP", "jump": "i", "path": "3", "offset": [10471, 10501], "fn": "ERC721._exists"}, "3541": {"op": "JUMPDEST", "path": "9", "offset": [598, 702], "fn": "Context._msgSender"}, "3542": {"op": "CALLER", "path": "9", "offset": [685, 695], "fn": "Context._msgSender", "statement": 32}, "3543": {"op": "SWAP1", "path": "9", "offset": [598, 702], "fn": "Context._msgSender"}, "3544": {"op": "JUMP", "jump": "o", "path": "9", "offset": [598, 702], "fn": "Context._msgSender"}, "3545": {"op": "JUMPDEST", "path": "3", "offset": [16119, 16299], "fn": "ERC721._approve"}, "3546": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [16184, 16208], "fn": "ERC721._approve", "statement": 33}, "3548": {"op": "DUP2", "path": "3", "offset": [16184, 16208], "fn": "ERC721._approve"}, "3549": {"op": "DUP2", "path": "3", "offset": [16184, 16208], "fn": "ERC721._approve"}, "3550": {"op": "MSTORE", "path": "3", "offset": [16184, 16208], "fn": "ERC721._approve"}, "3551": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [16184, 16199], "fn": "ERC721._approve"}, "3553": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [16184, 16208], "fn": "ERC721._approve"}, "3555": {"op": "MSTORE", "path": "3", "offset": [16184, 16208], "fn": "ERC721._approve"}, "3556": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [16184, 16208], "fn": "ERC721._approve"}, "3558": {"op": "SWAP1", "path": "3", "offset": [16184, 16208], "fn": "ERC721._approve"}, "3559": {"op": "KECCAK256", "path": "3", "offset": [16184, 16208], "fn": "ERC721._approve"}, "3560": {"op": "DUP1", "path": "3", "offset": [16184, 16213], "fn": "ERC721._approve"}, "3561": {"op": "SLOAD", "path": "3", "offset": [16184, 16213], "fn": "ERC721._approve"}, "3562": {"op": "PUSH1", "value": "0x1"}, "3564": {"op": "PUSH1", "value": "0x1"}, "3566": {"op": "PUSH1", "value": "0xA0"}, "3568": {"op": "SHL"}, "3569": {"op": "SUB"}, "3570": {"op": "NOT"}, "3571": {"op": "AND", "path": "3", "offset": [16184, 16213], "fn": "ERC721._approve"}, "3572": {"op": "PUSH1", "value": "0x1"}, "3574": {"op": "PUSH1", "value": "0x1"}, "3576": {"op": "PUSH1", "value": "0xA0"}, "3578": {"op": "SHL"}, "3579": {"op": "SUB"}, "3580": {"op": "DUP5", "path": "3", "offset": [16184, 16213], "fn": "ERC721._approve"}, "3581": {"op": "AND", "path": "3", "offset": [16184, 16213], "fn": "ERC721._approve"}, "3582": {"op": "SWAP1", "path": "3", "offset": [16184, 16213], "fn": "ERC721._approve"}, "3583": {"op": "DUP2", "path": "3", "offset": [16184, 16213], "fn": "ERC721._approve"}, "3584": {"op": "OR", "path": "3", "offset": [16184, 16213], "fn": "ERC721._approve"}, "3585": {"op": "SWAP1", "path": "3", "offset": [16184, 16213], "fn": "ERC721._approve"}, "3586": {"op": "SWAP2", "path": "3", "offset": [16184, 16213], "fn": "ERC721._approve"}, "3587": {"op": "SSTORE", "path": "3", "offset": [16184, 16213], "fn": "ERC721._approve"}, "3588": {"op": "DUP2", "path": "3", "offset": [16184, 16208], "fn": "ERC721._approve"}, "3589": {"op": "SWAP1", "path": "3", "offset": [16184, 16208], "fn": "ERC721._approve"}, "3590": {"op": "PUSH2", "value": "0xE0E", "path": "3", "offset": [16237, 16260], "fn": "ERC721._approve", "statement": 34}, "3593": {"op": "DUP3", "path": "3", "offset": [16184, 16208], "fn": "ERC721._approve"}, "3594": {"op": "PUSH2", "value": "0x826", "path": "3", "offset": [16237, 16251], "fn": "ERC721._approve"}, "3597": {"op": "JUMP", "jump": "i", "path": "3", "offset": [16237, 16260], "fn": "ERC721._approve"}, "3598": {"op": "JUMPDEST", "path": "3", "offset": [16237, 16260], "fn": "ERC721._approve"}, "3599": {"op": "PUSH1", "value": "0x1"}, "3601": {"op": "PUSH1", "value": "0x1"}, "3603": {"op": "PUSH1", "value": "0xA0"}, "3605": {"op": "SHL"}, "3606": {"op": "SUB"}, "3607": {"op": "AND", "path": "3", "offset": [16228, 16274], "fn": "ERC721._approve"}, "3608": {"op": "PUSH32", "value": "0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925", "path": "3", "offset": [16228, 16274], "fn": "ERC721._approve"}, "3641": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [16228, 16274], "fn": "ERC721._approve"}, "3643": {"op": "MLOAD", "path": "3", "offset": [16228, 16274], "fn": "ERC721._approve"}, "3644": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [16228, 16274], "fn": "ERC721._approve"}, "3646": {"op": "MLOAD", "path": "3", "offset": [16228, 16274], "fn": "ERC721._approve"}, "3647": {"op": "DUP1", "path": "3", "offset": [16228, 16274], "fn": "ERC721._approve"}, "3648": {"op": "SWAP2", "path": "3", "offset": [16228, 16274], "fn": "ERC721._approve"}, "3649": {"op": "SUB", "path": "3", "offset": [16228, 16274], "fn": "ERC721._approve"}, "3650": {"op": "SWAP1", "path": "3", "offset": [16228, 16274], "fn": "ERC721._approve"}, "3651": {"op": "LOG4", "path": "3", "offset": [16228, 16274], "fn": "ERC721._approve"}, "3652": {"op": "POP", "path": "3", "offset": [16119, 16299], "fn": "ERC721._approve"}, "3653": {"op": "POP", "path": "3", "offset": [16119, 16299], "fn": "ERC721._approve"}, "3654": {"op": "JUMP", "jump": "o", "path": "3", "offset": [16119, 16299], "fn": "ERC721._approve"}, "3655": {"op": "JUMPDEST", "path": "10", "offset": [7820, 7941], "fn": "EnumerableMap.length"}, "3656": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [7889, 7896], "fn": "EnumerableMap.length"}, "3658": {"op": "PUSH2", "value": "0x7E9", "path": "10", "offset": [7915, 7934], "fn": "EnumerableMap.length", "statement": 35}, "3661": {"op": "DUP3", "path": "10", "offset": [7923, 7926], "fn": "EnumerableMap.length"}, "3662": {"op": "PUSH2", "value": "0x124D", "path": "10", "offset": [7915, 7922], "fn": "EnumerableMap.length"}, "3665": {"op": "JUMP", "jump": "i", "path": "10", "offset": [7915, 7934], "fn": "EnumerableMap.length"}, "3666": {"op": "JUMPDEST", "path": "3", "offset": [10666, 11017], "fn": "ERC721._isApprovedOrOwner"}, "3667": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [10759, 10763], "fn": "ERC721._isApprovedOrOwner"}, "3669": {"op": "PUSH2", "value": "0xE5D", "path": "3", "offset": [10783, 10799], "fn": "ERC721._isApprovedOrOwner", "statement": 36}, "3672": {"op": "DUP3", "path": "3", "offset": [10791, 10798], "fn": "ERC721._isApprovedOrOwner"}, "3673": {"op": "PUSH2", "value": "0xDC2", "path": "3", "offset": [10783, 10790], "fn": "ERC721._isApprovedOrOwner"}, "3676": {"op": "JUMP", "jump": "i", "path": "3", "offset": [10783, 10799], "fn": "ERC721._isApprovedOrOwner"}, "3677": {"op": "JUMPDEST", "path": "3", "offset": [10783, 10799], "fn": "ERC721._isApprovedOrOwner", "branch": 117}, "3678": {"op": "PUSH2", "value": "0xE98", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3681": {"op": "JUMPI", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner", "branch": 117}, "3682": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3684": {"op": "MLOAD", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3685": {"op": "PUSH3", "value": "0x461BCD"}, "3689": {"op": "PUSH1", "value": "0xE5"}, "3691": {"op": "SHL"}, "3692": {"op": "DUP2", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3693": {"op": "MSTORE", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3694": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3696": {"op": "ADD", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3697": {"op": "DUP1", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3698": {"op": "DUP1", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3699": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3701": {"op": "ADD", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3702": {"op": "DUP3", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3703": {"op": "DUP2", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3704": {"op": "SUB", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3705": {"op": "DUP3", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3706": {"op": "MSTORE", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3707": {"op": "PUSH1", "value": "0x2C", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3709": {"op": "DUP2", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3710": {"op": "MSTORE", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3711": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3713": {"op": "ADD", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3714": {"op": "DUP1", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3715": {"op": "PUSH2", "value": "0x1B96", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3718": {"op": "PUSH1", "value": "0x2C", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3720": {"op": "SWAP2", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3721": {"op": "CODECOPY", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3722": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3724": {"op": "ADD", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3725": {"op": "SWAP2", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3726": {"op": "POP", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3727": {"op": "POP", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3728": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3730": {"op": "MLOAD", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3731": {"op": "DUP1", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3732": {"op": "SWAP2", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3733": {"op": "SUB", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3734": {"op": "SWAP1", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3735": {"op": "REVERT", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3736": {"op": "JUMPDEST", "path": "3", "offset": [10775, 10848], "fn": "ERC721._isApprovedOrOwner"}, "3737": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [10858, 10871], "fn": "ERC721._isApprovedOrOwner"}, "3739": {"op": "PUSH2", "value": "0xEA3", "path": "3", "offset": [10874, 10897], "fn": "ERC721._isApprovedOrOwner"}, "3742": {"op": "DUP4", "path": "3", "offset": [10889, 10896], "fn": "ERC721._isApprovedOrOwner"}, "3743": {"op": "PUSH2", "value": "0x826", "path": "3", "offset": [10874, 10888], "fn": "ERC721._isApprovedOrOwner"}, "3746": {"op": "JUMP", "jump": "i", "path": "3", "offset": [10874, 10897], "fn": "ERC721._isApprovedOrOwner"}, "3747": {"op": "JUMPDEST", "path": "3", "offset": [10874, 10897], "fn": "ERC721._isApprovedOrOwner"}, "3748": {"op": "SWAP1", "path": "3", "offset": [10858, 10897], "fn": "ERC721._isApprovedOrOwner"}, "3749": {"op": "POP", "path": "3", "offset": [10858, 10897], "fn": "ERC721._isApprovedOrOwner"}, "3750": {"op": "DUP1", "path": "3", "offset": [10926, 10931], "fn": "ERC721._isApprovedOrOwner", "statement": 37}, "3751": {"op": "PUSH1", "value": "0x1"}, "3753": {"op": "PUSH1", "value": "0x1"}, "3755": {"op": "PUSH1", "value": "0xA0"}, "3757": {"op": "SHL"}, "3758": {"op": "SUB"}, "3759": {"op": "AND", "path": "3", "offset": [10915, 10931], "fn": "ERC721._isApprovedOrOwner"}, "3760": {"op": "DUP5", "path": "3", "offset": [10915, 10922], "fn": "ERC721._isApprovedOrOwner"}, "3761": {"op": "PUSH1", "value": "0x1"}, "3763": {"op": "PUSH1", "value": "0x1"}, "3765": {"op": "PUSH1", "value": "0xA0"}, "3767": {"op": "SHL"}, "3768": {"op": "SUB"}, "3769": {"op": "AND", "path": "3", "offset": [10915, 10931], "fn": "ERC721._isApprovedOrOwner"}, "3770": {"op": "EQ", "path": "3", "offset": [10915, 10931], "fn": "ERC721._isApprovedOrOwner"}, "3771": {"op": "DUP1", "path": "3", "offset": [10915, 10966], "fn": "ERC721._isApprovedOrOwner"}, "3772": {"op": "PUSH2", "value": "0xEDE", "path": "3", "offset": [10915, 10966], "fn": "ERC721._isApprovedOrOwner"}, "3775": {"op": "JUMPI", "path": "3", "offset": [10915, 10966], "fn": "ERC721._isApprovedOrOwner"}, "3776": {"op": "POP", "path": "3", "offset": [10915, 10966], "fn": "ERC721._isApprovedOrOwner"}, "3777": {"op": "DUP4", "path": "3", "offset": [10959, 10966], "fn": "ERC721._isApprovedOrOwner"}, "3778": {"op": "PUSH1", "value": "0x1"}, "3780": {"op": "PUSH1", "value": "0x1"}, "3782": {"op": "PUSH1", "value": "0xA0"}, "3784": {"op": "SHL"}, "3785": {"op": "SUB"}, "3786": {"op": "AND", "path": "3", "offset": [10935, 10966], "fn": "ERC721._isApprovedOrOwner"}, "3787": {"op": "PUSH2", "value": "0xED3", "path": "3", "offset": [10935, 10955], "fn": "ERC721._isApprovedOrOwner"}, "3790": {"op": "DUP5", "path": "3", "offset": [10947, 10954], "fn": "ERC721._isApprovedOrOwner"}, "3791": {"op": "PUSH2", "value": "0x619", "path": "3", "offset": [10935, 10946], "fn": "ERC721._isApprovedOrOwner"}, "3794": {"op": "JUMP", "jump": "i", "path": "3", "offset": [10935, 10955], "fn": "ERC721._isApprovedOrOwner"}, "3795": {"op": "JUMPDEST", "path": "3", "offset": [10935, 10955], "fn": "ERC721._isApprovedOrOwner"}, "3796": {"op": "PUSH1", "value": "0x1"}, "3798": {"op": "PUSH1", "value": "0x1"}, "3800": {"op": "PUSH1", "value": "0xA0"}, "3802": {"op": "SHL"}, "3803": {"op": "SUB"}, "3804": {"op": "AND", "path": "3", "offset": [10935, 10966], "fn": "ERC721._isApprovedOrOwner"}, "3805": {"op": "EQ", "path": "3", "offset": [10935, 10966], "fn": "ERC721._isApprovedOrOwner"}, "3806": {"op": "JUMPDEST", "path": "3", "offset": [10915, 10966], "fn": "ERC721._isApprovedOrOwner"}, "3807": {"op": "DUP1", "path": "3", "offset": [10915, 11009], "fn": "ERC721._isApprovedOrOwner"}, "3808": {"op": "PUSH2", "value": "0xEEE", "path": "3", "offset": [10915, 11009], "fn": "ERC721._isApprovedOrOwner"}, "3811": {"op": "JUMPI", "path": "3", "offset": [10915, 11009], "fn": "ERC721._isApprovedOrOwner"}, "3812": {"op": "POP", "path": "3", "offset": [10915, 11009], "fn": "ERC721._isApprovedOrOwner"}, "3813": {"op": "PUSH2", "value": "0xEEE", "path": "3", "offset": [10970, 11009], "fn": "ERC721._isApprovedOrOwner"}, "3816": {"op": "DUP2", "path": "3", "offset": [10994, 10999], "fn": "ERC721._isApprovedOrOwner"}, "3817": {"op": "DUP6", "path": "3", "offset": [11001, 11008], "fn": "ERC721._isApprovedOrOwner"}, "3818": {"op": "PUSH2", "value": "0xD94", "path": "3", "offset": [10970, 10993], "fn": "ERC721._isApprovedOrOwner"}, "3821": {"op": "JUMP", "jump": "i", "path": "3", "offset": [10970, 11009], "fn": "ERC721._isApprovedOrOwner"}, "3822": {"op": "JUMPDEST", "path": "3", "offset": [10970, 11009], "fn": "ERC721._isApprovedOrOwner"}, "3823": {"op": "SWAP5", "path": "3", "offset": [10907, 11010], "fn": "ERC721._isApprovedOrOwner"}, "3824": {"op": "SWAP4", "path": "3", "offset": [10666, 11017], "fn": "ERC721._isApprovedOrOwner"}, "3825": {"op": "POP"}, "3826": {"op": "POP"}, "3827": {"op": "POP"}, "3828": {"op": "POP"}, "3829": {"op": "JUMP", "jump": "o", "path": "3", "offset": [10666, 11017], "fn": "ERC721._isApprovedOrOwner"}, "3830": {"op": "JUMPDEST", "path": "3", "offset": [13707, 14291], "fn": "ERC721._transfer"}, "3831": {"op": "DUP3", "path": "3", "offset": [13831, 13835], "fn": "ERC721._transfer", "statement": 38}, "3832": {"op": "PUSH1", "value": "0x1"}, "3834": {"op": "PUSH1", "value": "0x1"}, "3836": {"op": "PUSH1", "value": "0xA0"}, "3838": {"op": "SHL"}, "3839": {"op": "SUB"}, "3840": {"op": "AND", "path": "3", "offset": [13804, 13835], "fn": "ERC721._transfer"}, "3841": {"op": "PUSH2", "value": "0xF09", "path": "3", "offset": [13804, 13827], "fn": "ERC721._transfer"}, "3844": {"op": "DUP3", "path": "3", "offset": [13819, 13826], "fn": "ERC721._transfer"}, "3845": {"op": "PUSH2", "value": "0x826", "path": "3", "offset": [13804, 13818], "fn": "ERC721._transfer"}, "3848": {"op": "JUMP", "jump": "i", "path": "3", "offset": [13804, 13827], "fn": "ERC721._transfer"}, "3849": {"op": "JUMPDEST", "path": "3", "offset": [13804, 13827], "fn": "ERC721._transfer"}, "3850": {"op": "PUSH1", "value": "0x1"}, "3852": {"op": "PUSH1", "value": "0x1"}, "3854": {"op": "PUSH1", "value": "0xA0"}, "3856": {"op": "SHL"}, "3857": {"op": "SUB"}, "3858": {"op": "AND", "path": "3", "offset": [13804, 13835], "fn": "ERC721._transfer"}, "3859": {"op": "EQ", "path": "3", "offset": [13804, 13835], "fn": "ERC721._transfer", "branch": 118}, "3860": {"op": "PUSH2", "value": "0xF4E", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3863": {"op": "JUMPI", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer", "branch": 118}, "3864": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3866": {"op": "MLOAD", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3867": {"op": "PUSH3", "value": "0x461BCD"}, "3871": {"op": "PUSH1", "value": "0xE5"}, "3873": {"op": "SHL"}, "3874": {"op": "DUP2", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3875": {"op": "MSTORE", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3876": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3878": {"op": "ADD", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3879": {"op": "DUP1", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3880": {"op": "DUP1", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3881": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3883": {"op": "ADD", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3884": {"op": "DUP3", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3885": {"op": "DUP2", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3886": {"op": "SUB", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3887": {"op": "DUP3", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3888": {"op": "MSTORE", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3889": {"op": "PUSH1", "value": "0x29", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3891": {"op": "DUP2", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3892": {"op": "MSTORE", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3893": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3895": {"op": "ADD", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3896": {"op": "DUP1", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3897": {"op": "PUSH2", "value": "0x1CC7", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3900": {"op": "PUSH1", "value": "0x29", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3902": {"op": "SWAP2", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3903": {"op": "CODECOPY", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3904": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3906": {"op": "ADD", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3907": {"op": "SWAP2", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3908": {"op": "POP", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3909": {"op": "POP", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3910": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3912": {"op": "MLOAD", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3913": {"op": "DUP1", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3914": {"op": "SWAP2", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3915": {"op": "SUB", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3916": {"op": "SWAP1", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3917": {"op": "REVERT", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3918": {"op": "JUMPDEST", "path": "3", "offset": [13796, 13881], "fn": "ERC721._transfer"}, "3919": {"op": "PUSH1", "value": "0x1"}, "3921": {"op": "PUSH1", "value": "0x1"}, "3923": {"op": "PUSH1", "value": "0xA0"}, "3925": {"op": "SHL"}, "3926": {"op": "SUB"}, "3927": {"op": "DUP3", "path": "3", "offset": [13917, 13933], "fn": "ERC721._transfer", "statement": 39}, "3928": {"op": "AND", "path": "3", "offset": [13917, 13933], "fn": "ERC721._transfer", "branch": 119}, "3929": {"op": "PUSH2", "value": "0xF93", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3932": {"op": "JUMPI", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer", "branch": 119}, "3933": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3935": {"op": "MLOAD", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3936": {"op": "PUSH3", "value": "0x461BCD"}, "3940": {"op": "PUSH1", "value": "0xE5"}, "3942": {"op": "SHL"}, "3943": {"op": "DUP2", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3944": {"op": "MSTORE", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3945": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3947": {"op": "ADD", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3948": {"op": "DUP1", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3949": {"op": "DUP1", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3950": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3952": {"op": "ADD", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3953": {"op": "DUP3", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3954": {"op": "DUP2", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3955": {"op": "SUB", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3956": {"op": "DUP3", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3957": {"op": "MSTORE", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3958": {"op": "PUSH1", "value": "0x24", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3960": {"op": "DUP2", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3961": {"op": "MSTORE", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3962": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3964": {"op": "ADD", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3965": {"op": "DUP1", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3966": {"op": "PUSH2", "value": "0x1B72", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3969": {"op": "PUSH1", "value": "0x24", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3971": {"op": "SWAP2", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3972": {"op": "CODECOPY", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3973": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3975": {"op": "ADD", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3976": {"op": "SWAP2", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3977": {"op": "POP", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3978": {"op": "POP", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3979": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3981": {"op": "MLOAD", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3982": {"op": "DUP1", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3983": {"op": "SWAP2", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3984": {"op": "SUB", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3985": {"op": "SWAP1", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3986": {"op": "REVERT", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3987": {"op": "JUMPDEST", "path": "3", "offset": [13909, 13974], "fn": "ERC721._transfer"}, "3988": {"op": "PUSH2", "value": "0xF9E", "path": "3", "offset": [13985, 14024], "fn": "ERC721._transfer", "statement": 40}, "3991": {"op": "DUP4", "path": "3", "offset": [14006, 14010], "fn": "ERC721._transfer"}, "3992": {"op": "DUP4", "path": "3", "offset": [14012, 14014], "fn": "ERC721._transfer"}, "3993": {"op": "DUP4", "path": "3", "offset": [14016, 14023], "fn": "ERC721._transfer"}, "3994": {"op": "PUSH2", "value": "0x751", "path": "3", "offset": [13985, 14005], "fn": "ERC721._transfer"}, "3997": {"op": "JUMP", "jump": "i", "path": "3", "offset": [13985, 14024], "fn": "ERC721._transfer"}, "3998": {"op": "JUMPDEST", "path": "3", "offset": [13985, 14024], "fn": "ERC721._transfer"}, "3999": {"op": "PUSH2", "value": "0xFA9", "path": "3", "offset": [14086, 14115], "fn": "ERC721._transfer", "statement": 41}, "4002": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [14103, 14104], "fn": "ERC721._transfer"}, "4004": {"op": "DUP3", "path": "3", "offset": [14107, 14114], "fn": "ERC721._transfer"}, "4005": {"op": "PUSH2", "value": "0xDD9", "path": "3", "offset": [14086, 14094], "fn": "ERC721._transfer"}, "4008": {"op": "JUMP", "jump": "i", "path": "3", "offset": [14086, 14115], "fn": "ERC721._transfer"}, "4009": {"op": "JUMPDEST", "path": "3", "offset": [14086, 14115], "fn": "ERC721._transfer"}, "4010": {"op": "PUSH1", "value": "0x1"}, "4012": {"op": "PUSH1", "value": "0x1"}, "4014": {"op": "PUSH1", "value": "0xA0"}, "4016": {"op": "SHL"}, "4017": {"op": "SUB"}, "4018": {"op": "DUP4", "path": "3", "offset": [14126, 14145], "fn": "ERC721._transfer", "statement": 42}, "4019": {"op": "AND", "path": "3", "offset": [14126, 14145], "fn": "ERC721._transfer"}, "4020": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [14126, 14145], "fn": "ERC721._transfer"}, "4022": {"op": "SWAP1", "path": "3", "offset": [14126, 14145], "fn": "ERC721._transfer"}, "4023": {"op": "DUP2", "path": "3", "offset": [14126, 14145], "fn": "ERC721._transfer"}, "4024": {"op": "MSTORE", "path": "3", "offset": [14126, 14145], "fn": "ERC721._transfer"}, "4025": {"op": "PUSH1", "value": "0x1", "path": "3", "offset": [14126, 14139], "fn": "ERC721._transfer"}, "4027": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [14126, 14145], "fn": "ERC721._transfer"}, "4029": {"op": "MSTORE", "path": "3", "offset": [14126, 14145], "fn": "ERC721._transfer"}, "4030": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [14126, 14145], "fn": "ERC721._transfer"}, "4032": {"op": "SWAP1", "path": "3", "offset": [14126, 14145], "fn": "ERC721._transfer"}, "4033": {"op": "KECCAK256", "path": "3", "offset": [14126, 14145], "fn": "ERC721._transfer"}, "4034": {"op": "PUSH2", "value": "0xFD1", "path": "3", "offset": [14126, 14161], "fn": "ERC721._transfer"}, "4037": {"op": "SWAP1", "path": "3", "offset": [14126, 14161], "fn": "ERC721._transfer"}, "4038": {"op": "DUP3", "path": "3", "offset": [14153, 14160], "fn": "ERC721._transfer"}, "4039": {"op": "PUSH4", "value": "0xFFFFFFFF", "path": "3", "offset": [14126, 14161], "fn": "ERC721._transfer"}, "4044": {"op": "PUSH2", "value": "0x1251", "path": "3", "offset": [14126, 14152], "fn": "ERC721._transfer"}, "4047": {"op": "AND", "path": "3", "offset": [14126, 14161], "fn": "ERC721._transfer"}, "4048": {"op": "JUMP", "jump": "i", "path": "3", "offset": [14126, 14161], "fn": "ERC721._transfer"}, "4049": {"op": "JUMPDEST", "path": "3", "offset": [14126, 14161], "fn": "ERC721._transfer"}, "4050": {"op": "POP"}, "4051": {"op": "PUSH1", "value": "0x1"}, "4053": {"op": "PUSH1", "value": "0x1"}, "4055": {"op": "PUSH1", "value": "0xA0"}, "4057": {"op": "SHL"}, "4058": {"op": "SUB"}, "4059": {"op": "DUP3", "path": "3", "offset": [14171, 14188], "fn": "ERC721._transfer", "statement": 43}, "4060": {"op": "AND", "path": "3", "offset": [14171, 14188], "fn": "ERC721._transfer"}, "4061": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [14171, 14188], "fn": "ERC721._transfer"}, "4063": {"op": "SWAP1", "path": "3", "offset": [14171, 14188], "fn": "ERC721._transfer"}, "4064": {"op": "DUP2", "path": "3", "offset": [14171, 14188], "fn": "ERC721._transfer"}, "4065": {"op": "MSTORE", "path": "3", "offset": [14171, 14188], "fn": "ERC721._transfer"}, "4066": {"op": "PUSH1", "value": "0x1", "path": "3", "offset": [14171, 14184], "fn": "ERC721._transfer"}, "4068": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [14171, 14188], "fn": "ERC721._transfer"}, "4070": {"op": "MSTORE", "path": "3", "offset": [14171, 14188], "fn": "ERC721._transfer"}, "4071": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [14171, 14188], "fn": "ERC721._transfer"}, "4073": {"op": "SWAP1", "path": "3", "offset": [14171, 14188], "fn": "ERC721._transfer"}, "4074": {"op": "KECCAK256", "path": "3", "offset": [14171, 14188], "fn": "ERC721._transfer"}, "4075": {"op": "PUSH2", "value": "0xFFA", "path": "3", "offset": [14171, 14201], "fn": "ERC721._transfer"}, "4078": {"op": "SWAP1", "path": "3", "offset": [14171, 14201], "fn": "ERC721._transfer"}, "4079": {"op": "DUP3", "path": "3", "offset": [14193, 14200], "fn": "ERC721._transfer"}, "4080": {"op": "PUSH4", "value": "0xFFFFFFFF", "path": "3", "offset": [14171, 14201], "fn": "ERC721._transfer"}, "4085": {"op": "PUSH2", "value": "0x125D", "path": "3", "offset": [14171, 14192], "fn": "ERC721._transfer"}, "4088": {"op": "AND", "path": "3", "offset": [14171, 14201], "fn": "ERC721._transfer"}, "4089": {"op": "JUMP", "jump": "i", "path": "3", "offset": [14171, 14201], "fn": "ERC721._transfer"}, "4090": {"op": "JUMPDEST", "path": "3", "offset": [14171, 14201], "fn": "ERC721._transfer"}, "4091": {"op": "POP"}, "4092": {"op": "PUSH2", "value": "0x100D", "path": "3", "offset": [14212, 14241], "fn": "ERC721._transfer", "statement": 44}, "4095": {"op": "PUSH1", "value": "0x2", "path": "3", "offset": [14212, 14224], "fn": "ERC721._transfer"}, "4097": {"op": "DUP3", "path": "3", "offset": [14229, 14236], "fn": "ERC721._transfer"}, "4098": {"op": "DUP5", "path": "3", "offset": [14238, 14240], "fn": "ERC721._transfer"}, "4099": {"op": "PUSH4", "value": "0xFFFFFFFF", "path": "3", "offset": [14212, 14241], "fn": "ERC721._transfer"}, "4104": {"op": "PUSH2", "value": "0x1269", "path": "3", "offset": [14212, 14228], "fn": "ERC721._transfer"}, "4107": {"op": "AND", "path": "3", "offset": [14212, 14241], "fn": "ERC721._transfer"}, "4108": {"op": "JUMP", "jump": "i", "path": "3", "offset": [14212, 14241], "fn": "ERC721._transfer"}, "4109": {"op": "JUMPDEST", "path": "3", "offset": [14212, 14241], "fn": "ERC721._transfer"}, "4110": {"op": "POP", "path": "3", "offset": [14212, 14241], "fn": "ERC721._transfer"}, "4111": {"op": "DUP1", "path": "3", "offset": [14276, 14283], "fn": "ERC721._transfer", "statement": 45}, "4112": {"op": "DUP3", "path": "3", "offset": [14272, 14274], "fn": "ERC721._transfer"}, "4113": {"op": "PUSH1", "value": "0x1"}, "4115": {"op": "PUSH1", "value": "0x1"}, "4117": {"op": "PUSH1", "value": "0xA0"}, "4119": {"op": "SHL"}, "4120": {"op": "SUB"}, "4121": {"op": "AND", "path": "3", "offset": [14257, 14284], "fn": "ERC721._transfer"}, "4122": {"op": "DUP5", "path": "3", "offset": [14266, 14270], "fn": "ERC721._transfer"}, "4123": {"op": "PUSH1", "value": "0x1"}, "4125": {"op": "PUSH1", "value": "0x1"}, "4127": {"op": "PUSH1", "value": "0xA0"}, "4129": {"op": "SHL"}, "4130": {"op": "SUB"}, "4131": {"op": "AND", "path": "3", "offset": [14257, 14284], "fn": "ERC721._transfer"}, "4132": {"op": "PUSH32", "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF", "path": "3", "offset": [14257, 14284], "fn": "ERC721._transfer"}, "4165": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [14257, 14284], "fn": "ERC721._transfer"}, "4167": {"op": "MLOAD", "path": "3", "offset": [14257, 14284], "fn": "ERC721._transfer"}, "4168": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [14257, 14284], "fn": "ERC721._transfer"}, "4170": {"op": "MLOAD", "path": "3", "offset": [14257, 14284], "fn": "ERC721._transfer"}, "4171": {"op": "DUP1", "path": "3", "offset": [14257, 14284], "fn": "ERC721._transfer"}, "4172": {"op": "SWAP2", "path": "3", "offset": [14257, 14284], "fn": "ERC721._transfer"}, "4173": {"op": "SUB", "path": "3", "offset": [14257, 14284], "fn": "ERC721._transfer"}, "4174": {"op": "SWAP1", "path": "3", "offset": [14257, 14284], "fn": "ERC721._transfer"}, "4175": {"op": "LOG4", "path": "3", "offset": [14257, 14284], "fn": "ERC721._transfer"}, "4176": {"op": "POP", "path": "3", "offset": [13707, 14291], "fn": "ERC721._transfer"}, "4177": {"op": "POP", "path": "3", "offset": [13707, 14291], "fn": "ERC721._transfer"}, "4178": {"op": "POP", "path": "3", "offset": [13707, 14291], "fn": "ERC721._transfer"}, "4179": {"op": "JUMP", "jump": "o", "path": "3", "offset": [13707, 14291], "fn": "ERC721._transfer"}, "4180": {"op": "JUMPDEST", "path": "11", "offset": [9250, 9385], "fn": "EnumerableSet.at"}, "4181": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [9321, 9328], "fn": "EnumerableSet.at"}, "4183": {"op": "PUSH2", "value": "0x7E6", "path": "11", "offset": [9355, 9377], "fn": "EnumerableSet.at", "statement": 46}, "4186": {"op": "DUP4", "path": "11", "offset": [9359, 9362], "fn": "EnumerableSet.at"}, "4187": {"op": "DUP4", "path": "11", "offset": [9371, 9376], "fn": "EnumerableSet.at"}, "4188": {"op": "PUSH2", "value": "0x127F", "path": "11", "offset": [9355, 9358], "fn": "EnumerableSet.at"}, "4191": {"op": "JUMP", "jump": "i", "path": "11", "offset": [9355, 9377], "fn": "EnumerableSet.at"}, "4192": {"op": "JUMPDEST", "path": "10", "offset": [8269, 8502], "fn": "EnumerableMap.at"}, "4193": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [8349, 8356], "fn": "EnumerableMap.at"}, "4195": {"op": "DUP1", "path": "10", "offset": [8349, 8356], "fn": "EnumerableMap.at"}, "4196": {"op": "DUP1", "path": "10", "offset": [8349, 8356], "fn": "EnumerableMap.at"}, "4197": {"op": "DUP1", "path": "10", "offset": [8349, 8356], "fn": "EnumerableMap.at"}, "4198": {"op": "PUSH2", "value": "0x106F", "path": "10", "offset": [8408, 8430], "fn": "EnumerableMap.at"}, "4201": {"op": "DUP7", "path": "10", "offset": [8412, 8415], "fn": "EnumerableMap.at"}, "4202": {"op": "DUP7", "path": "10", "offset": [8424, 8429], "fn": "EnumerableMap.at"}, "4203": {"op": "PUSH2", "value": "0x12E3", "path": "10", "offset": [8408, 8411], "fn": "EnumerableMap.at"}, "4206": {"op": "JUMP", "jump": "i", "path": "10", "offset": [8408, 8430], "fn": "EnumerableMap.at"}, "4207": {"op": "JUMPDEST", "path": "10", "offset": [8408, 8430], "fn": "EnumerableMap.at"}, "4208": {"op": "SWAP1", "path": "10", "offset": [8377, 8430], "fn": "EnumerableMap.at"}, "4209": {"op": "SWAP8", "path": "10", "offset": [8377, 8430], "fn": "EnumerableMap.at"}, "4210": {"op": "SWAP1", "path": "10", "offset": [8377, 8430], "fn": "EnumerableMap.at"}, "4211": {"op": "SWAP7", "path": "10", "offset": [8377, 8430], "fn": "EnumerableMap.at"}, "4212": {"op": "POP"}, "4213": {"op": "SWAP5", "path": "10", "offset": [8269, 8502], "fn": "EnumerableMap.at"}, "4214": {"op": "POP"}, "4215": {"op": "POP"}, "4216": {"op": "POP"}, "4217": {"op": "POP"}, "4218": {"op": "POP"}, "4219": {"op": "JUMP", "jump": "o", "path": "10", "offset": [8269, 8502], "fn": "EnumerableMap.at"}, "4220": {"op": "JUMPDEST", "path": "10", "offset": [9522, 9733], "fn": "EnumerableMap.get"}, "4221": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [9629, 9636], "fn": "EnumerableMap.get"}, "4223": {"op": "PUSH2", "value": "0x1089", "path": "10", "offset": [9679, 9723], "fn": "EnumerableMap.get", "statement": 47}, "4226": {"op": "DUP5", "path": "10", "offset": [9684, 9687], "fn": "EnumerableMap.get"}, "4227": {"op": "DUP5", "path": "10", "offset": [9704, 9707], "fn": "EnumerableMap.get"}, "4228": {"op": "DUP5", "path": "10", "offset": [9710, 9722], "fn": "EnumerableMap.get"}, "4229": {"op": "PUSH2", "value": "0x135E", "path": "10", "offset": [9679, 9683], "fn": "EnumerableMap.get"}, "4232": {"op": "JUMP", "jump": "i", "path": "10", "offset": [9679, 9723], "fn": "EnumerableMap.get"}, "4233": {"op": "JUMPDEST", "path": "10", "offset": [9679, 9723], "fn": "EnumerableMap.get"}, "4234": {"op": "SWAP1", "path": "10", "offset": [9671, 9724], "fn": "EnumerableMap.get"}, "4235": {"op": "POP"}, "4236": {"op": "JUMPDEST", "path": "10", "offset": [9522, 9733], "fn": "EnumerableMap.get"}, "4237": {"op": "SWAP4", "path": "10", "offset": [9522, 9733], "fn": "EnumerableMap.get"}, "4238": {"op": "SWAP3", "path": "10", "offset": [9522, 9733], "fn": "EnumerableMap.get"}, "4239": {"op": "POP", "path": "10", "offset": [9522, 9733], "fn": "EnumerableMap.get"}, "4240": {"op": "POP", "path": "10", "offset": [9522, 9733], "fn": "EnumerableMap.get"}, "4241": {"op": "POP", "path": "10", "offset": [9522, 9733], "fn": "EnumerableMap.get"}, "4242": {"op": "JUMP", "jump": "o", "path": "10", "offset": [9522, 9733], "fn": "EnumerableMap.get"}, "4243": {"op": "JUMPDEST", "path": "3", "offset": [11348, 11456], "fn": "ERC721._safeMint"}, "4244": {"op": "PUSH2", "value": "0x10AD", "path": "3", "offset": [11423, 11449], "fn": "ERC721._safeMint", "statement": 48}, "4247": {"op": "DUP3", "path": "3", "offset": [11433, 11435], "fn": "ERC721._safeMint"}, "4248": {"op": "DUP3", "path": "3", "offset": [11437, 11444], "fn": "ERC721._safeMint"}, "4249": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [11423, 11449], "fn": "ERC721._safeMint"}, "4251": {"op": "MLOAD", "path": "3", "offset": [11423, 11449], "fn": "ERC721._safeMint"}, "4252": {"op": "DUP1", "path": "3", "offset": [11423, 11449], "fn": "ERC721._safeMint"}, "4253": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [11423, 11449], "fn": "ERC721._safeMint"}, "4255": {"op": "ADD", "path": "3", "offset": [11423, 11449], "fn": "ERC721._safeMint"}, "4256": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [11423, 11449], "fn": "ERC721._safeMint"}, "4258": {"op": "MSTORE", "path": "3", "offset": [11423, 11449], "fn": "ERC721._safeMint"}, "4259": {"op": "DUP1", "path": "3", "offset": [11423, 11449], "fn": "ERC721._safeMint"}, "4260": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [11423, 11449], "fn": "ERC721._safeMint"}, "4262": {"op": "DUP2", "path": "3", "offset": [11423, 11449], "fn": "ERC721._safeMint"}, "4263": {"op": "MSTORE", "path": "3", "offset": [11423, 11449], "fn": "ERC721._safeMint"}, "4264": {"op": "POP", "path": "3", "offset": [11423, 11449], "fn": "ERC721._safeMint"}, "4265": {"op": "PUSH2", "value": "0x1428", "path": "3", "offset": [11423, 11432], "fn": "ERC721._safeMint"}, "4268": {"op": "JUMP", "jump": "i", "path": "3", "offset": [11423, 11449], "fn": "ERC721._safeMint"}, "4269": {"op": "JUMPDEST", "path": "3", "offset": [11423, 11449], "fn": "ERC721._safeMint"}, "4270": {"op": "POP", "path": "3", "offset": [11348, 11456], "fn": "ERC721._safeMint"}, "4271": {"op": "POP", "path": "3", "offset": [11348, 11456], "fn": "ERC721._safeMint"}, "4272": {"op": "JUMP", "jump": "o", "path": "3", "offset": [11348, 11456], "fn": "ERC721._safeMint"}, "4273": {"op": "JUMPDEST", "path": "3", "offset": [14438, 14650], "fn": "ERC721._setTokenURI"}, "4274": {"op": "PUSH2", "value": "0x10BA", "path": "3", "offset": [14537, 14553], "fn": "ERC721._setTokenURI", "statement": 49}, "4277": {"op": "DUP3", "path": "3", "offset": [14545, 14552], "fn": "ERC721._setTokenURI"}, "4278": {"op": "PUSH2", "value": "0xDC2", "path": "3", "offset": [14537, 14544], "fn": "ERC721._setTokenURI"}, "4281": {"op": "JUMP", "jump": "i", "path": "3", "offset": [14537, 14553], "fn": "ERC721._setTokenURI"}, "4282": {"op": "JUMPDEST", "path": "3", "offset": [14537, 14553], "fn": "ERC721._setTokenURI", "branch": 120}, "4283": {"op": "PUSH2", "value": "0x10F5", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4286": {"op": "JUMPI", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI", "branch": 120}, "4287": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4289": {"op": "MLOAD", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4290": {"op": "PUSH3", "value": "0x461BCD"}, "4294": {"op": "PUSH1", "value": "0xE5"}, "4296": {"op": "SHL"}, "4297": {"op": "DUP2", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4298": {"op": "MSTORE", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4299": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4301": {"op": "ADD", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4302": {"op": "DUP1", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4303": {"op": "DUP1", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4304": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4306": {"op": "ADD", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4307": {"op": "DUP3", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4308": {"op": "DUP2", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4309": {"op": "SUB", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4310": {"op": "DUP3", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4311": {"op": "MSTORE", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4312": {"op": "PUSH1", "value": "0x2C", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4314": {"op": "DUP2", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4315": {"op": "MSTORE", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4316": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4318": {"op": "ADD", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4319": {"op": "DUP1", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4320": {"op": "PUSH2", "value": "0x1C9B", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4323": {"op": "PUSH1", "value": "0x2C", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4325": {"op": "SWAP2", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4326": {"op": "CODECOPY", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4327": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4329": {"op": "ADD", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4330": {"op": "SWAP2", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4331": {"op": "POP", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4332": {"op": "POP", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4333": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4335": {"op": "MLOAD", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4336": {"op": "DUP1", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4337": {"op": "SWAP2", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4338": {"op": "SUB", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4339": {"op": "SWAP1", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4340": {"op": "REVERT", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4341": {"op": "JUMPDEST", "path": "3", "offset": [14529, 14602], "fn": "ERC721._setTokenURI"}, "4342": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [14612, 14631], "fn": "ERC721._setTokenURI", "statement": 50}, "4344": {"op": "DUP3", "path": "3", "offset": [14612, 14631], "fn": "ERC721._setTokenURI"}, "4345": {"op": "DUP2", "path": "3", "offset": [14612, 14631], "fn": "ERC721._setTokenURI"}, "4346": {"op": "MSTORE", "path": "3", "offset": [14612, 14631], "fn": "ERC721._setTokenURI"}, "4347": {"op": "PUSH1", "value": "0x8", "path": "3", "offset": [14612, 14622], "fn": "ERC721._setTokenURI"}, "4349": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [14612, 14631], "fn": "ERC721._setTokenURI"}, "4351": {"op": "SWAP1", "path": "3", "offset": [14612, 14631], "fn": "ERC721._setTokenURI"}, "4352": {"op": "DUP2", "path": "3", "offset": [14612, 14631], "fn": "ERC721._setTokenURI"}, "4353": {"op": "MSTORE", "path": "3", "offset": [14612, 14631], "fn": "ERC721._setTokenURI"}, "4354": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [14612, 14631], "fn": "ERC721._setTokenURI"}, "4356": {"op": "SWAP1", "path": "3", "offset": [14612, 14631], "fn": "ERC721._setTokenURI"}, "4357": {"op": "SWAP2", "path": "3", "offset": [14612, 14631], "fn": "ERC721._setTokenURI"}, "4358": {"op": "KECCAK256", "path": "3", "offset": [14612, 14631], "fn": "ERC721._setTokenURI"}, "4359": {"op": "DUP3", "path": "3", "offset": [14612, 14643], "fn": "ERC721._setTokenURI"}, "4360": {"op": "MLOAD", "path": "3", "offset": [14612, 14643], "fn": "ERC721._setTokenURI"}, "4361": {"op": "PUSH2", "value": "0x751", "path": "3", "offset": [14612, 14643], "fn": "ERC721._setTokenURI"}, "4364": {"op": "SWAP3", "path": "3", "offset": [14612, 14643], "fn": "ERC721._setTokenURI"}, "4365": {"op": "DUP5", "path": "3", "offset": [14612, 14643], "fn": "ERC721._setTokenURI"}, "4366": {"op": "ADD", "path": "3", "offset": [14612, 14643], "fn": "ERC721._setTokenURI"}, "4367": {"op": "SWAP1", "path": "3", "offset": [14612, 14643], "fn": "ERC721._setTokenURI"}, "4368": {"op": "PUSH2", "value": "0x1A85", "path": "3", "offset": [14612, 14643], "fn": "ERC721._setTokenURI"}, "4371": {"op": "JUMP", "jump": "i", "path": "3", "offset": [14612, 14643], "fn": "ERC721._setTokenURI"}, "4372": {"op": "JUMPDEST", "path": "3", "offset": [9811, 10080], "fn": "ERC721._safeTransfer"}, "4373": {"op": "PUSH2", "value": "0x111F", "path": "3", "offset": [9924, 9952], "fn": "ERC721._safeTransfer", "statement": 51}, "4376": {"op": "DUP5", "path": "3", "offset": [9934, 9938], "fn": "ERC721._safeTransfer"}, "4377": {"op": "DUP5", "path": "3", "offset": [9940, 9942], "fn": "ERC721._safeTransfer"}, "4378": {"op": "DUP5", "path": "3", "offset": [9944, 9951], "fn": "ERC721._safeTransfer"}, "4379": {"op": "PUSH2", "value": "0xEF6", "path": "3", "offset": [9924, 9933], "fn": "ERC721._safeTransfer"}, "4382": {"op": "JUMP", "jump": "i", "path": "3", "offset": [9924, 9952], "fn": "ERC721._safeTransfer"}, "4383": {"op": "JUMPDEST", "path": "3", "offset": [9924, 9952], "fn": "ERC721._safeTransfer"}, "4384": {"op": "PUSH2", "value": "0x112B", "path": "3", "offset": [9970, 10018], "fn": "ERC721._safeTransfer", "statement": 52}, "4387": {"op": "DUP5", "path": "3", "offset": [9993, 9997], "fn": "ERC721._safeTransfer"}, "4388": {"op": "DUP5", "path": "3", "offset": [9999, 10001], "fn": "ERC721._safeTransfer"}, "4389": {"op": "DUP5", "path": "3", "offset": [10003, 10010], "fn": "ERC721._safeTransfer"}, "4390": {"op": "DUP5", "path": "3", "offset": [10012, 10017], "fn": "ERC721._safeTransfer"}, "4391": {"op": "PUSH2", "value": "0x147A", "path": "3", "offset": [9970, 9992], "fn": "ERC721._safeTransfer"}, "4394": {"op": "JUMP", "jump": "i", "path": "3", "offset": [9970, 10018], "fn": "ERC721._safeTransfer"}, "4395": {"op": "JUMPDEST", "path": "3", "offset": [9970, 10018], "fn": "ERC721._safeTransfer", "branch": 121}, "4396": {"op": "PUSH2", "value": "0xB05", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4399": {"op": "JUMPI", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer", "branch": 121}, "4400": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4402": {"op": "MLOAD", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4403": {"op": "PUSH3", "value": "0x461BCD"}, "4407": {"op": "PUSH1", "value": "0xE5"}, "4409": {"op": "SHL"}, "4410": {"op": "DUP2", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4411": {"op": "MSTORE", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4412": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4414": {"op": "ADD", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4415": {"op": "DUP1", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4416": {"op": "DUP1", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4417": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4419": {"op": "ADD", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4420": {"op": "DUP3", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4421": {"op": "DUP2", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4422": {"op": "SUB", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4423": {"op": "DUP3", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4424": {"op": "MSTORE", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4425": {"op": "PUSH1", "value": "0x32", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4427": {"op": "DUP2", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4428": {"op": "MSTORE", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4429": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4431": {"op": "ADD", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4432": {"op": "DUP1", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4433": {"op": "PUSH2", "value": "0x1B40", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4436": {"op": "PUSH1", "value": "0x32", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4438": {"op": "SWAP2", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4439": {"op": "CODECOPY", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4440": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4442": {"op": "ADD", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4443": {"op": "SWAP2", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4444": {"op": "POP", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4445": {"op": "POP", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4446": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4448": {"op": "MLOAD", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4449": {"op": "DUP1", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4450": {"op": "SWAP2", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4451": {"op": "SUB", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4452": {"op": "SWAP1", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4453": {"op": "REVERT", "path": "3", "offset": [9962, 10073], "fn": "ERC721._safeTransfer"}, "4454": {"op": "JUMPDEST", "path": "12", "offset": [210, 935], "fn": "Strings.toString"}, "4455": {"op": "PUSH1", "value": "0x60", "path": "12", "offset": [266, 279], "fn": "Strings.toString"}, "4457": {"op": "DUP2", "path": "12", "offset": [483, 493], "fn": "Strings.toString", "branch": 132}, "4458": {"op": "PUSH2", "value": "0x118B", "path": "12", "offset": [479, 530], "fn": "Strings.toString"}, "4461": {"op": "JUMPI", "path": "12", "offset": [479, 530], "fn": "Strings.toString", "branch": 132}, "4462": {"op": "POP"}, "4463": {"op": "PUSH1", "value": "0x40", "path": "12", "offset": [509, 519], "fn": "Strings.toString", "statement": 53}, "4465": {"op": "DUP1", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4466": {"op": "MLOAD", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4467": {"op": "DUP1", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4468": {"op": "DUP3", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4469": {"op": "ADD", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4470": {"op": "SWAP1", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4471": {"op": "SWAP2", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4472": {"op": "MSTORE", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4473": {"op": "PUSH1", "value": "0x1", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4475": {"op": "DUP2", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4476": {"op": "MSTORE", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4477": {"op": "PUSH1", "value": "0x3"}, "4479": {"op": "PUSH1", "value": "0xFC"}, "4481": {"op": "SHL"}, "4482": {"op": "PUSH1", "value": "0x20", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4484": {"op": "DUP3", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4485": {"op": "ADD", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4486": {"op": "MSTORE", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4487": {"op": "PUSH2", "value": "0x57D", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4490": {"op": "JUMP", "path": "12", "offset": [509, 519], "fn": "Strings.toString"}, "4491": {"op": "JUMPDEST", "path": "12", "offset": [479, 530], "fn": "Strings.toString"}, "4492": {"op": "DUP2", "path": "12", "offset": [554, 559], "fn": "Strings.toString"}, "4493": {"op": "PUSH1", "value": "0x0", "path": "12", "offset": [539, 551], "fn": "Strings.toString"}, "4495": {"op": "JUMPDEST", "path": "12", "offset": [593, 668], "fn": "Strings.toString"}, "4496": {"op": "DUP2", "path": "12", "offset": [600, 609], "fn": "Strings.toString"}, "4497": {"op": "ISZERO", "path": "12", "offset": [600, 609], "fn": "Strings.toString"}, "4498": {"op": "PUSH2", "value": "0x11A3", "path": "12", "offset": [593, 668], "fn": "Strings.toString"}, "4501": {"op": "JUMPI", "path": "12", "offset": [593, 668], "fn": "Strings.toString"}, "4502": {"op": "PUSH1", "value": "0x1", "path": "12", "offset": [625, 633], "fn": "Strings.toString", "statement": 54}, "4504": {"op": "ADD", "path": "12", "offset": [625, 633], "fn": "Strings.toString"}, "4505": {"op": "PUSH1", "value": "0xA", "path": "12", "offset": [655, 657], "fn": "Strings.toString", "statement": 55}, "4507": {"op": "DUP3", "path": "12", "offset": [647, 657], "fn": "Strings.toString"}, "4508": {"op": "DIV", "path": "12", "offset": [647, 657], "fn": "Strings.toString"}, "4509": {"op": "SWAP2", "path": "12", "offset": [647, 657], "fn": "Strings.toString"}, "4510": {"op": "POP", "path": "12", "offset": [647, 657], "fn": "Strings.toString"}, "4511": {"op": "PUSH2", "value": "0x118F", "path": "12", "offset": [593, 668], "fn": "Strings.toString"}, "4514": {"op": "JUMP", "path": "12", "offset": [593, 668], "fn": "Strings.toString"}, "4515": {"op": "JUMPDEST", "path": "12", "offset": [593, 668], "fn": "Strings.toString"}, "4516": {"op": "PUSH1", "value": "0x60", "path": "12", "offset": [677, 696], "fn": "Strings.toString"}, "4518": {"op": "DUP2", "path": "12", "offset": [709, 715], "fn": "Strings.toString"}, "4519": {"op": "PUSH8", "value": "0xFFFFFFFFFFFFFFFF", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4528": {"op": "DUP2", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4529": {"op": "GT", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4530": {"op": "DUP1"}, "4531": {"op": "ISZERO"}, "4532": {"op": "PUSH2", "value": "0x11BC"}, "4535": {"op": "JUMPI"}, "4536": {"op": "PUSH1", "value": "0x0"}, "4538": {"op": "DUP1"}, "4539": {"op": "REVERT"}, "4540": {"op": "JUMPDEST"}, "4541": {"op": "POP", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4542": {"op": "PUSH1", "value": "0x40", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4544": {"op": "MLOAD", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4545": {"op": "SWAP1", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4546": {"op": "DUP1", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4547": {"op": "DUP3", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4548": {"op": "MSTORE", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4549": {"op": "DUP1", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4550": {"op": "PUSH1", "value": "0x1F", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4552": {"op": "ADD", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4553": {"op": "PUSH1", "value": "0x1F", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4555": {"op": "NOT", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4556": {"op": "AND", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4557": {"op": "PUSH1", "value": "0x20", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4559": {"op": "ADD", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4560": {"op": "DUP3", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4561": {"op": "ADD", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4562": {"op": "PUSH1", "value": "0x40", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4564": {"op": "MSTORE", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4565": {"op": "DUP1", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4566": {"op": "ISZERO", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4567": {"op": "PUSH2", "value": "0x11E7", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4570": {"op": "JUMPI", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4571": {"op": "PUSH1", "value": "0x20", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4573": {"op": "DUP3", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4574": {"op": "ADD", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4575": {"op": "DUP2"}, "4576": {"op": "DUP1"}, "4577": {"op": "CALLDATASIZE"}, "4578": {"op": "DUP4", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4579": {"op": "CALLDATACOPY"}, "4580": {"op": "ADD"}, "4581": {"op": "SWAP1"}, "4582": {"op": "POP"}, "4583": {"op": "JUMPDEST", "path": "12", "offset": [699, 716], "fn": "Strings.toString"}, "4584": {"op": "POP"}, "4585": {"op": "DUP6", "path": "12", "offset": [769, 774], "fn": "Strings.toString", "statement": 56}, "4586": {"op": "SWAP4", "path": "12", "offset": [769, 774], "fn": "Strings.toString"}, "4587": {"op": "POP"}, "4588": {"op": "SWAP1", "path": "12", "offset": [677, 716], "fn": "Strings.toString"}, "4589": {"op": "POP"}, "4590": {"op": "PUSH1", "value": "0x0"}, "4592": {"op": "NOT"}, "4593": {"op": "DUP3", "path": "12", "offset": [742, 752], "fn": "Strings.toString"}, "4594": {"op": "ADD", "path": "12", "offset": [742, 752], "fn": "Strings.toString"}, "4595": {"op": "JUMPDEST", "path": "12", "offset": [784, 898], "fn": "Strings.toString"}, "4596": {"op": "DUP4", "path": "12", "offset": [791, 800], "fn": "Strings.toString"}, "4597": {"op": "ISZERO", "path": "12", "offset": [791, 800], "fn": "Strings.toString"}, "4598": {"op": "PUSH2", "value": "0x1238", "path": "12", "offset": [784, 898], "fn": "Strings.toString"}, "4601": {"op": "JUMPI", "path": "12", "offset": [784, 898], "fn": "Strings.toString"}, "4602": {"op": "PUSH1", "value": "0xA", "path": "12", "offset": [859, 861], "fn": "Strings.toString", "statement": 57}, "4604": {"op": "DUP5", "path": "12", "offset": [852, 856], "fn": "Strings.toString"}, "4605": {"op": "MOD", "path": "12", "offset": [852, 861], "fn": "Strings.toString"}, "4606": {"op": "PUSH1", "value": "0x30", "path": "12", "offset": [847, 849], "fn": "Strings.toString"}, "4608": {"op": "ADD", "path": "12", "offset": [847, 861], "fn": "Strings.toString"}, "4609": {"op": "PUSH1", "value": "0xF8", "path": "12", "offset": [834, 863], "fn": "Strings.toString"}, "4611": {"op": "SHL", "path": "12", "offset": [834, 863], "fn": "Strings.toString"}, "4612": {"op": "DUP3", "path": "12", "offset": [816, 822], "fn": "Strings.toString"}, "4613": {"op": "DUP3", "path": "12", "offset": [823, 830], "fn": "Strings.toString"}, "4614": {"op": "DUP1", "path": "12", "offset": [823, 830], "fn": "Strings.toString"}, "4615": {"op": "PUSH1", "value": "0x1", "path": "12", "offset": [823, 830], "fn": "Strings.toString"}, "4617": {"op": "SWAP1", "path": "12", "offset": [823, 830], "fn": "Strings.toString"}, "4618": {"op": "SUB", "path": "12", "offset": [823, 830], "fn": "Strings.toString"}, "4619": {"op": "SWAP4", "path": "12", "offset": [823, 830], "fn": "Strings.toString"}, "4620": {"op": "POP", "path": "12", "offset": [823, 830], "fn": "Strings.toString"}, "4621": {"op": "DUP2", "path": "12", "offset": [816, 831], "fn": "Strings.toString"}, "4622": {"op": "MLOAD", "path": "12", "offset": [816, 831], "fn": "Strings.toString"}, "4623": {"op": "DUP2", "path": "12", "offset": [816, 831], "fn": "Strings.toString"}, "4624": {"op": "LT", "path": "12", "offset": [816, 831], "fn": "Strings.toString"}, "4625": {"op": "PUSH2", "value": "0x1216", "path": "12", "offset": [816, 831], "fn": "Strings.toString"}, "4628": {"op": "JUMPI", "path": "12", "offset": [816, 831], "fn": "Strings.toString"}, "4629": {"op": "INVALID", "path": "12", "offset": [816, 831], "dev": "Index out of range", "fn": "Strings.toString"}, "4630": {"op": "JUMPDEST", "path": "12", "offset": [816, 831], "fn": "Strings.toString"}, "4631": {"op": "PUSH1", "value": "0x20", "path": "12", "offset": [816, 831], "fn": "Strings.toString"}, "4633": {"op": "ADD", "path": "12", "offset": [816, 831], "fn": "Strings.toString"}, "4634": {"op": "ADD", "path": "12", "offset": [816, 831], "fn": "Strings.toString"}, "4635": {"op": "SWAP1", "path": "12", "offset": [816, 863], "fn": "Strings.toString"}, "4636": {"op": "PUSH1", "value": "0x1"}, "4638": {"op": "PUSH1", "value": "0x1"}, "4640": {"op": "PUSH1", "value": "0xF8"}, "4642": {"op": "SHL"}, "4643": {"op": "SUB"}, "4644": {"op": "NOT", "path": "12", "offset": [816, 863], "fn": "Strings.toString"}, "4645": {"op": "AND", "path": "12", "offset": [816, 863], "fn": "Strings.toString"}, "4646": {"op": "SWAP1", "path": "12", "offset": [816, 863], "fn": "Strings.toString"}, "4647": {"op": "DUP2", "path": "12", "offset": [816, 863], "fn": "Strings.toString"}, "4648": {"op": "PUSH1", "value": "0x0", "path": "12", "offset": [816, 863], "fn": "Strings.toString"}, "4650": {"op": "BYTE", "path": "12", "offset": [816, 863], "fn": "Strings.toString"}, "4651": {"op": "SWAP1", "path": "12", "offset": [816, 863], "fn": "Strings.toString"}, "4652": {"op": "MSTORE8", "path": "12", "offset": [816, 863], "fn": "Strings.toString"}, "4653": {"op": "POP"}, "4654": {"op": "PUSH1", "value": "0xA", "path": "12", "offset": [885, 887], "fn": "Strings.toString", "statement": 58}, "4656": {"op": "DUP5", "path": "12", "offset": [877, 887], "fn": "Strings.toString"}, "4657": {"op": "DIV", "path": "12", "offset": [877, 887], "fn": "Strings.toString"}, "4658": {"op": "SWAP4", "path": "12", "offset": [877, 887], "fn": "Strings.toString"}, "4659": {"op": "POP", "path": "12", "offset": [877, 887], "fn": "Strings.toString"}, "4660": {"op": "PUSH2", "value": "0x11F3", "path": "12", "offset": [784, 898], "fn": "Strings.toString"}, "4663": {"op": "JUMP", "path": "12", "offset": [784, 898], "fn": "Strings.toString"}, "4664": {"op": "JUMPDEST", "path": "12", "offset": [784, 898], "fn": "Strings.toString"}, "4665": {"op": "POP"}, "4666": {"op": "SWAP5", "path": "12", "offset": [921, 927], "fn": "Strings.toString", "statement": 59}, "4667": {"op": "SWAP4", "path": "12", "offset": [210, 935], "fn": "Strings.toString"}, "4668": {"op": "POP"}, "4669": {"op": "POP"}, "4670": {"op": "POP"}, "4671": {"op": "POP"}, "4672": {"op": "JUMP", "jump": "o", "path": "12", "offset": [210, 935], "fn": "Strings.toString"}, "4673": {"op": "JUMPDEST", "path": "10", "offset": [7588, 7737], "fn": "EnumerableMap.contains"}, "4674": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [7672, 7676], "fn": "EnumerableMap.contains"}, "4676": {"op": "PUSH2", "value": "0x7E6", "path": "10", "offset": [7695, 7730], "fn": "EnumerableMap.contains", "statement": 60}, "4679": {"op": "DUP4", "path": "10", "offset": [7705, 7708], "fn": "EnumerableMap.contains"}, "4680": {"op": "DUP4", "path": "10", "offset": [7725, 7728], "fn": "EnumerableMap.contains"}, "4681": {"op": "PUSH2", "value": "0x15FA", "path": "10", "offset": [7695, 7704], "fn": "EnumerableMap.contains"}, "4684": {"op": "JUMP", "jump": "i", "path": "10", "offset": [7695, 7730], "fn": "EnumerableMap.contains"}, "4685": {"op": "JUMPDEST", "path": "10", "offset": [4491, 4599], "fn": "EnumerableMap._length"}, "4686": {"op": "SLOAD", "path": "10", "offset": [4573, 4592], "fn": "EnumerableMap._length", "statement": 61}, "4687": {"op": "SWAP1", "path": "10", "offset": [4573, 4592], "fn": "EnumerableMap._length"}, "4688": {"op": "JUMP", "jump": "o", "path": "10", "offset": [4491, 4599], "fn": "EnumerableMap._length"}, "4689": {"op": "JUMPDEST", "path": "11", "offset": [8365, 8500], "fn": "EnumerableSet.remove"}, "4690": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [8435, 8439], "fn": "EnumerableSet.remove"}, "4692": {"op": "PUSH2", "value": "0x7E6", "path": "11", "offset": [8458, 8493], "fn": "EnumerableSet.remove", "statement": 62}, "4695": {"op": "DUP4", "path": "11", "offset": [8466, 8469], "fn": "EnumerableSet.remove"}, "4696": {"op": "DUP4", "path": "11", "offset": [8486, 8491], "fn": "EnumerableSet.remove"}, "4697": {"op": "PUSH2", "value": "0x1612", "path": "11", "offset": [8458, 8465], "fn": "EnumerableSet.remove"}, "4700": {"op": "JUMP", "jump": "i", "path": "11", "offset": [8458, 8493], "fn": "EnumerableSet.remove"}, "4701": {"op": "JUMPDEST", "path": "11", "offset": [8068, 8197], "fn": "EnumerableSet.add"}, "4702": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [8135, 8139], "fn": "EnumerableSet.add"}, "4704": {"op": "PUSH2", "value": "0x7E6", "path": "11", "offset": [8158, 8190], "fn": "EnumerableSet.add", "statement": 63}, "4707": {"op": "DUP4", "path": "11", "offset": [8163, 8166], "fn": "EnumerableSet.add"}, "4708": {"op": "DUP4", "path": "11", "offset": [8183, 8188], "fn": "EnumerableSet.add"}, "4709": {"op": "PUSH2", "value": "0x16D8", "path": "11", "offset": [8158, 8162], "fn": "EnumerableSet.add"}, "4712": {"op": "JUMP", "jump": "i", "path": "11", "offset": [8158, 8190], "fn": "EnumerableSet.add"}, "4713": {"op": "JUMPDEST", "path": "10", "offset": [7027, 7210], "fn": "EnumerableMap.set"}, "4714": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [7116, 7120], "fn": "EnumerableMap.set"}, "4716": {"op": "PUSH2", "value": "0x1089", "path": "10", "offset": [7139, 7203], "fn": "EnumerableMap.set", "statement": 64}, "4719": {"op": "DUP5", "path": "10", "offset": [7144, 7147], "fn": "EnumerableMap.set"}, "4720": {"op": "DUP5", "path": "10", "offset": [7164, 7167], "fn": "EnumerableMap.set"}, "4721": {"op": "PUSH1", "value": "0x1"}, "4723": {"op": "PUSH1", "value": "0x1"}, "4725": {"op": "PUSH1", "value": "0xA0"}, "4727": {"op": "SHL"}, "4728": {"op": "SUB"}, "4729": {"op": "DUP6", "path": "10", "offset": [7178, 7201], "fn": "EnumerableMap.set"}, "4730": {"op": "AND", "path": "10", "offset": [7178, 7201], "fn": "EnumerableMap.set"}, "4731": {"op": "PUSH2", "value": "0x1722", "path": "10", "offset": [7139, 7143], "fn": "EnumerableMap.set"}, "4734": {"op": "JUMP", "jump": "i", "path": "10", "offset": [7139, 7203], "fn": "EnumerableMap.set"}, "4735": {"op": "JUMPDEST", "path": "11", "offset": [4452, 4653], "fn": "EnumerableSet._at"}, "4736": {"op": "DUP2", "path": "11", "offset": [4546, 4564], "fn": "EnumerableSet._at", "statement": 65}, "4737": {"op": "SLOAD", "path": "11", "offset": [4546, 4564], "fn": "EnumerableSet._at"}, "4738": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [4519, 4526], "fn": "EnumerableSet._at"}, "4740": {"op": "SWAP1", "path": "11", "offset": [4519, 4526], "fn": "EnumerableSet._at"}, "4741": {"op": "DUP3", "path": "11", "offset": [4546, 4572], "fn": "EnumerableSet._at", "branch": 129}, "4742": {"op": "LT"}, "4743": {"op": "PUSH2", "value": "0x12C1", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4746": {"op": "JUMPI", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at", "branch": 129}, "4747": {"op": "PUSH1", "value": "0x40", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4749": {"op": "MLOAD", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4750": {"op": "PUSH3", "value": "0x461BCD"}, "4754": {"op": "PUSH1", "value": "0xE5"}, "4756": {"op": "SHL"}, "4757": {"op": "DUP2", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4758": {"op": "MSTORE", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4759": {"op": "PUSH1", "value": "0x4", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4761": {"op": "ADD", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4762": {"op": "DUP1", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4763": {"op": "DUP1", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4764": {"op": "PUSH1", "value": "0x20", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4766": {"op": "ADD", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4767": {"op": "DUP3", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4768": {"op": "DUP2", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4769": {"op": "SUB", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4770": {"op": "DUP3", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4771": {"op": "MSTORE", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4772": {"op": "PUSH1", "value": "0x22", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4774": {"op": "DUP2", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4775": {"op": "MSTORE", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4776": {"op": "PUSH1", "value": "0x20", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4778": {"op": "ADD", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4779": {"op": "DUP1", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4780": {"op": "PUSH2", "value": "0x1B1E", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4783": {"op": "PUSH1", "value": "0x22", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4785": {"op": "SWAP2", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4786": {"op": "CODECOPY", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4787": {"op": "PUSH1", "value": "0x40", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4789": {"op": "ADD", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4790": {"op": "SWAP2", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4791": {"op": "POP", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4792": {"op": "POP", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4793": {"op": "PUSH1", "value": "0x40", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4795": {"op": "MLOAD", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4796": {"op": "DUP1", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4797": {"op": "SWAP2", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4798": {"op": "SUB", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4799": {"op": "SWAP1", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4800": {"op": "REVERT", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4801": {"op": "JUMPDEST", "path": "11", "offset": [4538, 4611], "fn": "EnumerableSet._at"}, "4802": {"op": "DUP3", "path": "11", "offset": [4628, 4631], "fn": "EnumerableSet._at", "statement": 66}, "4803": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [4628, 4639], "fn": "EnumerableSet._at"}, "4805": {"op": "ADD", "path": "11", "offset": [4628, 4639], "fn": "EnumerableSet._at"}, "4806": {"op": "DUP3", "path": "11", "offset": [4640, 4645], "fn": "EnumerableSet._at"}, "4807": {"op": "DUP2", "path": "11", "offset": [4628, 4646], "fn": "EnumerableSet._at"}, "4808": {"op": "SLOAD", "path": "11", "offset": [4628, 4646], "fn": "EnumerableSet._at"}, "4809": {"op": "DUP2", "path": "11", "offset": [4628, 4646], "fn": "EnumerableSet._at"}, "4810": {"op": "LT", "path": "11", "offset": [4628, 4646], "fn": "EnumerableSet._at"}, "4811": {"op": "PUSH2", "value": "0x12D0", "path": "11", "offset": [4628, 4646], "fn": "EnumerableSet._at"}, "4814": {"op": "JUMPI", "path": "11", "offset": [4628, 4646], "fn": "EnumerableSet._at"}, "4815": {"op": "INVALID", "path": "11", "offset": [4628, 4646], "dev": "Index out of range", "fn": "EnumerableSet._at"}, "4816": {"op": "JUMPDEST", "path": "11", "offset": [4628, 4646], "fn": "EnumerableSet._at"}, "4817": {"op": "SWAP1", "path": "11", "offset": [4628, 4646], "fn": "EnumerableSet._at"}, "4818": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [4628, 4646], "fn": "EnumerableSet._at"}, "4820": {"op": "MSTORE", "path": "11", "offset": [4628, 4646], "fn": "EnumerableSet._at"}, "4821": {"op": "PUSH1", "value": "0x20", "path": "11", "offset": [4628, 4646], "fn": "EnumerableSet._at"}, "4823": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [4628, 4646], "fn": "EnumerableSet._at"}, "4825": {"op": "KECCAK256", "path": "11", "offset": [4628, 4646], "fn": "EnumerableSet._at"}, "4826": {"op": "ADD", "path": "11", "offset": [4628, 4646], "fn": "EnumerableSet._at"}, "4827": {"op": "SLOAD", "path": "11", "offset": [4628, 4646], "fn": "EnumerableSet._at"}, "4828": {"op": "SWAP1", "path": "11", "offset": [4621, 4646], "fn": "EnumerableSet._at"}, "4829": {"op": "POP", "path": "11", "offset": [4621, 4646], "fn": "EnumerableSet._at"}, "4830": {"op": "SWAP3", "path": "11", "offset": [4452, 4653], "fn": "EnumerableSet._at"}, "4831": {"op": "SWAP2", "path": "11", "offset": [4452, 4653], "fn": "EnumerableSet._at"}, "4832": {"op": "POP", "path": "11", "offset": [4452, 4653], "fn": "EnumerableSet._at"}, "4833": {"op": "POP", "path": "11", "offset": [4452, 4653], "fn": "EnumerableSet._at"}, "4834": {"op": "JUMP", "jump": "o", "path": "11", "offset": [4452, 4653], "fn": "EnumerableSet._at"}, "4835": {"op": "JUMPDEST", "path": "10", "offset": [4942, 5216], "fn": "EnumerableMap._at"}, "4836": {"op": "DUP2", "path": "10", "offset": [5045, 5064], "fn": "EnumerableMap._at", "statement": 67}, "4837": {"op": "SLOAD", "path": "10", "offset": [5045, 5064], "fn": "EnumerableMap._at"}, "4838": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [5009, 5016], "fn": "EnumerableMap._at"}, "4840": {"op": "SWAP1", "path": "10", "offset": [5009, 5016], "fn": "EnumerableMap._at"}, "4841": {"op": "DUP2", "path": "10", "offset": [5009, 5016], "fn": "EnumerableMap._at"}, "4842": {"op": "SWAP1", "path": "10", "offset": [5009, 5016], "fn": "EnumerableMap._at"}, "4843": {"op": "DUP4", "path": "10", "offset": [5045, 5072], "fn": "EnumerableMap._at", "branch": 126}, "4844": {"op": "LT"}, "4845": {"op": "PUSH2", "value": "0x1327", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4848": {"op": "JUMPI", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at", "branch": 126}, "4849": {"op": "PUSH1", "value": "0x40", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4851": {"op": "MLOAD", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4852": {"op": "PUSH3", "value": "0x461BCD"}, "4856": {"op": "PUSH1", "value": "0xE5"}, "4858": {"op": "SHL"}, "4859": {"op": "DUP2", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4860": {"op": "MSTORE", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4861": {"op": "PUSH1", "value": "0x4", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4863": {"op": "ADD", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4864": {"op": "DUP1", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4865": {"op": "DUP1", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4866": {"op": "PUSH1", "value": "0x20", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4868": {"op": "ADD", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4869": {"op": "DUP3", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4870": {"op": "DUP2", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4871": {"op": "SUB", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4872": {"op": "DUP3", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4873": {"op": "MSTORE", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4874": {"op": "PUSH1", "value": "0x22", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4876": {"op": "DUP2", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4877": {"op": "MSTORE", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4878": {"op": "PUSH1", "value": "0x20", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4880": {"op": "ADD", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4881": {"op": "DUP1", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4882": {"op": "PUSH2", "value": "0x1C4D", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4885": {"op": "PUSH1", "value": "0x22", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4887": {"op": "SWAP2", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4888": {"op": "CODECOPY", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4889": {"op": "PUSH1", "value": "0x40", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4891": {"op": "ADD", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4892": {"op": "SWAP2", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4893": {"op": "POP", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4894": {"op": "POP", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4895": {"op": "PUSH1", "value": "0x40", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4897": {"op": "MLOAD", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4898": {"op": "DUP1", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4899": {"op": "SWAP2", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4900": {"op": "SUB", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4901": {"op": "SWAP1", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4902": {"op": "REVERT", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4903": {"op": "JUMPDEST", "path": "10", "offset": [5037, 5111], "fn": "EnumerableMap._at"}, "4904": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [5122, 5144], "fn": "EnumerableMap._at"}, "4906": {"op": "DUP5", "path": "10", "offset": [5147, 5150], "fn": "EnumerableMap._at"}, "4907": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [5147, 5159], "fn": "EnumerableMap._at"}, "4909": {"op": "ADD", "path": "10", "offset": [5147, 5159], "fn": "EnumerableMap._at"}, "4910": {"op": "DUP5", "path": "10", "offset": [5160, 5165], "fn": "EnumerableMap._at"}, "4911": {"op": "DUP2", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4912": {"op": "SLOAD", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4913": {"op": "DUP2", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4914": {"op": "LT", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4915": {"op": "PUSH2", "value": "0x1338", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4918": {"op": "JUMPI", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4919": {"op": "INVALID", "path": "10", "offset": [5147, 5166], "dev": "Index out of range", "fn": "EnumerableMap._at"}, "4920": {"op": "JUMPDEST", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4921": {"op": "SWAP1", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4922": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4924": {"op": "MSTORE", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4925": {"op": "PUSH1", "value": "0x20", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4927": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4929": {"op": "KECCAK256", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4930": {"op": "SWAP1", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4931": {"op": "PUSH1", "value": "0x2", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4933": {"op": "MUL", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4934": {"op": "ADD", "path": "10", "offset": [5147, 5166], "fn": "EnumerableMap._at"}, "4935": {"op": "SWAP1", "path": "10", "offset": [5122, 5166], "fn": "EnumerableMap._at"}, "4936": {"op": "POP", "path": "10", "offset": [5122, 5166], "fn": "EnumerableMap._at"}, "4937": {"op": "DUP1", "path": "10", "offset": [5184, 5189], "fn": "EnumerableMap._at", "statement": 68}, "4938": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [5184, 5194], "fn": "EnumerableMap._at"}, "4940": {"op": "ADD", "path": "10", "offset": [5184, 5194], "fn": "EnumerableMap._at"}, "4941": {"op": "SLOAD", "path": "10", "offset": [5184, 5194], "fn": "EnumerableMap._at"}, "4942": {"op": "DUP2", "path": "10", "offset": [5196, 5201], "fn": "EnumerableMap._at"}, "4943": {"op": "PUSH1", "value": "0x1", "path": "10", "offset": [5196, 5208], "fn": "EnumerableMap._at"}, "4945": {"op": "ADD", "path": "10", "offset": [5196, 5208], "fn": "EnumerableMap._at"}, "4946": {"op": "SLOAD", "path": "10", "offset": [5196, 5208], "fn": "EnumerableMap._at"}, "4947": {"op": "SWAP3", "path": "10", "offset": [5176, 5209], "fn": "EnumerableMap._at"}, "4948": {"op": "POP", "path": "10", "offset": [5176, 5209], "fn": "EnumerableMap._at"}, "4949": {"op": "SWAP3", "path": "10", "offset": [5176, 5209], "fn": "EnumerableMap._at"}, "4950": {"op": "POP", "path": "10", "offset": [5176, 5209], "fn": "EnumerableMap._at"}, "4951": {"op": "POP", "path": "10", "offset": [5176, 5209], "fn": "EnumerableMap._at"}, "4952": {"op": "SWAP3", "path": "10", "offset": [4942, 5216], "fn": "EnumerableMap._at"}, "4953": {"op": "POP", "path": "10", "offset": [4942, 5216], "fn": "EnumerableMap._at"}, "4954": {"op": "SWAP3", "path": "10", "offset": [4942, 5216], "fn": "EnumerableMap._at"}, "4955": {"op": "SWAP1", "path": "10", "offset": [4942, 5216], "fn": "EnumerableMap._at"}, "4956": {"op": "POP", "path": "10", "offset": [4942, 5216], "fn": "EnumerableMap._at"}, "4957": {"op": "JUMP", "jump": "o", "path": "10", "offset": [4942, 5216], "fn": "EnumerableMap._at"}, "4958": {"op": "JUMPDEST", "path": "10", "offset": [6403, 6718], "fn": "EnumerableMap._get"}, "4959": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [6497, 6504], "fn": "EnumerableMap._get"}, "4961": {"op": "DUP3", "path": "10", "offset": [6535, 6552], "fn": "EnumerableMap._get"}, "4962": {"op": "DUP2", "path": "10", "offset": [6535, 6552], "fn": "EnumerableMap._get"}, "4963": {"op": "MSTORE", "path": "10", "offset": [6535, 6552], "fn": "EnumerableMap._get"}, "4964": {"op": "PUSH1", "value": "0x1", "path": "10", "offset": [6535, 6547], "fn": "EnumerableMap._get"}, "4966": {"op": "DUP5", "path": "10", "offset": [6535, 6547], "fn": "EnumerableMap._get"}, "4967": {"op": "ADD", "path": "10", "offset": [6535, 6547], "fn": "EnumerableMap._get"}, "4968": {"op": "PUSH1", "value": "0x20", "path": "10", "offset": [6535, 6552], "fn": "EnumerableMap._get"}, "4970": {"op": "MSTORE", "path": "10", "offset": [6535, 6552], "fn": "EnumerableMap._get"}, "4971": {"op": "PUSH1", "value": "0x40", "path": "10", "offset": [6535, 6552], "fn": "EnumerableMap._get"}, "4973": {"op": "DUP2", "path": "10", "offset": [6535, 6552], "fn": "EnumerableMap._get"}, "4974": {"op": "KECCAK256", "path": "10", "offset": [6535, 6552], "fn": "EnumerableMap._get"}, "4975": {"op": "SLOAD", "path": "10", "offset": [6535, 6552], "fn": "EnumerableMap._get"}, "4976": {"op": "DUP3", "path": "10", "offset": [6585, 6597], "fn": "EnumerableMap._get", "statement": 69}, "4977": {"op": "DUP2", "path": "10", "offset": [6570, 6583], "fn": "EnumerableMap._get", "branch": 127}, "4978": {"op": "PUSH2", "value": "0x13F9", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "4981": {"op": "JUMPI", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get", "branch": 127}, "4982": {"op": "PUSH1", "value": "0x40", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "4984": {"op": "MLOAD", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "4985": {"op": "PUSH3", "value": "0x461BCD"}, "4989": {"op": "PUSH1", "value": "0xE5"}, "4991": {"op": "SHL"}, "4992": {"op": "DUP2", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "4993": {"op": "MSTORE", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "4994": {"op": "PUSH1", "value": "0x4", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "4996": {"op": "ADD", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "4997": {"op": "DUP1", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "4998": {"op": "DUP1", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "4999": {"op": "PUSH1", "value": "0x20", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5001": {"op": "ADD", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5002": {"op": "DUP3", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5003": {"op": "DUP2", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5004": {"op": "SUB", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5005": {"op": "DUP3", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5006": {"op": "MSTORE", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5007": {"op": "DUP4", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5008": {"op": "DUP2", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5009": {"op": "DUP2", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5010": {"op": "MLOAD", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5011": {"op": "DUP2", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5012": {"op": "MSTORE", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5013": {"op": "PUSH1", "value": "0x20", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5015": {"op": "ADD", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5016": {"op": "SWAP2", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5017": {"op": "POP", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5018": {"op": "DUP1", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5019": {"op": "MLOAD", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5020": {"op": "SWAP1", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5021": {"op": "PUSH1", "value": "0x20", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5023": {"op": "ADD", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5024": {"op": "SWAP1", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5025": {"op": "DUP1", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5026": {"op": "DUP4", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5027": {"op": "DUP4", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5028": {"op": "PUSH1", "value": "0x0"}, "5030": {"op": "JUMPDEST"}, "5031": {"op": "DUP4"}, "5032": {"op": "DUP2"}, "5033": {"op": "LT"}, "5034": {"op": "ISZERO"}, "5035": {"op": "PUSH2", "value": "0x13BE"}, "5038": {"op": "JUMPI"}, "5039": {"op": "DUP2"}, "5040": {"op": "DUP2"}, "5041": {"op": "ADD"}, "5042": {"op": "MLOAD"}, "5043": {"op": "DUP4"}, "5044": {"op": "DUP3"}, "5045": {"op": "ADD"}, "5046": {"op": "MSTORE"}, "5047": {"op": "PUSH1", "value": "0x20"}, "5049": {"op": "ADD"}, "5050": {"op": "PUSH2", "value": "0x13A6"}, "5053": {"op": "JUMP"}, "5054": {"op": "JUMPDEST"}, "5055": {"op": "POP"}, "5056": {"op": "POP", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5057": {"op": "POP", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5058": {"op": "POP", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5059": {"op": "SWAP1", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5060": {"op": "POP", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5061": {"op": "SWAP1", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5062": {"op": "DUP2", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5063": {"op": "ADD", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5064": {"op": "SWAP1", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5065": {"op": "PUSH1", "value": "0x1F", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5067": {"op": "AND", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5068": {"op": "DUP1", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5069": {"op": "ISZERO", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5070": {"op": "PUSH2", "value": "0x13EB", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5073": {"op": "JUMPI", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5074": {"op": "DUP1", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5075": {"op": "DUP3", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5076": {"op": "SUB", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5077": {"op": "DUP1", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5078": {"op": "MLOAD", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5079": {"op": "PUSH1", "value": "0x1", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5081": {"op": "DUP4", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5082": {"op": "PUSH1", "value": "0x20", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5084": {"op": "SUB", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5085": {"op": "PUSH2", "value": "0x100", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5088": {"op": "EXP", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5089": {"op": "SUB", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5090": {"op": "NOT", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5091": {"op": "AND", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5092": {"op": "DUP2", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5093": {"op": "MSTORE", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5094": {"op": "PUSH1", "value": "0x20", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5096": {"op": "ADD", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5097": {"op": "SWAP2", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5098": {"op": "POP", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5099": {"op": "JUMPDEST", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5100": {"op": "POP", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5101": {"op": "SWAP3", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5102": {"op": "POP", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5103": {"op": "POP", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5104": {"op": "POP", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5105": {"op": "PUSH1", "value": "0x40", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5107": {"op": "MLOAD", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5108": {"op": "DUP1", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5109": {"op": "SWAP2", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5110": {"op": "SUB", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5111": {"op": "SWAP1", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5112": {"op": "REVERT", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5113": {"op": "JUMPDEST", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5114": {"op": "POP", "path": "10", "offset": [6562, 6598], "fn": "EnumerableMap._get"}, "5115": {"op": "DUP5", "path": "10", "offset": [6651, 6654], "fn": "EnumerableMap._get", "statement": 70}, "5116": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [6651, 6663], "fn": "EnumerableMap._get"}, "5118": {"op": "ADD", "path": "10", "offset": [6651, 6663], "fn": "EnumerableMap._get"}, "5119": {"op": "PUSH1", "value": "0x1", "path": "10", "offset": [6675, 6676], "fn": "EnumerableMap._get"}, "5121": {"op": "DUP3", "path": "10", "offset": [6664, 6672], "fn": "EnumerableMap._get"}, "5122": {"op": "SUB", "path": "10", "offset": [6664, 6676], "fn": "EnumerableMap._get"}, "5123": {"op": "DUP2", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5124": {"op": "SLOAD", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5125": {"op": "DUP2", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5126": {"op": "LT", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5127": {"op": "PUSH2", "value": "0x140C", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5130": {"op": "JUMPI", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5131": {"op": "INVALID", "path": "10", "offset": [6651, 6677], "dev": "Index out of range", "fn": "EnumerableMap._get"}, "5132": {"op": "JUMPDEST", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5133": {"op": "SWAP1", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5134": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5136": {"op": "MSTORE", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5137": {"op": "PUSH1", "value": "0x20", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5139": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5141": {"op": "KECCAK256", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5142": {"op": "SWAP1", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5143": {"op": "PUSH1", "value": "0x2", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5145": {"op": "MUL", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5146": {"op": "ADD", "path": "10", "offset": [6651, 6677], "fn": "EnumerableMap._get"}, "5147": {"op": "PUSH1", "value": "0x1", "path": "10", "offset": [6651, 6684], "fn": "EnumerableMap._get"}, "5149": {"op": "ADD", "path": "10", "offset": [6651, 6684], "fn": "EnumerableMap._get"}, "5150": {"op": "SLOAD", "path": "10", "offset": [6651, 6684], "fn": "EnumerableMap._get"}, "5151": {"op": "SWAP2", "path": "10", "offset": [6644, 6684], "fn": "EnumerableMap._get"}, "5152": {"op": "POP", "path": "10", "offset": [6644, 6684], "fn": "EnumerableMap._get"}, "5153": {"op": "POP", "path": "10", "offset": [6644, 6684], "fn": "EnumerableMap._get"}, "5154": {"op": "SWAP4", "path": "10", "offset": [6403, 6718], "fn": "EnumerableMap._get"}, "5155": {"op": "SWAP3", "path": "10", "offset": [6403, 6718], "fn": "EnumerableMap._get"}, "5156": {"op": "POP", "path": "10", "offset": [6403, 6718], "fn": "EnumerableMap._get"}, "5157": {"op": "POP", "path": "10", "offset": [6403, 6718], "fn": "EnumerableMap._get"}, "5158": {"op": "POP", "path": "10", "offset": [6403, 6718], "fn": "EnumerableMap._get"}, "5159": {"op": "JUMP", "jump": "o", "path": "10", "offset": [6403, 6718], "fn": "EnumerableMap._get"}, "5160": {"op": "JUMPDEST", "path": "3", "offset": [11677, 11924], "fn": "ERC721._safeMint"}, "5161": {"op": "PUSH2", "value": "0x1432", "path": "3", "offset": [11772, 11790], "fn": "ERC721._safeMint", "statement": 71}, "5164": {"op": "DUP4", "path": "3", "offset": [11778, 11780], "fn": "ERC721._safeMint"}, "5165": {"op": "DUP4", "path": "3", "offset": [11782, 11789], "fn": "ERC721._safeMint"}, "5166": {"op": "PUSH2", "value": "0x17B9", "path": "3", "offset": [11772, 11777], "fn": "ERC721._safeMint"}, "5169": {"op": "JUMP", "jump": "i", "path": "3", "offset": [11772, 11790], "fn": "ERC721._safeMint"}, "5170": {"op": "JUMPDEST", "path": "3", "offset": [11772, 11790], "fn": "ERC721._safeMint"}, "5171": {"op": "PUSH2", "value": "0x143F", "path": "3", "offset": [11808, 11862], "fn": "ERC721._safeMint", "statement": 72}, "5174": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [11839, 11840], "fn": "ERC721._safeMint"}, "5176": {"op": "DUP5", "path": "3", "offset": [11843, 11845], "fn": "ERC721._safeMint"}, "5177": {"op": "DUP5", "path": "3", "offset": [11847, 11854], "fn": "ERC721._safeMint"}, "5178": {"op": "DUP5", "path": "3", "offset": [11856, 11861], "fn": "ERC721._safeMint"}, "5179": {"op": "PUSH2", "value": "0x147A", "path": "3", "offset": [11808, 11830], "fn": "ERC721._safeMint"}, "5182": {"op": "JUMP", "jump": "i", "path": "3", "offset": [11808, 11862], "fn": "ERC721._safeMint"}, "5183": {"op": "JUMPDEST", "path": "3", "offset": [11808, 11862], "fn": "ERC721._safeMint", "branch": 122}, "5184": {"op": "PUSH2", "value": "0x751", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5187": {"op": "JUMPI", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint", "branch": 122}, "5188": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5190": {"op": "MLOAD", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5191": {"op": "PUSH3", "value": "0x461BCD"}, "5195": {"op": "PUSH1", "value": "0xE5"}, "5197": {"op": "SHL"}, "5198": {"op": "DUP2", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5199": {"op": "MSTORE", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5200": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5202": {"op": "ADD", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5203": {"op": "DUP1", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5204": {"op": "DUP1", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5205": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5207": {"op": "ADD", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5208": {"op": "DUP3", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5209": {"op": "DUP2", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5210": {"op": "SUB", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5211": {"op": "DUP3", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5212": {"op": "MSTORE", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5213": {"op": "PUSH1", "value": "0x32", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5215": {"op": "DUP2", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5216": {"op": "MSTORE", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5217": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5219": {"op": "ADD", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5220": {"op": "DUP1", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5221": {"op": "PUSH2", "value": "0x1B40", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5224": {"op": "PUSH1", "value": "0x32", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5226": {"op": "SWAP2", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5227": {"op": "CODECOPY", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5228": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5230": {"op": "ADD", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5231": {"op": "SWAP2", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5232": {"op": "POP", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5233": {"op": "POP", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5234": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5236": {"op": "MLOAD", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5237": {"op": "DUP1", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5238": {"op": "SWAP2", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5239": {"op": "SUB", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5240": {"op": "SWAP1", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5241": {"op": "REVERT", "path": "3", "offset": [11800, 11917], "fn": "ERC721._safeMint"}, "5242": {"op": "JUMPDEST", "path": "3", "offset": [15524, 16113], "fn": "ERC721._checkOnERC721Received"}, "5243": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [15644, 15648], "fn": "ERC721._checkOnERC721Received"}, "5245": {"op": "PUSH2", "value": "0x148E", "path": "3", "offset": [15669, 15684], "fn": "ERC721._checkOnERC721Received"}, "5248": {"op": "DUP5", "path": "3", "offset": [15669, 15671], "fn": "ERC721._checkOnERC721Received"}, "5249": {"op": "PUSH1", "value": "0x1"}, "5251": {"op": "PUSH1", "value": "0x1"}, "5253": {"op": "PUSH1", "value": "0xA0"}, "5255": {"op": "SHL"}, "5256": {"op": "SUB"}, "5257": {"op": "AND", "path": "3", "offset": [15669, 15682], "fn": "ERC721._checkOnERC721Received"}, "5258": {"op": "PUSH2", "value": "0x18F3", "path": "3", "offset": [15669, 15682], "fn": "ERC721._checkOnERC721Received"}, "5261": {"op": "JUMP", "jump": "i", "path": "3", "offset": [15669, 15684], "fn": "ERC721._checkOnERC721Received"}, "5262": {"op": "JUMPDEST", "path": "3", "offset": [15669, 15684], "fn": "ERC721._checkOnERC721Received", "branch": 123}, "5263": {"op": "PUSH2", "value": "0x149A", "path": "3", "offset": [15664, 15722], "fn": "ERC721._checkOnERC721Received"}, "5266": {"op": "JUMPI", "path": "3", "offset": [15664, 15722], "fn": "ERC721._checkOnERC721Received", "branch": 123}, "5267": {"op": "POP"}, "5268": {"op": "PUSH1", "value": "0x1", "path": "3", "offset": [15707, 15711], "fn": "ERC721._checkOnERC721Received", "statement": 73}, "5270": {"op": "PUSH2", "value": "0xEEE", "path": "3", "offset": [15700, 15711], "fn": "ERC721._checkOnERC721Received"}, "5273": {"op": "JUMP", "path": "3", "offset": [15700, 15711], "fn": "ERC721._checkOnERC721Received"}, "5274": {"op": "JUMPDEST", "path": "3", "offset": [15664, 15722], "fn": "ERC721._checkOnERC721Received"}, "5275": {"op": "PUSH1", "value": "0x60", "path": "3", "offset": [15731, 15754], "fn": "ERC721._checkOnERC721Received"}, "5277": {"op": "PUSH2", "value": "0x15C0", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5280": {"op": "PUSH4", "value": "0xA85BD01"}, "5285": {"op": "PUSH1", "value": "0xE1"}, "5287": {"op": "SHL"}, "5288": {"op": "PUSH2", "value": "0x14AF", "path": "3", "offset": [15868, 15880], "fn": "ERC721._checkOnERC721Received"}, "5291": {"op": "PUSH2", "value": "0xDD5", "path": "3", "offset": [15868, 15878], "fn": "ERC721._checkOnERC721Received"}, "5294": {"op": "JUMP", "jump": "i", "path": "3", "offset": [15868, 15880], "fn": "ERC721._checkOnERC721Received"}, "5295": {"op": "JUMPDEST", "path": "3", "offset": [15868, 15880], "fn": "ERC721._checkOnERC721Received"}, "5296": {"op": "DUP9", "path": "3", "offset": [15894, 15898], "fn": "ERC721._checkOnERC721Received"}, "5297": {"op": "DUP8", "path": "3", "offset": [15912, 15919], "fn": "ERC721._checkOnERC721Received"}, "5298": {"op": "DUP8", "path": "3", "offset": [15933, 15938], "fn": "ERC721._checkOnERC721Received"}, "5299": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5301": {"op": "MLOAD", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5302": {"op": "PUSH1", "value": "0x24", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5304": {"op": "ADD", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5305": {"op": "DUP1", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5306": {"op": "DUP6", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5307": {"op": "PUSH1", "value": "0x1"}, "5309": {"op": "PUSH1", "value": "0x1"}, "5311": {"op": "PUSH1", "value": "0xA0"}, "5313": {"op": "SHL"}, "5314": {"op": "SUB"}, "5315": {"op": "AND", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5316": {"op": "PUSH1", "value": "0x1"}, "5318": {"op": "PUSH1", "value": "0x1"}, "5320": {"op": "PUSH1", "value": "0xA0"}, "5322": {"op": "SHL"}, "5323": {"op": "SUB"}, "5324": {"op": "AND", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5325": {"op": "DUP2", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5326": {"op": "MSTORE", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5327": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5329": {"op": "ADD", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5330": {"op": "DUP5", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5331": {"op": "PUSH1", "value": "0x1"}, "5333": {"op": "PUSH1", "value": "0x1"}, "5335": {"op": "PUSH1", "value": "0xA0"}, "5337": {"op": "SHL"}, "5338": {"op": "SUB"}, "5339": {"op": "AND", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5340": {"op": "PUSH1", "value": "0x1"}, "5342": {"op": "PUSH1", "value": "0x1"}, "5344": {"op": "PUSH1", "value": "0xA0"}, "5346": {"op": "SHL"}, "5347": {"op": "SUB"}, "5348": {"op": "AND", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5349": {"op": "DUP2", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5350": {"op": "MSTORE", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5351": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5353": {"op": "ADD", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5354": {"op": "DUP4", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5355": {"op": "DUP2", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5356": {"op": "MSTORE", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5357": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5359": {"op": "ADD", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5360": {"op": "DUP1", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5361": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5363": {"op": "ADD", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5364": {"op": "DUP3", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5365": {"op": "DUP2", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5366": {"op": "SUB", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5367": {"op": "DUP3", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5368": {"op": "MSTORE", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5369": {"op": "DUP4", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5370": {"op": "DUP2", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5371": {"op": "DUP2", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5372": {"op": "MLOAD", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5373": {"op": "DUP2", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5374": {"op": "MSTORE", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5375": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5377": {"op": "ADD", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5378": {"op": "SWAP2", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5379": {"op": "POP", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5380": {"op": "DUP1", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5381": {"op": "MLOAD", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5382": {"op": "SWAP1", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5383": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5385": {"op": "ADD", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5386": {"op": "SWAP1", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5387": {"op": "DUP1", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5388": {"op": "DUP4", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5389": {"op": "DUP4", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5390": {"op": "PUSH1", "value": "0x0"}, "5392": {"op": "JUMPDEST"}, "5393": {"op": "DUP4"}, "5394": {"op": "DUP2"}, "5395": {"op": "LT"}, "5396": {"op": "ISZERO"}, "5397": {"op": "PUSH2", "value": "0x1528"}, "5400": {"op": "JUMPI"}, "5401": {"op": "DUP2"}, "5402": {"op": "DUP2"}, "5403": {"op": "ADD"}, "5404": {"op": "MLOAD"}, "5405": {"op": "DUP4"}, "5406": {"op": "DUP3"}, "5407": {"op": "ADD"}, "5408": {"op": "MSTORE"}, "5409": {"op": "PUSH1", "value": "0x20"}, "5411": {"op": "ADD"}, "5412": {"op": "PUSH2", "value": "0x1510"}, "5415": {"op": "JUMP"}, "5416": {"op": "JUMPDEST"}, "5417": {"op": "POP"}, "5418": {"op": "POP", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5419": {"op": "POP", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5420": {"op": "POP", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5421": {"op": "SWAP1", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5422": {"op": "POP", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5423": {"op": "SWAP1", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5424": {"op": "DUP2", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5425": {"op": "ADD", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5426": {"op": "SWAP1", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5427": {"op": "PUSH1", "value": "0x1F", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5429": {"op": "AND", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5430": {"op": "DUP1", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5431": {"op": "ISZERO", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5432": {"op": "PUSH2", "value": "0x1555", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5435": {"op": "JUMPI", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5436": {"op": "DUP1", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5437": {"op": "DUP3", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5438": {"op": "SUB", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5439": {"op": "DUP1", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5440": {"op": "MLOAD", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5441": {"op": "PUSH1", "value": "0x1", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5443": {"op": "DUP4", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5444": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5446": {"op": "SUB", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5447": {"op": "PUSH2", "value": "0x100", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5450": {"op": "EXP", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5451": {"op": "SUB", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5452": {"op": "NOT", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5453": {"op": "AND", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5454": {"op": "DUP2", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5455": {"op": "MSTORE", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5456": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5458": {"op": "ADD", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5459": {"op": "SWAP2", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5460": {"op": "POP", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5461": {"op": "JUMPDEST", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5462": {"op": "POP", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5463": {"op": "SWAP6", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5464": {"op": "POP", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5465": {"op": "POP", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5466": {"op": "POP", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5467": {"op": "POP", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5468": {"op": "POP", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5469": {"op": "POP", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5470": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5472": {"op": "MLOAD", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5473": {"op": "PUSH1", "value": "0x20"}, "5475": {"op": "DUP2"}, "5476": {"op": "DUP4"}, "5477": {"op": "SUB"}, "5478": {"op": "SUB"}, "5479": {"op": "DUP2"}, "5480": {"op": "MSTORE"}, "5481": {"op": "SWAP1", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5482": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5484": {"op": "MSTORE", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5485": {"op": "SWAP1", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5486": {"op": "PUSH1", "value": "0x1"}, "5488": {"op": "PUSH1", "value": "0x1"}, "5490": {"op": "PUSH1", "value": "0xE0"}, "5492": {"op": "SHL"}, "5493": {"op": "SUB"}, "5494": {"op": "NOT", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5495": {"op": "AND", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5496": {"op": "PUSH1", "value": "0x20"}, "5498": {"op": "DUP3"}, "5499": {"op": "ADD"}, "5500": {"op": "DUP1"}, "5501": {"op": "MLOAD"}, "5502": {"op": "PUSH1", "value": "0x1"}, "5504": {"op": "PUSH1", "value": "0x1"}, "5506": {"op": "PUSH1", "value": "0xE0"}, "5508": {"op": "SHL"}, "5509": {"op": "SUB"}, "5510": {"op": "DUP4"}, "5511": {"op": "DUP2"}, "5512": {"op": "DUP4"}, "5513": {"op": "AND"}, "5514": {"op": "OR"}, "5515": {"op": "DUP4"}, "5516": {"op": "MSTORE"}, "5517": {"op": "POP"}, "5518": {"op": "POP"}, "5519": {"op": "POP"}, "5520": {"op": "POP", "path": "3", "offset": [15773, 15948], "fn": "ERC721._checkOnERC721Received"}, "5521": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5523": {"op": "MLOAD", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5524": {"op": "DUP1", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5525": {"op": "PUSH1", "value": "0x60", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5527": {"op": "ADD", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5528": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5530": {"op": "MSTORE", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5531": {"op": "DUP1", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5532": {"op": "PUSH1", "value": "0x32", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5534": {"op": "DUP2", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5535": {"op": "MSTORE", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5536": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5538": {"op": "ADD", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5539": {"op": "PUSH2", "value": "0x1B40", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5542": {"op": "PUSH1", "value": "0x32", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5544": {"op": "SWAP2", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5545": {"op": "CODECOPY", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5546": {"op": "PUSH1", "value": "0x1"}, "5548": {"op": "PUSH1", "value": "0x1"}, "5550": {"op": "PUSH1", "value": "0xA0"}, "5552": {"op": "SHL"}, "5553": {"op": "SUB"}, "5554": {"op": "DUP9", "path": "3", "offset": [15757, 15772], "fn": "ERC721._checkOnERC721Received"}, "5555": {"op": "AND", "path": "3", "offset": [15757, 15772], "fn": "ERC721._checkOnERC721Received"}, "5556": {"op": "SWAP2", "path": "3", "offset": [15757, 15772], "fn": "ERC721._checkOnERC721Received"}, "5557": {"op": "SWAP1", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5558": {"op": "PUSH4", "value": "0xFFFFFFFF", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5563": {"op": "PUSH2", "value": "0x18F9", "path": "3", "offset": [15757, 15772], "fn": "ERC721._checkOnERC721Received"}, "5566": {"op": "AND", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5567": {"op": "JUMP", "jump": "i", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5568": {"op": "JUMPDEST", "path": "3", "offset": [15757, 16003], "fn": "ERC721._checkOnERC721Received"}, "5569": {"op": "SWAP1", "path": "3", "offset": [15731, 16003], "fn": "ERC721._checkOnERC721Received"}, "5570": {"op": "POP", "path": "3", "offset": [15731, 16003], "fn": "ERC721._checkOnERC721Received"}, "5571": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [16013, 16026], "fn": "ERC721._checkOnERC721Received"}, "5573": {"op": "DUP2", "path": "3", "offset": [16040, 16050], "fn": "ERC721._checkOnERC721Received"}, "5574": {"op": "DUP1", "path": "3", "offset": [16029, 16061], "fn": "ERC721._checkOnERC721Received"}, "5575": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [16029, 16061], "fn": "ERC721._checkOnERC721Received"}, "5577": {"op": "ADD", "path": "3", "offset": [16029, 16061], "fn": "ERC721._checkOnERC721Received"}, "5578": {"op": "SWAP1", "path": "3", "offset": [16029, 16061], "fn": "ERC721._checkOnERC721Received"}, "5579": {"op": "MLOAD", "path": "3", "offset": [16029, 16061], "fn": "ERC721._checkOnERC721Received"}, "5580": {"op": "PUSH1", "value": "0x20"}, "5582": {"op": "DUP2"}, "5583": {"op": "LT"}, "5584": {"op": "ISZERO"}, "5585": {"op": "PUSH2", "value": "0x15D9"}, "5588": {"op": "JUMPI"}, "5589": {"op": "PUSH1", "value": "0x0"}, "5591": {"op": "DUP1"}, "5592": {"op": "REVERT"}, "5593": {"op": "JUMPDEST"}, "5594": {"op": "POP"}, "5595": {"op": "MLOAD", "path": "3", "offset": [16029, 16061], "fn": "ERC721._checkOnERC721Received"}, "5596": {"op": "PUSH1", "value": "0x1"}, "5598": {"op": "PUSH1", "value": "0x1"}, "5600": {"op": "PUSH1", "value": "0xE0"}, "5602": {"op": "SHL"}, "5603": {"op": "SUB"}, "5604": {"op": "NOT"}, "5605": {"op": "AND", "path": "3", "offset": [16079, 16105], "fn": "ERC721._checkOnERC721Received", "statement": 74}, "5606": {"op": "PUSH4", "value": "0xA85BD01"}, "5611": {"op": "PUSH1", "value": "0xE1"}, "5613": {"op": "SHL"}, "5614": {"op": "EQ", "path": "3", "offset": [16079, 16105], "fn": "ERC721._checkOnERC721Received"}, "5615": {"op": "SWAP3", "path": "3", "offset": [16079, 16105], "fn": "ERC721._checkOnERC721Received"}, "5616": {"op": "POP"}, "5617": {"op": "POP"}, "5618": {"op": "POP"}, "5619": {"op": "SWAP5", "path": "3", "offset": [15524, 16113], "fn": "ERC721._checkOnERC721Received"}, "5620": {"op": "SWAP4", "path": "3", "offset": [15524, 16113], "fn": "ERC721._checkOnERC721Received"}, "5621": {"op": "POP", "path": "3", "offset": [15524, 16113], "fn": "ERC721._checkOnERC721Received"}, "5622": {"op": "POP", "path": "3", "offset": [15524, 16113], "fn": "ERC721._checkOnERC721Received"}, "5623": {"op": "POP", "path": "3", "offset": [15524, 16113], "fn": "ERC721._checkOnERC721Received"}, "5624": {"op": "POP", "path": "3", "offset": [15524, 16113], "fn": "ERC721._checkOnERC721Received"}, "5625": {"op": "JUMP", "jump": "o", "path": "3", "offset": [15524, 16113], "fn": "ERC721._checkOnERC721Received"}, "5626": {"op": "JUMPDEST", "path": "10", "offset": [4278, 4401], "fn": "EnumerableMap._contains"}, "5627": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [4349, 4353], "fn": "EnumerableMap._contains"}, "5629": {"op": "SWAP1", "path": "10", "offset": [4372, 4389], "fn": "EnumerableMap._contains", "statement": 75}, "5630": {"op": "DUP2", "path": "10", "offset": [4372, 4389], "fn": "EnumerableMap._contains"}, "5631": {"op": "MSTORE", "path": "10", "offset": [4372, 4389], "fn": "EnumerableMap._contains"}, "5632": {"op": "PUSH1", "value": "0x1", "path": "10", "offset": [4372, 4384], "fn": "EnumerableMap._contains"}, "5634": {"op": "SWAP2", "path": "10", "offset": [4372, 4384], "fn": "EnumerableMap._contains"}, "5635": {"op": "SWAP1", "path": "10", "offset": [4372, 4384], "fn": "EnumerableMap._contains"}, "5636": {"op": "SWAP2", "path": "10", "offset": [4372, 4384], "fn": "EnumerableMap._contains"}, "5637": {"op": "ADD", "path": "10", "offset": [4372, 4384], "fn": "EnumerableMap._contains"}, "5638": {"op": "PUSH1", "value": "0x20", "path": "10", "offset": [4372, 4389], "fn": "EnumerableMap._contains"}, "5640": {"op": "MSTORE", "path": "10", "offset": [4372, 4389], "fn": "EnumerableMap._contains"}, "5641": {"op": "PUSH1", "value": "0x40", "path": "10", "offset": [4372, 4389], "fn": "EnumerableMap._contains"}, "5643": {"op": "SWAP1", "path": "10", "offset": [4372, 4389], "fn": "EnumerableMap._contains"}, "5644": {"op": "KECCAK256", "path": "10", "offset": [4372, 4389], "fn": "EnumerableMap._contains"}, "5645": {"op": "SLOAD", "path": "10", "offset": [4372, 4389], "fn": "EnumerableMap._contains"}, "5646": {"op": "ISZERO", "path": "10", "offset": [4372, 4394], "fn": "EnumerableMap._contains"}, "5647": {"op": "ISZERO", "path": "10", "offset": [4372, 4394], "fn": "EnumerableMap._contains"}, "5648": {"op": "SWAP1", "path": "10", "offset": [4372, 4394], "fn": "EnumerableMap._contains"}, "5649": {"op": "JUMP", "jump": "o", "path": "10", "offset": [4278, 4401], "fn": "EnumerableMap._contains"}, "5650": {"op": "JUMPDEST", "path": "11", "offset": [2212, 3724], "fn": "EnumerableSet._remove"}, "5651": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [2278, 2282], "fn": "EnumerableSet._remove"}, "5653": {"op": "DUP2", "path": "11", "offset": [2415, 2434], "fn": "EnumerableSet._remove"}, "5654": {"op": "DUP2", "path": "11", "offset": [2415, 2434], "fn": "EnumerableSet._remove"}, "5655": {"op": "MSTORE", "path": "11", "offset": [2415, 2434], "fn": "EnumerableSet._remove"}, "5656": {"op": "PUSH1", "value": "0x1", "path": "11", "offset": [2415, 2427], "fn": "EnumerableSet._remove"}, "5658": {"op": "DUP4", "path": "11", "offset": [2415, 2427], "fn": "EnumerableSet._remove"}, "5659": {"op": "ADD", "path": "11", "offset": [2415, 2427], "fn": "EnumerableSet._remove"}, "5660": {"op": "PUSH1", "value": "0x20", "path": "11", "offset": [2415, 2434], "fn": "EnumerableSet._remove"}, "5662": {"op": "MSTORE", "path": "11", "offset": [2415, 2434], "fn": "EnumerableSet._remove"}, "5663": {"op": "PUSH1", "value": "0x40", "path": "11", "offset": [2415, 2434], "fn": "EnumerableSet._remove"}, "5665": {"op": "DUP2", "path": "11", "offset": [2415, 2434], "fn": "EnumerableSet._remove"}, "5666": {"op": "KECCAK256", "path": "11", "offset": [2415, 2434], "fn": "EnumerableSet._remove"}, "5667": {"op": "SLOAD", "path": "11", "offset": [2415, 2434], "fn": "EnumerableSet._remove"}, "5668": {"op": "DUP1", "path": "11", "offset": [2449, 2464], "fn": "EnumerableSet._remove"}, "5669": {"op": "ISZERO", "path": "11", "offset": [2449, 2464], "fn": "EnumerableSet._remove", "branch": 130}, "5670": {"op": "PUSH2", "value": "0x16CE", "path": "11", "offset": [2445, 3718], "fn": "EnumerableSet._remove"}, "5673": {"op": "JUMPI", "path": "11", "offset": [2445, 3718], "fn": "EnumerableSet._remove", "branch": 130}, "5674": {"op": "DUP4", "path": "11", "offset": [2878, 2896], "fn": "EnumerableSet._remove"}, "5675": {"op": "SLOAD", "path": "11", "offset": [2878, 2896], "fn": "EnumerableSet._remove"}, "5676": {"op": "PUSH1", "value": "0x0"}, "5678": {"op": "NOT"}, "5679": {"op": "DUP1", "path": "11", "offset": [2830, 2844], "fn": "EnumerableSet._remove"}, "5680": {"op": "DUP4", "path": "11", "offset": [2830, 2844], "fn": "EnumerableSet._remove"}, "5681": {"op": "ADD", "path": "11", "offset": [2830, 2844], "fn": "EnumerableSet._remove"}, "5682": {"op": "SWAP2", "path": "11", "offset": [2830, 2844], "fn": "EnumerableSet._remove"}, "5683": {"op": "SWAP1", "path": "11", "offset": [2878, 2900], "fn": "EnumerableSet._remove"}, "5684": {"op": "DUP2", "path": "11", "offset": [2878, 2900], "fn": "EnumerableSet._remove"}, "5685": {"op": "ADD", "path": "11", "offset": [2878, 2900], "fn": "EnumerableSet._remove"}, "5686": {"op": "SWAP1", "path": "11", "offset": [2878, 2900], "fn": "EnumerableSet._remove"}, "5687": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [2806, 2827], "fn": "EnumerableSet._remove"}, "5689": {"op": "SWAP1", "path": "11", "offset": [2806, 2827], "fn": "EnumerableSet._remove"}, "5690": {"op": "DUP8", "path": "11", "offset": [2878, 2881], "fn": "EnumerableSet._remove"}, "5691": {"op": "SWAP1", "path": "11", "offset": [2878, 2881], "fn": "EnumerableSet._remove"}, "5692": {"op": "DUP4", "path": "11", "offset": [2878, 2900], "fn": "EnumerableSet._remove"}, "5693": {"op": "SWAP1", "path": "11", "offset": [2878, 2900], "fn": "EnumerableSet._remove"}, "5694": {"op": "DUP2", "path": "11", "offset": [3160, 3182], "fn": "EnumerableSet._remove"}, "5695": {"op": "LT", "path": "11", "offset": [3160, 3182], "fn": "EnumerableSet._remove"}, "5696": {"op": "PUSH2", "value": "0x1645", "path": "11", "offset": [3160, 3182], "fn": "EnumerableSet._remove"}, "5699": {"op": "JUMPI", "path": "11", "offset": [3160, 3182], "fn": "EnumerableSet._remove"}, "5700": {"op": "INVALID", "path": "11", "offset": [3160, 3182], "dev": "Index out of range", "fn": "EnumerableSet._remove"}, "5701": {"op": "JUMPDEST", "path": "11", "offset": [3160, 3182], "fn": "EnumerableSet._remove"}, "5702": {"op": "SWAP1", "path": "11", "offset": [3160, 3182], "fn": "EnumerableSet._remove"}, "5703": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [3160, 3182], "fn": "EnumerableSet._remove"}, "5705": {"op": "MSTORE", "path": "11", "offset": [3160, 3182], "fn": "EnumerableSet._remove"}, "5706": {"op": "PUSH1", "value": "0x20", "path": "11", "offset": [3160, 3182], "fn": "EnumerableSet._remove"}, "5708": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [3160, 3182], "fn": "EnumerableSet._remove"}, "5710": {"op": "KECCAK256", "path": "11", "offset": [3160, 3182], "fn": "EnumerableSet._remove"}, "5711": {"op": "ADD", "path": "11", "offset": [3160, 3182], "fn": "EnumerableSet._remove"}, "5712": {"op": "SLOAD", "path": "11", "offset": [3160, 3182], "fn": "EnumerableSet._remove"}, "5713": {"op": "SWAP1", "path": "11", "offset": [3140, 3182], "fn": "EnumerableSet._remove"}, "5714": {"op": "POP", "path": "11", "offset": [3140, 3182], "fn": "EnumerableSet._remove"}, "5715": {"op": "DUP1", "path": "11", "offset": [3303, 3312], "fn": "EnumerableSet._remove", "statement": 76}, "5716": {"op": "DUP8", "path": "11", "offset": [3274, 3277], "fn": "EnumerableSet._remove"}, "5717": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [3274, 3285], "fn": "EnumerableSet._remove"}, "5719": {"op": "ADD", "path": "11", "offset": [3274, 3285], "fn": "EnumerableSet._remove"}, "5720": {"op": "DUP5", "path": "11", "offset": [3286, 3299], "fn": "EnumerableSet._remove"}, "5721": {"op": "DUP2", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5722": {"op": "SLOAD", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5723": {"op": "DUP2", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5724": {"op": "LT", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5725": {"op": "PUSH2", "value": "0x1662", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5728": {"op": "JUMPI", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5729": {"op": "INVALID", "path": "11", "offset": [3274, 3300], "dev": "Index out of range", "fn": "EnumerableSet._remove"}, "5730": {"op": "JUMPDEST", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5731": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5733": {"op": "SWAP2", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5734": {"op": "DUP3", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5735": {"op": "MSTORE", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5736": {"op": "PUSH1", "value": "0x20", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5738": {"op": "DUP1", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5739": {"op": "DUP4", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5740": {"op": "KECCAK256", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5741": {"op": "SWAP1", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5742": {"op": "SWAP2", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5743": {"op": "ADD", "path": "11", "offset": [3274, 3300], "fn": "EnumerableSet._remove"}, "5744": {"op": "SWAP3", "path": "11", "offset": [3274, 3312], "fn": "EnumerableSet._remove"}, "5745": {"op": "SWAP1", "path": "11", "offset": [3274, 3312], "fn": "EnumerableSet._remove"}, "5746": {"op": "SWAP3", "path": "11", "offset": [3274, 3312], "fn": "EnumerableSet._remove"}, "5747": {"op": "SSTORE", "path": "11", "offset": [3274, 3312], "fn": "EnumerableSet._remove"}, "5748": {"op": "DUP3", "path": "11", "offset": [3378, 3401], "fn": "EnumerableSet._remove", "statement": 77}, "5749": {"op": "DUP2", "path": "11", "offset": [3378, 3401], "fn": "EnumerableSet._remove"}, "5750": {"op": "MSTORE", "path": "11", "offset": [3378, 3401], "fn": "EnumerableSet._remove"}, "5751": {"op": "PUSH1", "value": "0x1", "path": "11", "offset": [3420, 3421], "fn": "EnumerableSet._remove"}, "5753": {"op": "DUP10", "path": "11", "offset": [3378, 3390], "fn": "EnumerableSet._remove"}, "5754": {"op": "DUP2", "path": "11", "offset": [3378, 3390], "fn": "EnumerableSet._remove"}, "5755": {"op": "ADD", "path": "11", "offset": [3378, 3390], "fn": "EnumerableSet._remove"}, "5756": {"op": "SWAP1", "path": "11", "offset": [3378, 3401], "fn": "EnumerableSet._remove"}, "5757": {"op": "SWAP3", "path": "11", "offset": [3378, 3401], "fn": "EnumerableSet._remove"}, "5758": {"op": "MSTORE", "path": "11", "offset": [3378, 3401], "fn": "EnumerableSet._remove"}, "5759": {"op": "PUSH1", "value": "0x40", "path": "11", "offset": [3378, 3401], "fn": "EnumerableSet._remove"}, "5761": {"op": "SWAP1", "path": "11", "offset": [3378, 3401], "fn": "EnumerableSet._remove"}, "5762": {"op": "KECCAK256", "path": "11", "offset": [3378, 3401], "fn": "EnumerableSet._remove"}, "5763": {"op": "SWAP1", "path": "11", "offset": [3404, 3421], "fn": "EnumerableSet._remove"}, "5764": {"op": "DUP5", "path": "11", "offset": [3404, 3421], "fn": "EnumerableSet._remove"}, "5765": {"op": "ADD", "path": "11", "offset": [3404, 3421], "fn": "EnumerableSet._remove"}, "5766": {"op": "SWAP1", "path": "11", "offset": [3378, 3421], "fn": "EnumerableSet._remove"}, "5767": {"op": "SSTORE", "path": "11", "offset": [3378, 3421], "fn": "EnumerableSet._remove"}, "5768": {"op": "DUP7", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove", "statement": 78}, "5769": {"op": "SLOAD", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5770": {"op": "DUP8", "path": "11", "offset": [3378, 3381], "fn": "EnumerableSet._remove"}, "5771": {"op": "SWAP1", "path": "11", "offset": [3378, 3381], "fn": "EnumerableSet._remove"}, "5772": {"op": "DUP1", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5773": {"op": "PUSH2", "value": "0x1692", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5776": {"op": "JUMPI", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5777": {"op": "INVALID", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5778": {"op": "JUMPDEST", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5779": {"op": "PUSH1", "value": "0x1", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5781": {"op": "SWAP1", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5782": {"op": "SUB", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5783": {"op": "DUP2", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5784": {"op": "DUP2", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5785": {"op": "SWAP1", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5786": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5788": {"op": "MSTORE", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5789": {"op": "PUSH1", "value": "0x20", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5791": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5793": {"op": "KECCAK256", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5794": {"op": "ADD", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5795": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5797": {"op": "SWAP1", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5798": {"op": "SSTORE", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5799": {"op": "SWAP1", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5800": {"op": "SSTORE", "path": "11", "offset": [3527, 3544], "fn": "EnumerableSet._remove"}, "5801": {"op": "DUP7", "path": "11", "offset": [3619, 3622], "fn": "EnumerableSet._remove", "statement": 79}, "5802": {"op": "PUSH1", "value": "0x1", "path": "11", "offset": [3619, 3631], "fn": "EnumerableSet._remove"}, "5804": {"op": "ADD", "path": "11", "offset": [3619, 3631], "fn": "EnumerableSet._remove"}, "5805": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [3619, 3638], "fn": "EnumerableSet._remove"}, "5807": {"op": "DUP8", "path": "11", "offset": [3632, 3637], "fn": "EnumerableSet._remove"}, "5808": {"op": "DUP2", "path": "11", "offset": [3619, 3638], "fn": "EnumerableSet._remove"}, "5809": {"op": "MSTORE", "path": "11", "offset": [3619, 3638], "fn": "EnumerableSet._remove"}, "5810": {"op": "PUSH1", "value": "0x20", "path": "11", "offset": [3619, 3638], "fn": "EnumerableSet._remove"}, "5812": {"op": "ADD", "path": "11", "offset": [3619, 3638], "fn": "EnumerableSet._remove"}, "5813": {"op": "SWAP1", "path": "11", "offset": [3619, 3638], "fn": "EnumerableSet._remove"}, "5814": {"op": "DUP2", "path": "11", "offset": [3619, 3638], "fn": "EnumerableSet._remove"}, "5815": {"op": "MSTORE", "path": "11", "offset": [3619, 3638], "fn": "EnumerableSet._remove"}, "5816": {"op": "PUSH1", "value": "0x20", "path": "11", "offset": [3619, 3638], "fn": "EnumerableSet._remove"}, "5818": {"op": "ADD", "path": "11", "offset": [3619, 3638], "fn": "EnumerableSet._remove"}, "5819": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [3619, 3638], "fn": "EnumerableSet._remove"}, "5821": {"op": "KECCAK256", "path": "11", "offset": [3619, 3638], "fn": "EnumerableSet._remove"}, "5822": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [3612, 3638], "fn": "EnumerableSet._remove"}, "5824": {"op": "SWAP1", "path": "11", "offset": [3612, 3638], "fn": "EnumerableSet._remove"}, "5825": {"op": "SSTORE", "path": "11", "offset": [3612, 3638], "fn": "EnumerableSet._remove"}, "5826": {"op": "PUSH1", "value": "0x1", "path": "11", "offset": [3660, 3664], "fn": "EnumerableSet._remove", "statement": 80}, "5828": {"op": "SWAP5", "path": "11", "offset": [3653, 3664], "fn": "EnumerableSet._remove"}, "5829": {"op": "POP", "path": "11", "offset": [3653, 3664], "fn": "EnumerableSet._remove"}, "5830": {"op": "POP", "path": "11", "offset": [3653, 3664], "fn": "EnumerableSet._remove"}, "5831": {"op": "POP", "path": "11", "offset": [3653, 3664], "fn": "EnumerableSet._remove"}, "5832": {"op": "POP", "path": "11", "offset": [3653, 3664], "fn": "EnumerableSet._remove"}, "5833": {"op": "POP", "path": "11", "offset": [3653, 3664], "fn": "EnumerableSet._remove"}, "5834": {"op": "PUSH2", "value": "0x7E9", "path": "11", "offset": [3653, 3664], "fn": "EnumerableSet._remove"}, "5837": {"op": "JUMP", "path": "11", "offset": [3653, 3664], "fn": "EnumerableSet._remove"}, "5838": {"op": "JUMPDEST", "path": "11", "offset": [2445, 3718], "fn": "EnumerableSet._remove"}, "5839": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [3702, 3707], "fn": "EnumerableSet._remove", "statement": 81}, "5841": {"op": "SWAP2", "path": "11", "offset": [3695, 3707], "fn": "EnumerableSet._remove"}, "5842": {"op": "POP", "path": "11", "offset": [3695, 3707], "fn": "EnumerableSet._remove"}, "5843": {"op": "POP", "path": "11", "offset": [3695, 3707], "fn": "EnumerableSet._remove"}, "5844": {"op": "PUSH2", "value": "0x7E9", "path": "11", "offset": [3695, 3707], "fn": "EnumerableSet._remove"}, "5847": {"op": "JUMP", "path": "11", "offset": [3695, 3707], "fn": "EnumerableSet._remove"}, "5848": {"op": "JUMPDEST", "path": "11", "offset": [1640, 2044], "fn": "EnumerableSet._add"}, "5849": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [1703, 1707], "fn": "EnumerableSet._add"}, "5851": {"op": "PUSH2", "value": "0x16E4", "path": "11", "offset": [1724, 1745], "fn": "EnumerableSet._add"}, "5854": {"op": "DUP4", "path": "11", "offset": [1734, 1737], "fn": "EnumerableSet._add"}, "5855": {"op": "DUP4", "path": "11", "offset": [1739, 1744], "fn": "EnumerableSet._add"}, "5856": {"op": "PUSH2", "value": "0x15FA", "path": "11", "offset": [1724, 1733], "fn": "EnumerableSet._add"}, "5859": {"op": "JUMP", "jump": "i", "path": "11", "offset": [1724, 1745], "fn": "EnumerableSet._add"}, "5860": {"op": "JUMPDEST", "path": "11", "offset": [1724, 1745], "fn": "EnumerableSet._add", "branch": 131}, "5861": {"op": "PUSH2", "value": "0x171A", "path": "11", "offset": [1719, 2038], "fn": "EnumerableSet._add"}, "5864": {"op": "JUMPI", "path": "11", "offset": [1719, 2038], "fn": "EnumerableSet._add", "branch": 131}, "5865": {"op": "POP"}, "5866": {"op": "DUP2"}, "5867": {"op": "SLOAD"}, "5868": {"op": "PUSH1", "value": "0x1"}, "5870": {"op": "DUP2"}, "5871": {"op": "DUP2"}, "5872": {"op": "ADD"}, "5873": {"op": "DUP5"}, "5874": {"op": "SSTORE"}, "5875": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [1761, 1772], "fn": "EnumerableSet._add", "statement": 82}, "5877": {"op": "DUP5", "path": "11", "offset": [1761, 1784], "fn": "EnumerableSet._add"}, "5878": {"op": "DUP2", "path": "11", "offset": [1761, 1784], "fn": "EnumerableSet._add"}, "5879": {"op": "MSTORE", "path": "11", "offset": [1761, 1784], "fn": "EnumerableSet._add"}, "5880": {"op": "PUSH1", "value": "0x20", "path": "11", "offset": [1761, 1784], "fn": "EnumerableSet._add"}, "5882": {"op": "DUP1", "path": "11", "offset": [1761, 1784], "fn": "EnumerableSet._add"}, "5883": {"op": "DUP3", "path": "11", "offset": [1761, 1784], "fn": "EnumerableSet._add"}, "5884": {"op": "KECCAK256", "path": "11", "offset": [1761, 1784], "fn": "EnumerableSet._add"}, "5885": {"op": "SWAP1", "path": "11", "offset": [1761, 1784], "fn": "EnumerableSet._add"}, "5886": {"op": "SWAP4", "path": "11", "offset": [1761, 1784], "fn": "EnumerableSet._add"}, "5887": {"op": "ADD", "path": "11", "offset": [1761, 1784], "fn": "EnumerableSet._add"}, "5888": {"op": "DUP5", "path": "11", "offset": [1761, 1784], "fn": "EnumerableSet._add"}, "5889": {"op": "SWAP1", "path": "11", "offset": [1761, 1784], "fn": "EnumerableSet._add"}, "5890": {"op": "SSTORE", "path": "11", "offset": [1761, 1784], "fn": "EnumerableSet._add"}, "5891": {"op": "DUP5", "path": "11", "offset": [1941, 1959], "fn": "EnumerableSet._add", "statement": 83}, "5892": {"op": "SLOAD", "path": "11", "offset": [1941, 1959], "fn": "EnumerableSet._add"}, "5893": {"op": "DUP5", "path": "11", "offset": [1919, 1938], "fn": "EnumerableSet._add"}, "5894": {"op": "DUP3", "path": "11", "offset": [1919, 1938], "fn": "EnumerableSet._add"}, "5895": {"op": "MSTORE", "path": "11", "offset": [1919, 1938], "fn": "EnumerableSet._add"}, "5896": {"op": "DUP3", "path": "11", "offset": [1919, 1931], "fn": "EnumerableSet._add"}, "5897": {"op": "DUP7", "path": "11", "offset": [1919, 1931], "fn": "EnumerableSet._add"}, "5898": {"op": "ADD", "path": "11", "offset": [1919, 1931], "fn": "EnumerableSet._add"}, "5899": {"op": "SWAP1", "path": "11", "offset": [1919, 1938], "fn": "EnumerableSet._add"}, "5900": {"op": "SWAP4", "path": "11", "offset": [1919, 1938], "fn": "EnumerableSet._add"}, "5901": {"op": "MSTORE", "path": "11", "offset": [1919, 1938], "fn": "EnumerableSet._add"}, "5902": {"op": "PUSH1", "value": "0x40", "path": "11", "offset": [1919, 1938], "fn": "EnumerableSet._add"}, "5904": {"op": "SWAP1", "path": "11", "offset": [1919, 1938], "fn": "EnumerableSet._add"}, "5905": {"op": "KECCAK256", "path": "11", "offset": [1919, 1938], "fn": "EnumerableSet._add"}, "5906": {"op": "SWAP2", "path": "11", "offset": [1919, 1959], "fn": "EnumerableSet._add"}, "5907": {"op": "SWAP1", "path": "11", "offset": [1919, 1959], "fn": "EnumerableSet._add"}, "5908": {"op": "SWAP2", "path": "11", "offset": [1919, 1959], "fn": "EnumerableSet._add"}, "5909": {"op": "SSTORE", "path": "11", "offset": [1919, 1959], "fn": "EnumerableSet._add"}, "5910": {"op": "PUSH2", "value": "0x7E9", "path": "11", "offset": [1973, 1984], "fn": "EnumerableSet._add", "statement": 84}, "5913": {"op": "JUMP", "path": "11", "offset": [1973, 1984], "fn": "EnumerableSet._add"}, "5914": {"op": "JUMPDEST", "path": "11", "offset": [1719, 2038], "fn": "EnumerableSet._add"}, "5915": {"op": "POP"}, "5916": {"op": "PUSH1", "value": "0x0", "path": "11", "offset": [2022, 2027], "fn": "EnumerableSet._add", "statement": 85}, "5918": {"op": "PUSH2", "value": "0x7E9", "path": "11", "offset": [2015, 2027], "fn": "EnumerableSet._add"}, "5921": {"op": "JUMP", "path": "11", "offset": [2015, 2027], "fn": "EnumerableSet._add"}, "5922": {"op": "JUMPDEST", "path": "10", "offset": [1836, 2514], "fn": "EnumerableMap._set"}, "5923": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [1912, 1916], "fn": "EnumerableMap._set"}, "5925": {"op": "DUP3", "path": "10", "offset": [2045, 2062], "fn": "EnumerableMap._set"}, "5926": {"op": "DUP2", "path": "10", "offset": [2045, 2062], "fn": "EnumerableMap._set"}, "5927": {"op": "MSTORE", "path": "10", "offset": [2045, 2062], "fn": "EnumerableMap._set"}, "5928": {"op": "PUSH1", "value": "0x1", "path": "10", "offset": [2045, 2057], "fn": "EnumerableMap._set"}, "5930": {"op": "DUP5", "path": "10", "offset": [2045, 2057], "fn": "EnumerableMap._set"}, "5931": {"op": "ADD", "path": "10", "offset": [2045, 2057], "fn": "EnumerableMap._set"}, "5932": {"op": "PUSH1", "value": "0x20", "path": "10", "offset": [2045, 2062], "fn": "EnumerableMap._set"}, "5934": {"op": "MSTORE", "path": "10", "offset": [2045, 2062], "fn": "EnumerableMap._set"}, "5935": {"op": "PUSH1", "value": "0x40", "path": "10", "offset": [2045, 2062], "fn": "EnumerableMap._set"}, "5937": {"op": "DUP2", "path": "10", "offset": [2045, 2062], "fn": "EnumerableMap._set"}, "5938": {"op": "KECCAK256", "path": "10", "offset": [2045, 2062], "fn": "EnumerableMap._set"}, "5939": {"op": "SLOAD", "path": "10", "offset": [2045, 2062], "fn": "EnumerableMap._set"}, "5940": {"op": "DUP1", "path": "10", "offset": [2077, 2090], "fn": "EnumerableMap._set", "branch": 128}, "5941": {"op": "PUSH2", "value": "0x1787", "path": "10", "offset": [2073, 2508], "fn": "EnumerableMap._set"}, "5944": {"op": "JUMPI", "path": "10", "offset": [2073, 2508], "fn": "EnumerableMap._set", "branch": 128}, "5945": {"op": "POP"}, "5946": {"op": "POP"}, "5947": {"op": "PUSH1", "value": "0x40", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set", "statement": 86}, "5949": {"op": "DUP1", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5950": {"op": "MLOAD", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5951": {"op": "DUP1", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5952": {"op": "DUP3", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5953": {"op": "ADD", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5954": {"op": "DUP3", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5955": {"op": "MSTORE", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5956": {"op": "DUP4", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5957": {"op": "DUP2", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5958": {"op": "MSTORE", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5959": {"op": "PUSH1", "value": "0x20", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5961": {"op": "DUP1", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5962": {"op": "DUP3", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5963": {"op": "ADD", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5964": {"op": "DUP5", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5965": {"op": "DUP2", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5966": {"op": "MSTORE", "path": "10", "offset": [2161, 2199], "fn": "EnumerableMap._set"}, "5967": {"op": "DUP7"}, "5968": {"op": "SLOAD"}, "5969": {"op": "PUSH1", "value": "0x1"}, "5971": {"op": "DUP2"}, "5972": {"op": "DUP2"}, "5973": {"op": "ADD"}, "5974": {"op": "DUP10"}, "5975": {"op": "SSTORE"}, "5976": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [2143, 2155], "fn": "EnumerableMap._set"}, "5978": {"op": "DUP10", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5979": {"op": "DUP2", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5980": {"op": "MSTORE", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5981": {"op": "DUP5", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5982": {"op": "DUP2", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5983": {"op": "KECCAK256", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5984": {"op": "SWAP6", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5985": {"op": "MLOAD", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5986": {"op": "PUSH1", "value": "0x2", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5988": {"op": "SWAP1", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5989": {"op": "SWAP4", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5990": {"op": "MUL", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5991": {"op": "SWAP1", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5992": {"op": "SWAP6", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5993": {"op": "ADD", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5994": {"op": "SWAP2", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5995": {"op": "DUP3", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5996": {"op": "SSTORE", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5997": {"op": "SWAP2", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5998": {"op": "MLOAD", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "5999": {"op": "SWAP1", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "6000": {"op": "DUP3", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "6001": {"op": "ADD", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "6002": {"op": "SSTORE", "path": "10", "offset": [2143, 2200], "fn": "EnumerableMap._set"}, "6003": {"op": "DUP7", "path": "10", "offset": [2355, 2374], "fn": "EnumerableMap._set", "statement": 87}, "6004": {"op": "SLOAD", "path": "10", "offset": [2355, 2374], "fn": "EnumerableMap._set"}, "6005": {"op": "DUP7", "path": "10", "offset": [2335, 2352], "fn": "EnumerableMap._set"}, "6006": {"op": "DUP5", "path": "10", "offset": [2335, 2352], "fn": "EnumerableMap._set"}, "6007": {"op": "MSTORE", "path": "10", "offset": [2335, 2352], "fn": "EnumerableMap._set"}, "6008": {"op": "DUP2", "path": "10", "offset": [2335, 2347], "fn": "EnumerableMap._set"}, "6009": {"op": "DUP9", "path": "10", "offset": [2335, 2347], "fn": "EnumerableMap._set"}, "6010": {"op": "ADD", "path": "10", "offset": [2335, 2347], "fn": "EnumerableMap._set"}, "6011": {"op": "SWAP1", "path": "10", "offset": [2335, 2352], "fn": "EnumerableMap._set"}, "6012": {"op": "SWAP3", "path": "10", "offset": [2335, 2352], "fn": "EnumerableMap._set"}, "6013": {"op": "MSTORE", "path": "10", "offset": [2335, 2352], "fn": "EnumerableMap._set"}, "6014": {"op": "SWAP3", "path": "10", "offset": [2335, 2352], "fn": "EnumerableMap._set"}, "6015": {"op": "SWAP1", "path": "10", "offset": [2335, 2352], "fn": "EnumerableMap._set"}, "6016": {"op": "SWAP2", "path": "10", "offset": [2335, 2352], "fn": "EnumerableMap._set"}, "6017": {"op": "KECCAK256", "path": "10", "offset": [2335, 2352], "fn": "EnumerableMap._set"}, "6018": {"op": "SSTORE", "path": "10", "offset": [2335, 2374], "fn": "EnumerableMap._set"}, "6019": {"op": "PUSH2", "value": "0x108C", "path": "10", "offset": [2388, 2399], "fn": "EnumerableMap._set", "statement": 88}, "6022": {"op": "JUMP", "path": "10", "offset": [2388, 2399], "fn": "EnumerableMap._set"}, "6023": {"op": "JUMPDEST", "path": "10", "offset": [2073, 2508], "fn": "EnumerableMap._set"}, "6024": {"op": "DUP3", "path": "10", "offset": [2466, 2471], "fn": "EnumerableMap._set", "statement": 89}, "6025": {"op": "DUP6", "path": "10", "offset": [2430, 2433], "fn": "EnumerableMap._set"}, "6026": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [2430, 2442], "fn": "EnumerableMap._set"}, "6028": {"op": "ADD", "path": "10", "offset": [2430, 2442], "fn": "EnumerableMap._set"}, "6029": {"op": "PUSH1", "value": "0x1", "path": "10", "offset": [2454, 2455], "fn": "EnumerableMap._set"}, "6031": {"op": "DUP4", "path": "10", "offset": [2443, 2451], "fn": "EnumerableMap._set"}, "6032": {"op": "SUB", "path": "10", "offset": [2443, 2455], "fn": "EnumerableMap._set"}, "6033": {"op": "DUP2", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6034": {"op": "SLOAD", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6035": {"op": "DUP2", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6036": {"op": "LT", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6037": {"op": "PUSH2", "value": "0x179A", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6040": {"op": "JUMPI", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6041": {"op": "INVALID", "path": "10", "offset": [2430, 2456], "dev": "Index out of range", "fn": "EnumerableMap._set"}, "6042": {"op": "JUMPDEST", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6043": {"op": "SWAP1", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6044": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6046": {"op": "MSTORE", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6047": {"op": "PUSH1", "value": "0x20", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6049": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6051": {"op": "KECCAK256", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6052": {"op": "SWAP1", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6053": {"op": "PUSH1", "value": "0x2", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6055": {"op": "MUL", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6056": {"op": "ADD", "path": "10", "offset": [2430, 2456], "fn": "EnumerableMap._set"}, "6057": {"op": "PUSH1", "value": "0x1", "path": "10", "offset": [2430, 2463], "fn": "EnumerableMap._set"}, "6059": {"op": "ADD", "path": "10", "offset": [2430, 2463], "fn": "EnumerableMap._set"}, "6060": {"op": "DUP2", "path": "10", "offset": [2430, 2471], "fn": "EnumerableMap._set"}, "6061": {"op": "SWAP1", "path": "10", "offset": [2430, 2471], "fn": "EnumerableMap._set"}, "6062": {"op": "SSTORE", "path": "10", "offset": [2430, 2471], "fn": "EnumerableMap._set"}, "6063": {"op": "POP", "path": "10", "offset": [2430, 2471], "fn": "EnumerableMap._set"}, "6064": {"op": "PUSH1", "value": "0x0", "path": "10", "offset": [2492, 2497], "fn": "EnumerableMap._set", "statement": 90}, "6066": {"op": "SWAP2", "path": "10", "offset": [2485, 2497], "fn": "EnumerableMap._set"}, "6067": {"op": "POP", "path": "10", "offset": [2485, 2497], "fn": "EnumerableMap._set"}, "6068": {"op": "POP", "path": "10", "offset": [2485, 2497], "fn": "EnumerableMap._set"}, "6069": {"op": "PUSH2", "value": "0x108C", "path": "10", "offset": [2485, 2497], "fn": "EnumerableMap._set"}, "6072": {"op": "JUMP", "path": "10", "offset": [2485, 2497], "fn": "EnumerableMap._set"}, "6073": {"op": "JUMPDEST", "path": "3", "offset": [12246, 12639], "fn": "ERC721._mint"}, "6074": {"op": "PUSH1", "value": "0x1"}, "6076": {"op": "PUSH1", "value": "0x1"}, "6078": {"op": "PUSH1", "value": "0xA0"}, "6080": {"op": "SHL"}, "6081": {"op": "SUB"}, "6082": {"op": "DUP3", "path": "3", "offset": [12325, 12341], "fn": "ERC721._mint", "statement": 91}, "6083": {"op": "AND", "path": "3", "offset": [12325, 12341], "fn": "ERC721._mint", "branch": 124}, "6084": {"op": "PUSH2", "value": "0x1814", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6087": {"op": "JUMPI", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint", "branch": 124}, "6088": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6090": {"op": "DUP1", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6091": {"op": "MLOAD", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6092": {"op": "PUSH3", "value": "0x461BCD"}, "6096": {"op": "PUSH1", "value": "0xE5"}, "6098": {"op": "SHL"}, "6099": {"op": "DUP2", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6100": {"op": "MSTORE", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6101": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6103": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6105": {"op": "DUP3", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6106": {"op": "ADD", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6107": {"op": "DUP2", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6108": {"op": "SWAP1", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6109": {"op": "MSTORE", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6110": {"op": "PUSH1", "value": "0x24", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6112": {"op": "DUP3", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6113": {"op": "ADD", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6114": {"op": "MSTORE", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6115": {"op": "PUSH32", "value": "0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6148": {"op": "PUSH1", "value": "0x44", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6150": {"op": "DUP3", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6151": {"op": "ADD", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6152": {"op": "MSTORE", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6153": {"op": "SWAP1", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6154": {"op": "MLOAD", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6155": {"op": "SWAP1", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6156": {"op": "DUP2", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6157": {"op": "SWAP1", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6158": {"op": "SUB", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6159": {"op": "PUSH1", "value": "0x64", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6161": {"op": "ADD", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6162": {"op": "SWAP1", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6163": {"op": "REVERT", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6164": {"op": "JUMPDEST", "path": "3", "offset": [12317, 12378], "fn": "ERC721._mint"}, "6165": {"op": "PUSH2", "value": "0x181D", "path": "3", "offset": [12397, 12413], "fn": "ERC721._mint", "statement": 92}, "6168": {"op": "DUP2", "path": "3", "offset": [12405, 12412], "fn": "ERC721._mint"}, "6169": {"op": "PUSH2", "value": "0xDC2", "path": "3", "offset": [12397, 12404], "fn": "ERC721._mint"}, "6172": {"op": "JUMP", "jump": "i", "path": "3", "offset": [12397, 12413], "fn": "ERC721._mint"}, "6173": {"op": "JUMPDEST", "path": "3", "offset": [12397, 12413], "fn": "ERC721._mint"}, "6174": {"op": "ISZERO", "path": "3", "offset": [12396, 12413], "fn": "ERC721._mint", "branch": 125}, "6175": {"op": "PUSH2", "value": "0x186F", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6178": {"op": "JUMPI", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint", "branch": 125}, "6179": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6181": {"op": "DUP1", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6182": {"op": "MLOAD", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6183": {"op": "PUSH3", "value": "0x461BCD"}, "6187": {"op": "PUSH1", "value": "0xE5"}, "6189": {"op": "SHL"}, "6190": {"op": "DUP2", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6191": {"op": "MSTORE", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6192": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6194": {"op": "PUSH1", "value": "0x4", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6196": {"op": "DUP3", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6197": {"op": "ADD", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6198": {"op": "MSTORE", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6199": {"op": "PUSH1", "value": "0x1C", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6201": {"op": "PUSH1", "value": "0x24", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6203": {"op": "DUP3", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6204": {"op": "ADD", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6205": {"op": "MSTORE", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6206": {"op": "PUSH32", "value": "0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6239": {"op": "PUSH1", "value": "0x44", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6241": {"op": "DUP3", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6242": {"op": "ADD", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6243": {"op": "MSTORE", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6244": {"op": "SWAP1", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6245": {"op": "MLOAD", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6246": {"op": "SWAP1", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6247": {"op": "DUP2", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6248": {"op": "SWAP1", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6249": {"op": "SUB", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6250": {"op": "PUSH1", "value": "0x64", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6252": {"op": "ADD", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6253": {"op": "SWAP1", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6254": {"op": "REVERT", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6255": {"op": "JUMPDEST", "path": "3", "offset": [12388, 12446], "fn": "ERC721._mint"}, "6256": {"op": "PUSH2", "value": "0x187B", "path": "3", "offset": [12457, 12502], "fn": "ERC721._mint", "statement": 93}, "6259": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [12486, 12487], "fn": "ERC721._mint"}, "6261": {"op": "DUP4", "path": "3", "offset": [12490, 12492], "fn": "ERC721._mint"}, "6262": {"op": "DUP4", "path": "3", "offset": [12494, 12501], "fn": "ERC721._mint"}, "6263": {"op": "PUSH2", "value": "0x751", "path": "3", "offset": [12457, 12477], "fn": "ERC721._mint"}, "6266": {"op": "JUMP", "jump": "i", "path": "3", "offset": [12457, 12502], "fn": "ERC721._mint"}, "6267": {"op": "JUMPDEST", "path": "3", "offset": [12457, 12502], "fn": "ERC721._mint"}, "6268": {"op": "PUSH1", "value": "0x1"}, "6270": {"op": "PUSH1", "value": "0x1"}, "6272": {"op": "PUSH1", "value": "0xA0"}, "6274": {"op": "SHL"}, "6275": {"op": "SUB"}, "6276": {"op": "DUP3", "path": "3", "offset": [12513, 12530], "fn": "ERC721._mint", "statement": 94}, "6277": {"op": "AND", "path": "3", "offset": [12513, 12530], "fn": "ERC721._mint"}, "6278": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [12513, 12530], "fn": "ERC721._mint"}, "6280": {"op": "SWAP1", "path": "3", "offset": [12513, 12530], "fn": "ERC721._mint"}, "6281": {"op": "DUP2", "path": "3", "offset": [12513, 12530], "fn": "ERC721._mint"}, "6282": {"op": "MSTORE", "path": "3", "offset": [12513, 12530], "fn": "ERC721._mint"}, "6283": {"op": "PUSH1", "value": "0x1", "path": "3", "offset": [12513, 12526], "fn": "ERC721._mint"}, "6285": {"op": "PUSH1", "value": "0x20", "path": "3", "offset": [12513, 12530], "fn": "ERC721._mint"}, "6287": {"op": "MSTORE", "path": "3", "offset": [12513, 12530], "fn": "ERC721._mint"}, "6288": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [12513, 12530], "fn": "ERC721._mint"}, "6290": {"op": "SWAP1", "path": "3", "offset": [12513, 12530], "fn": "ERC721._mint"}, "6291": {"op": "KECCAK256", "path": "3", "offset": [12513, 12530], "fn": "ERC721._mint"}, "6292": {"op": "PUSH2", "value": "0x18A3", "path": "3", "offset": [12513, 12543], "fn": "ERC721._mint"}, "6295": {"op": "SWAP1", "path": "3", "offset": [12513, 12543], "fn": "ERC721._mint"}, "6296": {"op": "DUP3", "path": "3", "offset": [12535, 12542], "fn": "ERC721._mint"}, "6297": {"op": "PUSH4", "value": "0xFFFFFFFF", "path": "3", "offset": [12513, 12543], "fn": "ERC721._mint"}, "6302": {"op": "PUSH2", "value": "0x125D", "path": "3", "offset": [12513, 12534], "fn": "ERC721._mint"}, "6305": {"op": "AND", "path": "3", "offset": [12513, 12543], "fn": "ERC721._mint"}, "6306": {"op": "JUMP", "jump": "i", "path": "3", "offset": [12513, 12543], "fn": "ERC721._mint"}, "6307": {"op": "JUMPDEST", "path": "3", "offset": [12513, 12543], "fn": "ERC721._mint"}, "6308": {"op": "POP"}, "6309": {"op": "PUSH2", "value": "0x18B6", "path": "3", "offset": [12554, 12583], "fn": "ERC721._mint", "statement": 95}, "6312": {"op": "PUSH1", "value": "0x2", "path": "3", "offset": [12554, 12566], "fn": "ERC721._mint"}, "6314": {"op": "DUP3", "path": "3", "offset": [12571, 12578], "fn": "ERC721._mint"}, "6315": {"op": "DUP5", "path": "3", "offset": [12580, 12582], "fn": "ERC721._mint"}, "6316": {"op": "PUSH4", "value": "0xFFFFFFFF", "path": "3", "offset": [12554, 12583], "fn": "ERC721._mint"}, "6321": {"op": "PUSH2", "value": "0x1269", "path": "3", "offset": [12554, 12570], "fn": "ERC721._mint"}, "6324": {"op": "AND", "path": "3", "offset": [12554, 12583], "fn": "ERC721._mint"}, "6325": {"op": "JUMP", "jump": "i", "path": "3", "offset": [12554, 12583], "fn": "ERC721._mint"}, "6326": {"op": "JUMPDEST", "path": "3", "offset": [12554, 12583], "fn": "ERC721._mint"}, "6327": {"op": "POP"}, "6328": {"op": "PUSH1", "value": "0x40", "path": "3", "offset": [12599, 12632], "fn": "ERC721._mint", "statement": 96}, "6330": {"op": "MLOAD", "path": "3", "offset": [12599, 12632], "fn": "ERC721._mint"}, "6331": {"op": "DUP2", "path": "3", "offset": [12624, 12631], "fn": "ERC721._mint"}, "6332": {"op": "SWAP1", "path": "3", "offset": [12624, 12631], "fn": "ERC721._mint"}, "6333": {"op": "PUSH1", "value": "0x1"}, "6335": {"op": "PUSH1", "value": "0x1"}, "6337": {"op": "PUSH1", "value": "0xA0"}, "6339": {"op": "SHL"}, "6340": {"op": "SUB"}, "6341": {"op": "DUP5", "path": "3", "offset": [12599, 12632], "fn": "ERC721._mint"}, "6342": {"op": "AND", "path": "3", "offset": [12599, 12632], "fn": "ERC721._mint"}, "6343": {"op": "SWAP1", "path": "3", "offset": [12599, 12632], "fn": "ERC721._mint"}, "6344": {"op": "PUSH1", "value": "0x0", "path": "3", "offset": [12616, 12617], "fn": "ERC721._mint"}, "6346": {"op": "SWAP1", "path": "3", "offset": [12616, 12617], "fn": "ERC721._mint"}, "6347": {"op": "PUSH32", "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF", "path": "3", "offset": [12599, 12632], "fn": "ERC721._mint"}, "6380": {"op": "SWAP1", "path": "3", "offset": [12599, 12632], "fn": "ERC721._mint"}, "6381": {"op": "DUP3", "path": "3", "offset": [12616, 12617], "fn": "ERC721._mint"}, "6382": {"op": "SWAP1", "path": "3", "offset": [12616, 12617], "fn": "ERC721._mint"}, "6383": {"op": "LOG4", "path": "3", "offset": [12599, 12632], "fn": "ERC721._mint"}, "6384": {"op": "POP", "path": "3", "offset": [12246, 12639], "fn": "ERC721._mint"}, "6385": {"op": "POP", "path": "3", "offset": [12246, 12639], "fn": "ERC721._mint"}, "6386": {"op": "JUMP", "jump": "o", "path": "3", "offset": [12246, 12639], "fn": "ERC721._mint"}, "6387": {"op": "JUMPDEST", "path": "8", "offset": [726, 1139], "fn": "Address.isContract"}, "6388": {"op": "EXTCODESIZE", "path": "8", "offset": [1086, 1106], "fn": "Address.isContract"}, "6389": {"op": "ISZERO", "path": "8", "offset": [1124, 1132], "fn": "Address.isContract", "statement": 97}, "6390": {"op": "ISZERO", "path": "8", "offset": [1124, 1132], "fn": "Address.isContract"}, "6391": {"op": "SWAP1", "path": "8", "offset": [1124, 1132], "fn": "Address.isContract"}, "6392": {"op": "JUMP", "jump": "o", "path": "8", "offset": [726, 1139], "fn": "Address.isContract"}, "6393": {"op": "JUMPDEST", "path": "8", "offset": [3581, 3774], "fn": "Address.functionCall"}, "6394": {"op": "PUSH1", "value": "0x60", "path": "8", "offset": [3684, 3696], "fn": "Address.functionCall"}, "6396": {"op": "PUSH2", "value": "0x1089", "path": "8", "offset": [3715, 3767], "fn": "Address.functionCall", "statement": 98}, "6399": {"op": "DUP5", "path": "8", "offset": [3737, 3743], "fn": "Address.functionCall"}, "6400": {"op": "DUP5", "path": "8", "offset": [3745, 3749], "fn": "Address.functionCall"}, "6401": {"op": "PUSH1", "value": "0x0", "path": "8", "offset": [3751, 3752], "fn": "Address.functionCall"}, "6403": {"op": "DUP6", "path": "8", "offset": [3754, 3766], "fn": "Address.functionCall"}, "6404": {"op": "DUP6", "path": "8", "offset": [3684, 3696], "fn": "Address.functionCall"}, "6405": {"op": "PUSH2", "value": "0x190D", "path": "8", "offset": [4858, 4876], "fn": "Address.functionCallWithValue", "statement": 99}, "6408": {"op": "DUP6", "path": "8", "offset": [4869, 4875], "fn": "Address.functionCallWithValue"}, "6409": {"op": "PUSH2", "value": "0x18F3", "path": "8", "offset": [4858, 4868], "fn": "Address.functionCallWithValue"}, "6412": {"op": "JUMP", "jump": "i", "path": "8", "offset": [4858, 4876], "fn": "Address.functionCallWithValue"}, "6413": {"op": "JUMPDEST", "path": "8", "offset": [4858, 4876], "fn": "Address.functionCallWithValue", "branch": 103}, "6414": {"op": "PUSH2", "value": "0x195E", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6417": {"op": "JUMPI", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue", "branch": 103}, "6418": {"op": "PUSH1", "value": "0x40", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6420": {"op": "DUP1", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6421": {"op": "MLOAD", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6422": {"op": "PUSH3", "value": "0x461BCD"}, "6426": {"op": "PUSH1", "value": "0xE5"}, "6428": {"op": "SHL"}, "6429": {"op": "DUP2", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6430": {"op": "MSTORE", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6431": {"op": "PUSH1", "value": "0x20", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6433": {"op": "PUSH1", "value": "0x4", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6435": {"op": "DUP3", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6436": {"op": "ADD", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6437": {"op": "MSTORE", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6438": {"op": "PUSH1", "value": "0x1D", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6440": {"op": "PUSH1", "value": "0x24", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6442": {"op": "DUP3", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6443": {"op": "ADD", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6444": {"op": "MSTORE", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6445": {"op": "PUSH32", "value": "0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6478": {"op": "PUSH1", "value": "0x44", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6480": {"op": "DUP3", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6481": {"op": "ADD", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6482": {"op": "MSTORE", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6483": {"op": "SWAP1", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6484": {"op": "MLOAD", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6485": {"op": "SWAP1", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6486": {"op": "DUP2", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6487": {"op": "SWAP1", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6488": {"op": "SUB", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6489": {"op": "PUSH1", "value": "0x64", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6491": {"op": "ADD", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6492": {"op": "SWAP1", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6493": {"op": "REVERT", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6494": {"op": "JUMPDEST", "path": "8", "offset": [4850, 4910], "fn": "Address.functionCallWithValue"}, "6495": {"op": "PUSH1", "value": "0x0", "path": "8", "offset": [4981, 4993], "fn": "Address.functionCallWithValue"}, "6497": {"op": "PUSH1", "value": "0x60", "path": "8", "offset": [4995, 5018], "fn": "Address.functionCallWithValue"}, "6499": {"op": "DUP7", "path": "8", "offset": [5022, 5028], "fn": "Address.functionCallWithValue"}, "6500": {"op": "PUSH1", "value": "0x1"}, "6502": {"op": "PUSH1", "value": "0x1"}, "6504": {"op": "PUSH1", "value": "0xA0"}, "6506": {"op": "SHL"}, "6507": {"op": "SUB"}, "6508": {"op": "AND", "path": "8", "offset": [5022, 5033], "fn": "Address.functionCallWithValue"}, "6509": {"op": "DUP6", "path": "8", "offset": [5042, 5047], "fn": "Address.functionCallWithValue"}, "6510": {"op": "DUP8", "path": "8", "offset": [5050, 5054], "fn": "Address.functionCallWithValue"}, "6511": {"op": "PUSH1", "value": "0x40", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6513": {"op": "MLOAD", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6514": {"op": "DUP1", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6515": {"op": "DUP3", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6516": {"op": "DUP1", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6517": {"op": "MLOAD", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6518": {"op": "SWAP1", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6519": {"op": "PUSH1", "value": "0x20", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6521": {"op": "ADD", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6522": {"op": "SWAP1", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6523": {"op": "DUP1", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6524": {"op": "DUP4", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6525": {"op": "DUP4", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6526": {"op": "JUMPDEST"}, "6527": {"op": "PUSH1", "value": "0x20"}, "6529": {"op": "DUP4"}, "6530": {"op": "LT"}, "6531": {"op": "PUSH2", "value": "0x199D"}, "6534": {"op": "JUMPI"}, "6535": {"op": "DUP1"}, "6536": {"op": "MLOAD"}, "6537": {"op": "DUP3"}, "6538": {"op": "MSTORE"}, "6539": {"op": "PUSH1", "value": "0x1F"}, "6541": {"op": "NOT"}, "6542": {"op": "SWAP1"}, "6543": {"op": "SWAP3"}, "6544": {"op": "ADD"}, "6545": {"op": "SWAP2"}, "6546": {"op": "PUSH1", "value": "0x20"}, "6548": {"op": "SWAP2"}, "6549": {"op": "DUP3"}, "6550": {"op": "ADD"}, "6551": {"op": "SWAP2"}, "6552": {"op": "ADD"}, "6553": {"op": "PUSH2", "value": "0x197E"}, "6556": {"op": "JUMP"}, "6557": {"op": "JUMPDEST"}, "6558": {"op": "PUSH1", "value": "0x1"}, "6560": {"op": "DUP4"}, "6561": {"op": "PUSH1", "value": "0x20"}, "6563": {"op": "SUB"}, "6564": {"op": "PUSH2", "value": "0x100"}, "6567": {"op": "EXP"}, "6568": {"op": "SUB"}, "6569": {"op": "DUP1"}, "6570": {"op": "NOT"}, "6571": {"op": "DUP3"}, "6572": {"op": "MLOAD"}, "6573": {"op": "AND"}, "6574": {"op": "DUP2"}, "6575": {"op": "DUP5"}, "6576": {"op": "MLOAD"}, "6577": {"op": "AND"}, "6578": {"op": "DUP1"}, "6579": {"op": "DUP3"}, "6580": {"op": "OR"}, "6581": {"op": "DUP6"}, "6582": {"op": "MSTORE"}, "6583": {"op": "POP"}, "6584": {"op": "POP"}, "6585": {"op": "POP"}, "6586": {"op": "POP", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6587": {"op": "POP", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6588": {"op": "POP", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6589": {"op": "SWAP1", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6590": {"op": "POP", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6591": {"op": "ADD", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6592": {"op": "SWAP2", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6593": {"op": "POP", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6594": {"op": "POP", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6595": {"op": "PUSH1", "value": "0x0", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6597": {"op": "PUSH1", "value": "0x40", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6599": {"op": "MLOAD", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6600": {"op": "DUP1", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6601": {"op": "DUP4", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6602": {"op": "SUB", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6603": {"op": "DUP2", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6604": {"op": "DUP6", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6605": {"op": "DUP8", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6606": {"op": "GAS", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6607": {"op": "CALL", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6608": {"op": "SWAP3", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6609": {"op": "POP", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6610": {"op": "POP", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6611": {"op": "POP", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6612": {"op": "RETURNDATASIZE", "path": "8", "offset": [5022, 5055], "fn": "Address.functionCallWithValue"}, "6613": {"op": "DUP1"}, "6614": {"op": "PUSH1", "value": "0x0"}, "6616": {"op": "DUP2"}, "6617": {"op": "EQ"}, "6618": {"op": "PUSH2", "value": "0x19FF"}, "6621": {"op": "JUMPI"}, "6622": {"op": "PUSH1", "value": "0x40"}, "6624": {"op": "MLOAD"}, "6625": {"op": "SWAP2"}, "6626": {"op": "POP"}, "6627": {"op": "PUSH1", "value": "0x1F"}, "6629": {"op": "NOT"}, "6630": {"op": "PUSH1", "value": "0x3F"}, "6632": {"op": "RETURNDATASIZE"}, "6633": {"op": "ADD"}, "6634": {"op": "AND"}, "6635": {"op": "DUP3"}, "6636": {"op": "ADD"}, "6637": {"op": "PUSH1", "value": "0x40"}, "6639": {"op": "MSTORE"}, "6640": {"op": "RETURNDATASIZE"}, "6641": {"op": "DUP3"}, "6642": {"op": "MSTORE"}, "6643": {"op": "RETURNDATASIZE"}, "6644": {"op": "PUSH1", "value": "0x0"}, "6646": {"op": "PUSH1", "value": "0x20"}, "6648": {"op": "DUP5"}, "6649": {"op": "ADD"}, "6650": {"op": "RETURNDATACOPY"}, "6651": {"op": "PUSH2", "value": "0x1A04"}, "6654": {"op": "JUMP"}, "6655": {"op": "JUMPDEST"}, "6656": {"op": "PUSH1", "value": "0x60"}, "6658": {"op": "SWAP2"}, "6659": {"op": "POP"}, "6660": {"op": "JUMPDEST"}, "6661": {"op": "POP"}, "6662": {"op": "SWAP2", "path": "8", "offset": [4980, 5055], "fn": "Address.functionCallWithValue"}, "6663": {"op": "POP", "path": "8", "offset": [4980, 5055], "fn": "Address.functionCallWithValue"}, "6664": {"op": "SWAP2", "path": "8", "offset": [4980, 5055], "fn": "Address.functionCallWithValue"}, "6665": {"op": "POP", "path": "8", "offset": [4980, 5055], "fn": "Address.functionCallWithValue"}, "6666": {"op": "PUSH2", "value": "0x1A14", "path": "8", "offset": [5072, 5124], "fn": "Address.functionCallWithValue", "statement": 100}, "6669": {"op": "DUP3", "path": "8", "offset": [5090, 5097], "fn": "Address.functionCallWithValue"}, "6670": {"op": "DUP3", "path": "8", "offset": [5099, 5109], "fn": "Address.functionCallWithValue"}, "6671": {"op": "DUP7", "path": "8", "offset": [5111, 5123], "fn": "Address.functionCallWithValue"}, "6672": {"op": "PUSH2", "value": "0x1A1F", "path": "8", "offset": [5072, 5089], "fn": "Address.functionCallWithValue"}, "6675": {"op": "JUMP", "jump": "i", "path": "8", "offset": [5072, 5124], "fn": "Address.functionCallWithValue"}, "6676": {"op": "JUMPDEST", "path": "8", "offset": [5072, 5124], "fn": "Address.functionCallWithValue"}, "6677": {"op": "SWAP8", "path": "8", "offset": [5065, 5124], "fn": "Address.functionCallWithValue"}, "6678": {"op": "SWAP7", "path": "8", "offset": [4608, 5131], "fn": "Address.functionCallWithValue"}, "6679": {"op": "POP"}, "6680": {"op": "POP"}, "6681": {"op": "POP"}, "6682": {"op": "POP"}, "6683": {"op": "POP"}, "6684": {"op": "POP"}, "6685": {"op": "POP"}, "6686": {"op": "JUMP", "jump": "o", "path": "8", "offset": [4608, 5131], "fn": "Address.functionCallWithValue"}, "6687": {"op": "JUMPDEST", "path": "8", "offset": [7091, 7816], "fn": "Address._verifyCallResult"}, "6688": {"op": "PUSH1", "value": "0x60", "path": "8", "offset": [7206, 7218], "fn": "Address._verifyCallResult"}, "6690": {"op": "DUP4", "path": "8", "offset": [7234, 7241], "fn": "Address._verifyCallResult", "branch": 104}, "6691": {"op": "ISZERO", "path": "8", "offset": [7230, 7810], "fn": "Address._verifyCallResult"}, "6692": {"op": "PUSH2", "value": "0x1A2E", "path": "8", "offset": [7230, 7810], "fn": "Address._verifyCallResult"}, "6695": {"op": "JUMPI", "path": "8", "offset": [7230, 7810], "fn": "Address._verifyCallResult", "branch": 104}, "6696": {"op": "POP"}, "6697": {"op": "DUP2", "path": "8", "offset": [7264, 7274], "fn": "Address._verifyCallResult", "statement": 101}, "6698": {"op": "PUSH2", "value": "0x108C", "path": "8", "offset": [7257, 7274], "fn": "Address._verifyCallResult"}, "6701": {"op": "JUMP", "path": "8", "offset": [7257, 7274], "fn": "Address._verifyCallResult"}, "6702": {"op": "JUMPDEST", "path": "8", "offset": [7230, 7810], "fn": "Address._verifyCallResult"}, "6703": {"op": "DUP3", "path": "8", "offset": [7375, 7392], "fn": "Address._verifyCallResult"}, "6704": {"op": "MLOAD", "path": "8", "offset": [7375, 7392], "fn": "Address._verifyCallResult"}, "6705": {"op": "ISZERO", "path": "8", "offset": [7375, 7396], "fn": "Address._verifyCallResult", "branch": 105}, "6706": {"op": "PUSH2", "value": "0x1A3E", "path": "8", "offset": [7371, 7800], "fn": "Address._verifyCallResult"}, "6709": {"op": "JUMPI", "path": "8", "offset": [7371, 7800], "fn": "Address._verifyCallResult", "branch": 105}, "6710": {"op": "DUP3", "path": "8", "offset": [7633, 7643], "fn": "Address._verifyCallResult"}, "6711": {"op": "MLOAD", "path": "8", "offset": [7627, 7644], "fn": "Address._verifyCallResult"}, "6712": {"op": "DUP1", "path": "8", "offset": [7693, 7708], "fn": "Address._verifyCallResult"}, "6713": {"op": "DUP5", "path": "8", "offset": [7680, 7690], "fn": "Address._verifyCallResult"}, "6714": {"op": "PUSH1", "value": "0x20", "path": "8", "offset": [7676, 7678], "fn": "Address._verifyCallResult"}, "6716": {"op": "ADD", "path": "8", "offset": [7672, 7691], "fn": "Address._verifyCallResult"}, "6717": {"op": "REVERT", "path": "8", "offset": [7665, 7709], "fn": "Address._verifyCallResult"}, "6718": {"op": "JUMPDEST", "path": "8", "offset": [7582, 7727], "fn": "Address._verifyCallResult"}, "6719": {"op": "PUSH1", "value": "0x40", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult", "statement": 102}, "6721": {"op": "MLOAD", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6722": {"op": "PUSH3", "value": "0x461BCD"}, "6726": {"op": "PUSH1", "value": "0xE5"}, "6728": {"op": "SHL"}, "6729": {"op": "DUP2", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6730": {"op": "MSTORE", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6731": {"op": "PUSH1", "value": "0x20", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6733": {"op": "PUSH1", "value": "0x4", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6735": {"op": "DUP3", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6736": {"op": "ADD", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6737": {"op": "DUP2", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6738": {"op": "DUP2", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6739": {"op": "MSTORE", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6740": {"op": "DUP5", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6741": {"op": "MLOAD", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6742": {"op": "PUSH1", "value": "0x24", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6744": {"op": "DUP5", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6745": {"op": "ADD", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6746": {"op": "MSTORE", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6747": {"op": "DUP5", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6748": {"op": "MLOAD", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6749": {"op": "DUP6", "path": "8", "offset": [7772, 7784], "fn": "Address._verifyCallResult"}, "6750": {"op": "SWAP4", "path": "8", "offset": [7772, 7784], "fn": "Address._verifyCallResult"}, "6751": {"op": "SWAP2", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6752": {"op": "SWAP3", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6753": {"op": "DUP4", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6754": {"op": "SWAP3", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6755": {"op": "PUSH1", "value": "0x44", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6757": {"op": "ADD", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6758": {"op": "SWAP2", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6759": {"op": "SWAP1", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6760": {"op": "DUP6", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6761": {"op": "ADD", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6762": {"op": "SWAP1", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6763": {"op": "DUP1", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6764": {"op": "DUP4", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6765": {"op": "DUP4", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6766": {"op": "PUSH1", "value": "0x0", "path": "8", "offset": [7765, 7785], "fn": "Address._verifyCallResult"}, "6768": {"op": "DUP4"}, "6769": {"op": "ISZERO"}, "6770": {"op": "PUSH2", "value": "0x13BE"}, "6773": {"op": "JUMPI"}, "6774": {"op": "DUP2"}, "6775": {"op": "DUP2"}, "6776": {"op": "ADD"}, "6777": {"op": "MLOAD"}, "6778": {"op": "DUP4"}, "6779": {"op": "DUP3"}, "6780": {"op": "ADD"}, "6781": {"op": "MSTORE"}, "6782": {"op": "PUSH1", "value": "0x20"}, "6784": {"op": "ADD"}, "6785": {"op": "PUSH2", "value": "0x13A6"}, "6788": {"op": "JUMP"}, "6789": {"op": "JUMPDEST", "path": "13", "offset": [115, 631]}, "6790": {"op": "DUP3", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6791": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6792": {"op": "SLOAD", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6793": {"op": "PUSH1", "value": "0x1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6795": {"op": "DUP2", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6796": {"op": "PUSH1", "value": "0x1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6798": {"op": "AND", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6799": {"op": "ISZERO", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6800": {"op": "PUSH2", "value": "0x100", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6803": {"op": "MUL", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6804": {"op": "SUB", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6805": {"op": "AND", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6806": {"op": "PUSH1", "value": "0x2", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6808": {"op": "SWAP1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6809": {"op": "DIV", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6810": {"op": "SWAP1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6811": {"op": "PUSH1", "value": "0x0", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6813": {"op": "MSTORE", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6814": {"op": "PUSH1", "value": "0x20", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6816": {"op": "PUSH1", "value": "0x0", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6818": {"op": "KECCAK256", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6819": {"op": "SWAP1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6820": {"op": "PUSH1", "value": "0x1F", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6822": {"op": "ADD", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6823": {"op": "PUSH1", "value": "0x20", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6825": {"op": "SWAP1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6826": {"op": "DIV", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6827": {"op": "DUP2", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6828": {"op": "ADD", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6829": {"op": "SWAP3", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6830": {"op": "DUP3", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6831": {"op": "PUSH1", "value": "0x1F", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6833": {"op": "LT", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6834": {"op": "PUSH2", "value": "0x1AC6", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6837": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6838": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6839": {"op": "MLOAD", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6840": {"op": "PUSH1", "value": "0xFF", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6842": {"op": "NOT", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6843": {"op": "AND", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6844": {"op": "DUP4", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6845": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6846": {"op": "ADD", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6847": {"op": "OR", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6848": {"op": "DUP6", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6849": {"op": "SSTORE", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6850": {"op": "PUSH2", "value": "0x1AF3", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6853": {"op": "JUMP", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6854": {"op": "JUMPDEST", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6855": {"op": "DUP3", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6856": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6857": {"op": "ADD", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6858": {"op": "PUSH1", "value": "0x1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6860": {"op": "ADD", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6861": {"op": "DUP6", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6862": {"op": "SSTORE", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6863": {"op": "DUP3", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6864": {"op": "ISZERO", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6865": {"op": "PUSH2", "value": "0x1AF3", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6868": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6869": {"op": "SWAP2", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6870": {"op": "DUP3", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6871": {"op": "ADD", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6872": {"op": "JUMPDEST", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6873": {"op": "DUP3", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6874": {"op": "DUP2", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6875": {"op": "GT", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6876": {"op": "ISZERO", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6877": {"op": "PUSH2", "value": "0x1AF3", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6880": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6881": {"op": "DUP3", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6882": {"op": "MLOAD", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6883": {"op": "DUP3", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6884": {"op": "SSTORE", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6885": {"op": "SWAP2", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6886": {"op": "PUSH1", "value": "0x20", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6888": {"op": "ADD", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6889": {"op": "SWAP2", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6890": {"op": "SWAP1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6891": {"op": "PUSH1", "value": "0x1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6893": {"op": "ADD", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6894": {"op": "SWAP1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6895": {"op": "PUSH2", "value": "0x1AD8", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6898": {"op": "JUMP", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6899": {"op": "JUMPDEST", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6900": {"op": "POP"}, "6901": {"op": "PUSH2", "value": "0x1AFF", "path": "13", "offset": [115, 631]}, "6904": {"op": "SWAP3", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6905": {"op": "SWAP2", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6906": {"op": "POP"}, "6907": {"op": "PUSH2", "value": "0x1B03", "path": "13", "offset": [115, 631]}, "6910": {"op": "JUMP", "jump": "i", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6911": {"op": "JUMPDEST", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6912": {"op": "POP", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6913": {"op": "SWAP1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6914": {"op": "JUMP", "jump": "o", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6915": {"op": "JUMPDEST", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6916": {"op": "PUSH2", "value": "0x616", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6919": {"op": "SWAP2", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6920": {"op": "SWAP1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6921": {"op": "JUMPDEST", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6922": {"op": "DUP1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6923": {"op": "DUP3", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6924": {"op": "GT", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6925": {"op": "ISZERO", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6926": {"op": "PUSH2", "value": "0x1AFF", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6929": {"op": "JUMPI", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6930": {"op": "PUSH1", "value": "0x0", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6932": {"op": "DUP2", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6933": {"op": "SSTORE", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6934": {"op": "PUSH1", "value": "0x1", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6936": {"op": "ADD", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6937": {"op": "PUSH2", "value": "0x1B09", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}, "6940": {"op": "JUMP", "path": "13", "offset": [115, 631], "fn": "Address._verifyCallResult"}}, "type": "contract", "abi": [{"inputs": [], "stateMutability": "nonpayable", "type": "constructor", "name": "constructor"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "owner", "type": "address"}, {"indexed": true, "internalType": "address", "name": "approved", "type": "address"}, {"indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "Approval", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "owner", "type": "address"}, {"indexed": true, "internalType": "address", "name": "operator", "type": "address"}, {"indexed": false, "internalType": "bool", "name": "approved", "type": "bool"}], "name": "ApprovalForAll", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "from", "type": "address"}, {"indexed": true, "internalType": "address", "name": "to", "type": "address"}, {"indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "Transfer", "type": "event"}, {"inputs": [{"internalType": "address", "name": "to", "type": "address"}, {"internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [{"internalType": "address", "name": "owner", "type": "address"}], "name": "balanceOf", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "baseURI", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "string", "name": "tokenURI", "type": "string"}, {"internalType": "address", "name": "recipient", "type": "address"}], "name": "createCollectible", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "getApproved", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "address", "name": "owner", "type": "address"}, {"internalType": "address", "name": "operator", "type": "address"}], "name": "isApprovedForAll", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "name", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "ownerOf", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "address", "name": "from", "type": "address"}, {"internalType": "address", "name": "to", "type": "address"}, {"internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [{"internalType": "address", "name": "from", "type": "address"}, {"internalType": "address", "name": "to", "type": "address"}, {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, {"internalType": "bytes", "name": "_data", "type": "bytes"}], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [{"internalType": "address", "name": "operator", "type": "address"}, {"internalType": "bool", "name": "approved", "type": "bool"}], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [{"internalType": "bytes4", "name": "interfaceId", "type": "bytes4"}], "name": "supportsInterface", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "symbol", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "index", "type": "uint256"}], "name": "tokenByIndex", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "tokenCounter", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "address", "name": "owner", "type": "address"}, {"internalType": "uint256", "name": "index", "type": "uint256"}], "name": "tokenOfOwnerByIndex", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "tokenURI", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "totalSupply", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "address", "name": "from", "type": "address"}, {"internalType": "address", "name": "to", "type": "address"}, {"internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function"}], "ast": {"absolutePath": "contracts/NFTmint.sol", "exportedSymbols": {"SimpleCollectible": [54]}, "id": 55, "nodeType": "SourceUnit", "nodes": [{"id": 1, "literals": ["solidity", "0.6", ".6"], "nodeType": "PragmaDirective", "src": "32:22:13"}, {"absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/ERC721.sol", "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", "id": 2, "nodeType": "ImportDirective", "scope": 55, "sourceUnit": 998, "src": "56:57:13", "symbolAliases": [], "unitAlias": ""}, {"abstract": false, "baseContracts": [{"arguments": null, "baseName": {"contractScope": null, "id": 3, "name": "ERC721", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 997, "src": "145:6:13", "typeDescriptions": {"typeIdentifier": "t_contract$_ERC721_$997", "typeString": "contract ERC721"}}, "id": 4, "nodeType": "InheritanceSpecifier", "src": "145:6:13"}], "contractDependencies": [997, 1053, 1524, 1555, 1582, 1919, 3070], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 54, "linearizedBaseContracts": [54, 997, 1555, 1582, 1524, 1053, 3070, 1919], "name": "SimpleCollectible", "nodeType": "ContractDefinition", "nodes": [{"constant": false, "functionSelector": "d082e381", "id": 6, "mutability": "mutable", "name": "tokenCounter", "nodeType": "VariableDeclaration", "overrides": null, "scope": 54, "src": "158:27:13", "stateVariable": true, "storageLocation": "default", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}, "typeName": {"id": 5, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "158:7:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "value": null, "visibility": "public"}, {"body": {"id": 17, "nodeType": "Block", "src": "260:33:13", "statements": [{"expression": {"argumentTypes": null, "id": 15, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": {"argumentTypes": null, "id": 13, "name": "tokenCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6, "src": "270:12:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "nodeType": "Assignment", "operator": "=", "rightHandSide": {"argumentTypes": null, "hexValue": "30", "id": 14, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "285:1:13", "subdenomination": null, "typeDescriptions": {"typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0"}, "value": "0"}, "src": "270:16:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "id": 16, "nodeType": "ExpressionStatement", "src": "270:16:13"}]}, "documentation": null, "id": 18, "implemented": true, "kind": "constructor", "modifiers": [{"arguments": [{"argumentTypes": null, "hexValue": "4365727469666963617465", "id": 9, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "220:13:13", "subdenomination": null, "typeDescriptions": {"typeIdentifier": "t_stringliteral_476b6a56e8793270a7635a828307eeb92cd7e2153dff9a3bd168aec20746ea55", "typeString": "literal_string \"Certificate\""}, "value": "Certificate"}, {"argumentTypes": null, "hexValue": "4465657046616b6543657274696669636174696f6e", "id": 10, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "235:23:13", "subdenomination": null, "typeDescriptions": {"typeIdentifier": "t_stringliteral_9bb7d49fef367e635ef78744668658e0d581cf6cf1d9a0764e77c53f16f72bd7", "typeString": "literal_string \"DeepFakeCertification\""}, "value": "DeepFakeCertification"}], "id": 11, "modifierName": {"argumentTypes": null, "id": 8, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 997, "src": "213:6:13", "typeDescriptions": {"typeIdentifier": "t_type$_t_contract$_ERC721_$997_$", "typeString": "type(contract ERC721)"}}, "nodeType": "ModifierInvocation", "src": "213:46:13"}], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": {"id": 7, "nodeType": "ParameterList", "parameters": [], "src": "203:2:13"}, "returnParameters": {"id": 12, "nodeType": "ParameterList", "parameters": [], "src": "260:0:13"}, "scope": 54, "src": "192:101:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "public"}, {"body": {"id": 52, "nodeType": "Block", "src": "416:213:13", "statements": [{"assignments": [28], "declarations": [{"constant": false, "id": 28, "mutability": "mutable", "name": "newTokenId", "nodeType": "VariableDeclaration", "overrides": null, "scope": 52, "src": "426:18:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}, "typeName": {"id": 27, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "426:7:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "value": null, "visibility": "internal"}], "id": 30, "initialValue": {"argumentTypes": null, "id": 29, "name": "tokenCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6, "src": "447:12:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "nodeType": "VariableDeclarationStatement", "src": "426:33:13"}, {"expression": {"argumentTypes": null, "arguments": [{"argumentTypes": null, "arguments": [{"argumentTypes": null, "id": 34, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, "src": "487:9:13", "typeDescriptions": {"typeIdentifier": "t_address", "typeString": "address"}}], "expression": {"argumentTypes": [{"typeIdentifier": "t_address", "typeString": "address"}], "id": 33, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "479:7:13", "typeDescriptions": {"typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)"}, "typeName": {"id": 32, "name": "address", "nodeType": "ElementaryTypeName", "src": "479:7:13", "typeDescriptions": {"typeIdentifier": null, "typeString": null}}}, "id": 35, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "479:18:13", "tryCall": false, "typeDescriptions": {"typeIdentifier": "t_address", "typeString": "address"}}, {"argumentTypes": null, "id": 36, "name": "newTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 28, "src": "499:10:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}], "expression": {"argumentTypes": [{"typeIdentifier": "t_address", "typeString": "address"}, {"typeIdentifier": "t_uint256", "typeString": "uint256"}], "id": 31, "name": "_safeMint", "nodeType": "Identifier", "overloadedDeclarations": [642, 671], "referencedDeclaration": 642, "src": "469:9:13", "typeDescriptions": {"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)"}}, "id": 37, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "469:41:13", "tryCall": false, "typeDescriptions": {"typeIdentifier": "t_tuple$__$", "typeString": "tuple()"}}, "id": 38, "nodeType": "ExpressionStatement", "src": "469:41:13"}, {"expression": {"argumentTypes": null, "arguments": [{"argumentTypes": null, "id": 40, "name": "newTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 28, "src": "533:10:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, {"argumentTypes": null, "id": 41, "name": "tokenURI", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20, "src": "545:8:13", "typeDescriptions": {"typeIdentifier": "t_string_memory_ptr", "typeString": "string memory"}}], "expression": {"argumentTypes": [{"typeIdentifier": "t_uint256", "typeString": "uint256"}, {"typeIdentifier": "t_string_memory_ptr", "typeString": "string memory"}], "id": 39, "name": "_setTokenURI", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, "src": "520:12:13", "typeDescriptions": {"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (uint256,string memory)"}}, "id": 42, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "520:34:13", "tryCall": false, "typeDescriptions": {"typeIdentifier": "t_tuple$__$", "typeString": "tuple()"}}, "id": 43, "nodeType": "ExpressionStatement", "src": "520:34:13"}, {"expression": {"argumentTypes": null, "id": 48, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": {"argumentTypes": null, "id": 44, "name": "tokenCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6, "src": "564:12:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "nodeType": "Assignment", "operator": "=", "rightHandSide": {"argumentTypes": null, "commonType": {"typeIdentifier": "t_uint256", "typeString": "uint256"}, "id": 47, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": {"argumentTypes": null, "id": 45, "name": "tokenCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6, "src": "579:12:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": {"argumentTypes": null, "hexValue": "31", "id": 46, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "594:1:13", "subdenomination": null, "typeDescriptions": {"typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1"}, "value": "1"}, "src": "579:16:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "src": "564:31:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "id": 49, "nodeType": "ExpressionStatement", "src": "564:31:13"}, {"expression": {"argumentTypes": null, "id": 50, "name": "newTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 28, "src": "612:10:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "functionReturnParameters": 26, "id": 51, "nodeType": "Return", "src": "605:17:13"}]}, "documentation": null, "functionSelector": "a593bc35", "id": 53, "implemented": true, "kind": "function", "modifiers": [], "name": "createCollectible", "nodeType": "FunctionDefinition", "overrides": null, "parameters": {"id": 23, "nodeType": "ParameterList", "parameters": [{"constant": false, "id": 20, "mutability": "mutable", "name": "tokenURI", "nodeType": "VariableDeclaration", "overrides": null, "scope": 53, "src": "335:22:13", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": {"typeIdentifier": "t_string_memory_ptr", "typeString": "string"}, "typeName": {"id": 19, "name": "string", "nodeType": "ElementaryTypeName", "src": "335:6:13", "typeDescriptions": {"typeIdentifier": "t_string_storage_ptr", "typeString": "string"}}, "value": null, "visibility": "internal"}, {"constant": false, "id": 22, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, "scope": 53, "src": "367:17:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": {"typeIdentifier": "t_address", "typeString": "address"}, "typeName": {"id": 21, "name": "address", "nodeType": "ElementaryTypeName", "src": "367:7:13", "stateMutability": "nonpayable", "typeDescriptions": {"typeIdentifier": "t_address", "typeString": "address"}}, "value": null, "visibility": "internal"}], "src": "325:65:13"}, "returnParameters": {"id": 26, "nodeType": "ParameterList", "parameters": [{"constant": false, "id": 25, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 53, "src": "407:7:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}, "typeName": {"id": 24, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "407:7:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "value": null, "visibility": "internal"}], "src": "406:9:13"}, "scope": 54, "src": "299:330:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "public"}], "scope": 55, "src": "115:516:13"}], "src": "32:599:13"}, "compiler": {"version": "0.6.6+commit.6c089d02", "evm_version": "istanbul", "optimizer": {"enabled": true, "runs": 200}}, "contractName": "SimpleCollectible", "deployedBytecode": "608060405234801561001057600080fd5b50600436106101215760003560e01c80636352211e116100ad578063a593bc3511610071578063a593bc3514610395578063b88d4fde14610446578063c87b56dd1461050c578063d082e38114610529578063e985e9c51461053157610121565b80636352211e146103145780636c0360eb1461033157806370a082311461033957806395d89b411461035f578063a22cb4651461036757610121565b806318160ddd116100f457806318160ddd1461024557806323b872dd1461025f5780632f745c591461029557806342842e0e146102c15780634f6ccce7146102f757610121565b806301ffc9a71461012657806306fdde0314610161578063081812fc146101de578063095ea7b314610217575b600080fd5b61014d6004803603602081101561013c57600080fd5b50356001600160e01b03191661055f565b604080519115158252519081900360200190f35b610169610582565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a357818101518382015260200161018b565b50505050905090810190601f1680156101d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360208110156101f457600080fd5b5035610619565b604080516001600160a01b039092168252519081900360200190f35b6102436004803603604081101561022d57600080fd5b506001600160a01b03813516906020013561067b565b005b61024d610756565b60408051918252519081900360200190f35b6102436004803603606081101561027557600080fd5b506001600160a01b03813581169160208101359091169060400135610767565b61024d600480360360408110156102ab57600080fd5b506001600160a01b0381351690602001356107be565b610243600480360360608110156102d757600080fd5b506001600160a01b038135811691602081013590911690604001356107ef565b61024d6004803603602081101561030d57600080fd5b503561080a565b6101fb6004803603602081101561032a57600080fd5b5035610826565b610169610854565b61024d6004803603602081101561034f57600080fd5b50356001600160a01b03166108b5565b61016961091d565b6102436004803603604081101561037d57600080fd5b506001600160a01b038135169060200135151561097e565b61024d600480360360408110156103ab57600080fd5b8101906020810181356401000000008111156103c657600080fd5b8201836020820111156103d857600080fd5b803590602001918460018302840111640100000000831117156103fa57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b03169150610a839050565b6102436004803603608081101561045c57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561049757600080fd5b8201836020820111156104a957600080fd5b803590602001918460018302840111640100000000831117156104cb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610aad945050505050565b6101696004803603602081101561052257600080fd5b5035610b0b565b61024d610d8e565b61014d6004803603604081101561054757600080fd5b506001600160a01b0381358116916020013516610d94565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b820191906000526020600020905b8154815290600101906020018083116105f157829003601f168201915b505050505090505b90565b600061062482610dc2565b61065f5760405162461bcd60e51b815260040180806020018281038252602c815260200180611c6f602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b600061068682610826565b9050806001600160a01b0316836001600160a01b031614156106d95760405162461bcd60e51b8152600401808060200182810382526021815260200180611d1f6021913960400191505060405180910390fd5b806001600160a01b03166106eb610dd5565b6001600160a01b0316148061070c575061070c81610707610dd5565b610d94565b6107475760405162461bcd60e51b8152600401808060200182810382526038815260200180611bc26038913960400191505060405180910390fd5b6107518383610dd9565b505050565b60006107626002610e47565b905090565b610778610772610dd5565b82610e52565b6107b35760405162461bcd60e51b8152600401808060200182810382526031815260200180611d406031913960400191505060405180910390fd5b610751838383610ef6565b6001600160a01b03821660009081526001602052604081206107e6908363ffffffff61105416565b90505b92915050565b61075183838360405180602001604052806000815250610aad565b60008061081e60028463ffffffff61106016565b509392505050565b60006107e982604051806060016040528060298152602001611c24602991396002919063ffffffff61107c16565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b60006001600160a01b0382166108fc5760405162461bcd60e51b815260040180806020018281038252602a815260200180611bfa602a913960400191505060405180910390fd5b6001600160a01b03821660009081526001602052604090206107e990610e47565b60078054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b610986610dd5565b6001600160a01b0316826001600160a01b031614156109ec576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b80600560006109f9610dd5565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff191692151592909217909155610a3d610dd5565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b600a54600090610a938382611093565b610a9d81856110b1565b600a805460010190559392505050565b610abe610ab8610dd5565b83610e52565b610af95760405162461bcd60e51b8152600401808060200182810382526031815260200180611d406031913960400191505060405180910390fd5b610b0584848484611114565b50505050565b6060610b1682610dc2565b610b515760405162461bcd60e51b815260040180806020018281038252602f815260200180611cf0602f913960400191505060405180910390fd5b60008281526008602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610be65780601f10610bbb57610100808354040283529160200191610be6565b820191906000526020600020905b815481529060010190602001808311610bc957829003601f168201915b505050505090506060610bf7610854565b9050805160001415610c0b5750905061057d565b815115610ccc5780826040516020018083805190602001908083835b60208310610c465780518252601f199092019160209182019101610c27565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610c8e5780518252601f199092019160209182019101610c6f565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529250505061057d565b80610cd685611166565b6040516020018083805190602001908083835b60208310610d085780518252601f199092019160209182019101610ce9565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610d505780518252601f199092019160209182019101610d31565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b600a5481565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006107e960028363ffffffff61124116565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610e0e82610826565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006107e98261124d565b6000610e5d82610dc2565b610e985760405162461bcd60e51b815260040180806020018281038252602c815260200180611b96602c913960400191505060405180910390fd5b6000610ea383610826565b9050806001600160a01b0316846001600160a01b03161480610ede5750836001600160a01b0316610ed384610619565b6001600160a01b0316145b80610eee5750610eee8185610d94565b949350505050565b826001600160a01b0316610f0982610826565b6001600160a01b031614610f4e5760405162461bcd60e51b8152600401808060200182810382526029815260200180611cc76029913960400191505060405180910390fd5b6001600160a01b038216610f935760405162461bcd60e51b8152600401808060200182810382526024815260200180611b726024913960400191505060405180910390fd5b610f9e838383610751565b610fa9600082610dd9565b6001600160a01b0383166000908152600160205260409020610fd1908263ffffffff61125116565b506001600160a01b0382166000908152600160205260409020610ffa908263ffffffff61125d16565b5061100d6002828463ffffffff61126916565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006107e6838361127f565b600080808061106f86866112e3565b9097909650945050505050565b600061108984848461135e565b90505b9392505050565b6110ad828260405180602001604052806000815250611428565b5050565b6110ba82610dc2565b6110f55760405162461bcd60e51b815260040180806020018281038252602c815260200180611c9b602c913960400191505060405180910390fd5b6000828152600860209081526040909120825161075192840190611a85565b61111f848484610ef6565b61112b8484848461147a565b610b055760405162461bcd60e51b8152600401808060200182810382526032815260200180611b406032913960400191505060405180910390fd5b60608161118b57506040805180820190915260018152600360fc1b602082015261057d565b8160005b81156111a357600101600a8204915061118f565b60608167ffffffffffffffff811180156111bc57600080fd5b506040519080825280601f01601f1916602001820160405280156111e7576020820181803683370190505b50859350905060001982015b831561123857600a840660300160f81b8282806001900393508151811061121657fe5b60200101906001600160f81b031916908160001a905350600a840493506111f3565b50949350505050565b60006107e683836115fa565b5490565b60006107e68383611612565b60006107e683836116d8565b600061108984846001600160a01b038516611722565b815460009082106112c15760405162461bcd60e51b8152600401808060200182810382526022815260200180611b1e6022913960400191505060405180910390fd5b8260000182815481106112d057fe5b9060005260206000200154905092915050565b8154600090819083106113275760405162461bcd60e51b8152600401808060200182810382526022815260200180611c4d6022913960400191505060405180910390fd5b600084600001848154811061133857fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082815260018401602052604081205482816113f95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113be5781810151838201526020016113a6565b50505050905090810190601f1680156113eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061140c57fe5b9060005260206000209060020201600101549150509392505050565b61143283836117b9565b61143f600084848461147a565b6107515760405162461bcd60e51b8152600401808060200182810382526032815260200180611b406032913960400191505060405180910390fd5b600061148e846001600160a01b03166118f3565b61149a57506001610eee565b60606115c0630a85bd0160e11b6114af610dd5565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611528578181015183820152602001611510565b50505050905090810190601f1680156115555780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001611b40603291396001600160a01b038816919063ffffffff6118f916565b905060008180602001905160208110156115d957600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156116ce578354600019808301919081019060009087908390811061164557fe5b906000526020600020015490508087600001848154811061166257fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061169257fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506107e9565b60009150506107e9565b60006116e483836115fa565b61171a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107e9565b5060006107e9565b60008281526001840160205260408120548061178757505060408051808201825283815260208082018481528654600181810189556000898152848120955160029093029095019182559151908201558654868452818801909252929091205561108c565b8285600001600183038154811061179a57fe5b906000526020600020906002020160010181905550600091505061108c565b6001600160a01b038216611814576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61181d81610dc2565b1561186f576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b61187b60008383610751565b6001600160a01b03821660009081526001602052604090206118a3908263ffffffff61125d16565b506118b66002828463ffffffff61126916565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b3b151590565b606061108984846000858561190d856118f3565b61195e576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061199d5780518252601f19909201916020918201910161197e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146119ff576040519150601f19603f3d011682016040523d82523d6000602084013e611a04565b606091505b5091509150611a14828286611a1f565b979650505050505050565b60608315611a2e57508161108c565b825115611a3e5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156113be5781810151838201526020016113a6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611ac657805160ff1916838001178555611af3565b82800160010185558215611af3579182015b82811115611af3578251825591602001919060010190611ad8565b50611aff929150611b03565b5090565b61061691905b80821115611aff5760008155600101611b0956fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a26469706673582212201180ff22edeb9dc96da9f3ff46ece972c16d926862f9192954f500ef811b70c164736f6c63430006060033", "deployedSourceMap": "115:516:13:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;115:516:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;965:148:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;965:148:0;-1:-1:-1;;;;;;965:148:0;;:::i;:::-;;;;;;;;;;;;;;;;;;4517:98:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4517:98:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7222:217;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7222:217:3;;:::i;:::-;;;;-1:-1:-1;;;;;7222:217:3;;;;;;;;;;;;;;6766:395;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6766:395:3;;;;;;;;:::i;:::-;;6260:208;;;:::i;:::-;;;;;;;;;;;;;;;;8086:300;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8086:300:3;;;;;;;;;;;;;;;;;:::i;6029:160::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6029:160:3;;;;;;;;:::i;8452:149::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8452:149:3;;;;;;;;;;;;;;;;;:::i;6540:169::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6540:169:3;;:::i;4280:175::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4280:175:3;;:::i;5855:95::-;;;:::i;4005:218::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4005:218:3;-1:-1:-1;;;;;4005:218:3;;:::i;4679:102::-;;;:::i;7506:290::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;7506:290:3;;;;;;;;;;:::i;299:330:13:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;299:330:13;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;299:330:13;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;299:330:13;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;299:330:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;299:330:13;;-1:-1:-1;;;299:330:13;;-1:-1:-1;;;;;299:330:13;;-1:-1:-1;299:330:13;;-1:-1:-1;299:330:13:i;8667:282:3:-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;;;;;8667:282:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;8667:282:3;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;8667:282:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8667:282:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8667:282:3;;-1:-1:-1;8667:282:3;;-1:-1:-1;;;;;8667:282:3:i;4847:776::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4847:776:3;;:::i;158:27:13:-;;;:::i;7862:162:3:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;7862:162:3;;;;;;;;;;:::i;965:148:0:-;-1:-1:-1;;;;;;1073:33:0;;1050:4;1073:33;;;;;;;;;;;;;965:148;;;;:::o;4517:98:3:-;4603:5;4596:12;;;;;;;;-1:-1:-1;;4596:12:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4571:13;;4596:12;;4603:5;;4596:12;;4603:5;4596:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4517:98;;:::o;7222:217::-;7298:7;7325:16;7333:7;7325;:16::i;:::-;7317:73;;;;-1:-1:-1;;;7317:73:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7408:24:3;;;;:15;:24;;;;;;-1:-1:-1;;;;;7408:24:3;;7222:217::o;6766:395::-;6846:13;6862:23;6877:7;6862:14;:23::i;:::-;6846:39;;6909:5;-1:-1:-1;;;;;6903:11:3;:2;-1:-1:-1;;;;;6903:11:3;;;6895:57;;;;-1:-1:-1;;;6895:57:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6987:5;-1:-1:-1;;;;;6971:21:3;:12;:10;:12::i;:::-;-1:-1:-1;;;;;6971:21:3;;:69;;;;6996:44;7020:5;7027:12;:10;:12::i;:::-;6996:23;:44::i;:::-;6963:159;;;;-1:-1:-1;;;6963:159:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7133:21;7142:2;7146:7;7133:8;:21::i;:::-;6766:395;;;:::o;6260:208::-;6321:7;6440:21;:12;:19;:21::i;:::-;6433:28;;6260:208;:::o;8086:300::-;8245:41;8264:12;:10;:12::i;:::-;8278:7;8245:18;:41::i;:::-;8237:103;;;;-1:-1:-1;;;8237:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8351:28;8361:4;8367:2;8371:7;8351:9;:28::i;6029:160::-;-1:-1:-1;;;;;6152:20:3;;6126:7;6152:20;;;:13;:20;;;;;:30;;6176:5;6152:30;:23;:30;:::i;:::-;6145:37;;6029:160;;;;;:::o;8452:149::-;8555:39;8572:4;8578:2;8582:7;8555:39;;;;;;;;;;;;:16;:39::i;6540:169::-;6615:7;;6656:22;:12;6672:5;6656:22;:15;:22;:::i;:::-;-1:-1:-1;6634:44:3;6540:169;-1:-1:-1;;;6540:169:3:o;4280:175::-;4352:7;4378:70;4395:7;4378:70;;;;;;;;;;;;;;;;;:12;;:70;;:16;:70;:::i;5855:95::-;5935:8;5928:15;;;;;;;;-1:-1:-1;;5928:15:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5903:13;;5928:15;;5935:8;;5928:15;;5935:8;5928:15;;;;;;;;;;;;;;;;;;;;;;;;4005:218;4077:7;-1:-1:-1;;;;;4104:19:3;;4096:74;;;;-1:-1:-1;;;4096:74:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4187:20:3;;;;;;:13;:20;;;;;:29;;:27;:29::i;4679:102::-;4767:7;4760:14;;;;;;;;-1:-1:-1;;4760:14:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4735:13;;4760:14;;4767:7;;4760:14;;4767:7;4760:14;;;;;;;;;;;;;;;;;;;;;;;;7506:290;7620:12;:10;:12::i;:::-;-1:-1:-1;;;;;7608:24:3;:8;-1:-1:-1;;;;;7608:24:3;;;7600:62;;;;;-1:-1:-1;;;7600:62:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;7718:8;7673:18;:32;7692:12;:10;:12::i;:::-;-1:-1:-1;;;;;7673:32:3;;;;;;;;;;;;;;;;;-1:-1:-1;7673:32:3;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;7673:53:3;;;;;;;;;;;7756:12;:10;:12::i;:::-;7741:48;;;;;;;;;;-1:-1:-1;;;;;7741:48:3;;;;;;;;;;;;;;7506:290;;:::o;299:330:13:-;447:12;;407:7;;469:41;487:9;447:12;469:9;:41::i;:::-;520:34;533:10;545:8;520:12;:34::i;:::-;579:12;;;594:1;579:16;564:31;;612:10;299:330;-1:-1:-1;;;299:330:13:o;8667:282:3:-;8798:41;8817:12;:10;:12::i;:::-;8831:7;8798:18;:41::i;:::-;8790:103;;;;-1:-1:-1;;;8790:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8903:39;8917:4;8923:2;8927:7;8936:5;8903:13;:39::i;:::-;8667:282;;;;:::o;4847:776::-;4920:13;4953:16;4961:7;4953;:16::i;:::-;4945:76;;;;-1:-1:-1;;;4945:76:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:19;;;;:10;:19;;;;;;;;;5032:45;;;;;;-1:-1:-1;;5032:45:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;:45;;;5058:19;5032:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5087:18;5108:9;:7;:9::i;:::-;5087:30;;5196:4;5190:18;5212:1;5190:23;5186:70;;;-1:-1:-1;5236:9:3;-1:-1:-1;5229:16:3;;5186:70;5358:23;;:27;5354:106;;5432:4;5438:9;5415:33;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5415::3;;;;;;;;;;-1:-1:-1;5415:33:3;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5415:33:3;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5415:33:3;;;5401:48;;;;;;5354:106;5590:4;5596:18;:7;:16;:18::i;:::-;5573:42;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5573:42:3;;;;;;;;;;-1:-1:-1;5573:42:3;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5573:42:3;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5573:42:3;;;5559:57;;;;4847:776;;;:::o;158:27:13:-;;;;:::o;7862:162:3:-;-1:-1:-1;;;;;7982:25:3;;;7959:4;7982:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;7862:162::o;10383:125::-;10448:4;10471:30;:12;10493:7;10471:30;:21;:30;:::i;598:104:9:-;685:10;598:104;:::o;16119:180:3:-;16184:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;16184:29:3;-1:-1:-1;;;;;16184:29:3;;;;;;;;:24;;16237:23;16184:24;16237:14;:23::i;:::-;-1:-1:-1;;;;;16228:46:3;;;;;;;;;;;16119:180;;:::o;7820:121:10:-;7889:7;7915:19;7923:3;7915:7;:19::i;10666:351:3:-;10759:4;10783:16;10791:7;10783;:16::i;:::-;10775:73;;;;-1:-1:-1;;;10775:73:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10858:13;10874:23;10889:7;10874:14;:23::i;:::-;10858:39;;10926:5;-1:-1:-1;;;;;10915:16:3;:7;-1:-1:-1;;;;;10915:16:3;;:51;;;;10959:7;-1:-1:-1;;;;;10935:31:3;:20;10947:7;10935:11;:20::i;:::-;-1:-1:-1;;;;;10935:31:3;;10915:51;:94;;;;10970:39;10994:5;11001:7;10970:23;:39::i;:::-;10907:103;10666:351;-1:-1:-1;;;;10666:351:3:o;13707:584::-;13831:4;-1:-1:-1;;;;;13804:31:3;:23;13819:7;13804:14;:23::i;:::-;-1:-1:-1;;;;;13804:31:3;;13796:85;;;;-1:-1:-1;;;13796:85:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13917:16:3;;13909:65;;;;-1:-1:-1;;;13909:65:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13985:39;14006:4;14012:2;14016:7;13985:20;:39::i;:::-;14086:29;14103:1;14107:7;14086:8;:29::i;:::-;-1:-1:-1;;;;;14126:19:3;;;;;;:13;:19;;;;;:35;;14153:7;14126:35;:26;:35;:::i;:::-;-1:-1:-1;;;;;;14171:17:3;;;;;;:13;:17;;;;;:30;;14193:7;14171:30;:21;:30;:::i;:::-;-1:-1:-1;14212:29:3;:12;14229:7;14238:2;14212:29;:16;:29;:::i;:::-;;14276:7;14272:2;-1:-1:-1;;;;;14257:27:3;14266:4;-1:-1:-1;;;;;14257:27:3;;;;;;;;;;;13707:584;;;:::o;9250:135:11:-;9321:7;9355:22;9359:3;9371:5;9355:3;:22::i;8269:233:10:-;8349:7;;;;8408:22;8412:3;8424:5;8408:3;:22::i;:::-;8377:53;;;;-1:-1:-1;8269:233:10;-1:-1:-1;;;;;8269:233:10:o;9522:211::-;9629:7;9679:44;9684:3;9704;9710:12;9679:4;:44::i;:::-;9671:53;-1:-1:-1;9522:211:10;;;;;;:::o;11348:108:3:-;11423:26;11433:2;11437:7;11423:26;;;;;;;;;;;;:9;:26::i;:::-;11348:108;;:::o;14438:212::-;14537:16;14545:7;14537;:16::i;:::-;14529:73;;;;-1:-1:-1;;;14529:73:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14612:19;;;;:10;:19;;;;;;;;:31;;;;;;;;:::i;9811:269::-;9924:28;9934:4;9940:2;9944:7;9924:9;:28::i;:::-;9970:48;9993:4;9999:2;10003:7;10012:5;9970:22;:48::i;:::-;9962:111;;;;-1:-1:-1;;;9962:111:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:725:12;266:13;483:10;479:51;;-1:-1:-1;509:10:12;;;;;;;;;;;;-1:-1:-1;;;509:10:12;;;;;;479:51;554:5;539:12;593:75;600:9;;593:75;;625:8;;655:2;647:10;;;;593:75;;;677:19;709:6;699:17;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;699:17:12;;;;;;;;;;;;;;;;;;;;;;;;;;21:6:-1;;108:14;699:17:12;87:42:-1;143:17;;-1:-1;699:17:12;-1:-1:-1;769:5:12;;-1:-1:-1;677:39:12;-1:-1:-1;;;742:10:12;;784:114;791:9;;784:114;;859:2;852:4;:9;847:2;:14;834:29;;816:6;823:7;;;;;;;816:15;;;;;;;;;;;:47;-1:-1:-1;;;;;816:47:12;;;;;;;;-1:-1:-1;885:2:12;877:10;;;;784:114;;;-1:-1:-1;921:6:12;210:725;-1:-1:-1;;;;210:725:12:o;7588:149:10:-;7672:4;7695:35;7705:3;7725;7695:9;:35::i;4491:108::-;4573:19;;4491:108::o;8365:135:11:-;8435:4;8458:35;8466:3;8486:5;8458:7;:35::i;8068:129::-;8135:4;8158:32;8163:3;8183:5;8158:4;:32::i;7027:183:10:-;7116:4;7139:64;7144:3;7164;-1:-1:-1;;;;;7178:23:10;;7139:4;:64::i;4452:201:11:-;4546:18;;4519:7;;4546:26;-1:-1:-1;4538:73:11;;;;-1:-1:-1;;;4538:73:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4628:3;:11;;4640:5;4628:18;;;;;;;;;;;;;;;;4621:25;;4452:201;;;;:::o;4942:274:10:-;5045:19;;5009:7;;;;5045:27;-1:-1:-1;5037:74:10;;;;-1:-1:-1;;;5037:74:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5122:22;5147:3;:12;;5160:5;5147:19;;;;;;;;;;;;;;;;;;5122:44;;5184:5;:10;;;5196:5;:12;;;5176:33;;;;;4942:274;;;;;:::o;6403:315::-;6497:7;6535:17;;;:12;;;:17;;;;;;6585:12;6570:13;6562:36;;;;-1:-1:-1;;;6562:36:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6562:36:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:3;:12;;6675:1;6664:8;:12;6651:26;;;;;;;;;;;;;;;;;;:33;;;6644:40;;;6403:315;;;;;:::o;11677:247:3:-;11772:18;11778:2;11782:7;11772:5;:18::i;:::-;11808:54;11839:1;11843:2;11847:7;11856:5;11808:22;:54::i;:::-;11800:117;;;;-1:-1:-1;;;11800:117:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15524:589;15644:4;15669:15;:2;-1:-1:-1;;;;;15669:13:3;;:15::i;:::-;15664:58;;-1:-1:-1;15707:4:3;15700:11;;15664:58;15731:23;15757:246;-1:-1:-1;;;15868:12:3;:10;:12::i;:::-;15894:4;15912:7;15933:5;15773:175;;;;;;-1:-1:-1;;;;;15773:175:3;-1:-1:-1;;;;;15773:175:3;;;;;;-1:-1:-1;;;;;15773:175:3;-1:-1:-1;;;;;15773:175:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15773:175:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;15773:175:3;;;;-1:-1:-1;;;;;15773:175:3;;38:4:-1;29:7;25:18;67:10;61:17;-1:-1;;;;;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;15773:175:3;15757:246;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15757:15:3;;;:246;;:15;:246;:::i;:::-;15731:272;;16013:13;16040:10;16029:32;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16029:32:3;-1:-1:-1;;;;;;16079:26:3;-1:-1:-1;;;16079:26:3;;-1:-1:-1;;;15524:589:3;;;;;;:::o;4278:123:10:-;4349:4;4372:17;;;:12;;;;;:17;;;;;;:22;;;4278:123::o;2212:1512:11:-;2278:4;2415:19;;;:12;;;:19;;;;;;2449:15;;2445:1273;;2878:18;;-1:-1:-1;;2830:14:11;;;;2878:22;;;;2806:21;;2878:3;;:22;;3160;;;;;;;;;;;;;;3140:42;;3303:9;3274:3;:11;;3286:13;3274:26;;;;;;;;;;;;;;;;;;;:38;;;;3378:23;;;3420:1;3378:12;;;:23;;;;;;3404:17;;;3378:43;;3527:17;;3378:3;;3527:17;;;;;;;;;;;;;;;;;;;;;;3619:3;:12;;:19;3632:5;3619:19;;;;;;;;;;;3612:26;;;3660:4;3653:11;;;;;;;;2445:1273;3702:5;3695:12;;;;;1640:404;1703:4;1724:21;1734:3;1739:5;1724:9;:21::i;:::-;1719:319;;-1:-1:-1;27:10;;39:1;23:18;;;45:23;;1761:11:11;:23;;;;;;;;;;;;;1941:18;;1919:19;;;:12;;;:19;;;;;;:40;;;;1973:11;;1719:319;-1:-1:-1;2022:5:11;2015:12;;1836:678:10;1912:4;2045:17;;;:12;;;:17;;;;;;2077:13;2073:435;;-1:-1:-1;;2161:38:10;;;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;2143:12:10;:57;;;;;;;;;;;;;;;;;;;;;;;;2355:19;;2335:17;;;:12;;;:17;;;;;;;:39;2388:11;;2073:435;2466:5;2430:3;:12;;2454:1;2443:8;:12;2430:26;;;;;;;;;;;;;;;;;;:33;;:41;;;;2492:5;2485:12;;;;;12246:393:3;-1:-1:-1;;;;;12325:16:3;;12317:61;;;;;-1:-1:-1;;;12317:61:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12397:16;12405:7;12397;:16::i;:::-;12396:17;12388:58;;;;;-1:-1:-1;;;12388:58:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;12457:45;12486:1;12490:2;12494:7;12457:20;:45::i;:::-;-1:-1:-1;;;;;12513:17:3;;;;;;:13;:17;;;;;:30;;12535:7;12513:30;:21;:30;:::i;:::-;-1:-1:-1;12554:29:3;:12;12571:7;12580:2;12554:29;:16;:29;:::i;:::-;-1:-1:-1;12599:33:3;;12624:7;;-1:-1:-1;;;;;12599:33:3;;;12616:1;;12599:33;;12616:1;;12599:33;12246:393;;:::o;726:413:8:-;1086:20;1124:8;;;726:413::o;3581:193::-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:8;5042:5;5050:4;5022:33;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5022:33:8;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;4980:75:8;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:8:o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:8;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:8;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;115:516:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;115:516:13;;;-1:-1:-1;115:516:13;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;", "language": "Solidity", "natspec": {"methods": {"approve(address,uint256)": {"details": "See {IERC721-approve}."}, "balanceOf(address)": {"details": "See {IERC721-balanceOf}."}, "baseURI()": {"details": "Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID."}, "getApproved(uint256)": {"details": "See {IERC721-getApproved}."}, "isApprovedForAll(address,address)": {"details": "See {IERC721-isApprovedForAll}."}, "name()": {"details": "See {IERC721Metadata-name}."}, "ownerOf(uint256)": {"details": "See {IERC721-ownerOf}."}, "safeTransferFrom(address,address,uint256)": {"details": "See {IERC721-safeTransferFrom}."}, "safeTransferFrom(address,address,uint256,bytes)": {"details": "See {IERC721-safeTransferFrom}."}, "setApprovalForAll(address,bool)": {"details": "See {IERC721-setApprovalForAll}."}, "supportsInterface(bytes4)": {"details": "See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas."}, "symbol()": {"details": "See {IERC721Metadata-symbol}."}, "tokenByIndex(uint256)": {"details": "See {IERC721Enumerable-tokenByIndex}."}, "tokenOfOwnerByIndex(address,uint256)": {"details": "See {IERC721Enumerable-tokenOfOwnerByIndex}."}, "tokenURI(uint256)": {"details": "See {IERC721Metadata-tokenURI}."}, "totalSupply()": {"details": "See {IERC721Enumerable-totalSupply}."}, "transferFrom(address,address,uint256)": {"details": "See {IERC721-transferFrom}."}}}, "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x121 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0xAD JUMPI DUP1 PUSH4 0xA593BC35 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xA593BC35 EQ PUSH2 0x395 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x446 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x50C JUMPI DUP1 PUSH4 0xD082E381 EQ PUSH2 0x529 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x531 JUMPI PUSH2 0x121 JUMP JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x314 JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x331 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x339 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x35F JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x367 JUMPI PUSH2 0x121 JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x25F JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x2C1 JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x2F7 JUMPI PUSH2 0x121 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x126 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x161 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x1DE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x217 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x13C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH2 0x55F JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x169 PUSH2 0x582 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP4 MLOAD DUP2 DUP4 ADD MSTORE DUP4 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP4 ADD SWAP2 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1A3 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x18B JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1D0 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x619 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 0x243 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x22D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x67B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x24D PUSH2 0x756 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x243 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x275 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x767 JUMP JUMPDEST PUSH2 0x24D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x2AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x7BE JUMP JUMPDEST PUSH2 0x243 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x2D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x7EF JUMP JUMPDEST PUSH2 0x24D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x30D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x80A JUMP JUMPDEST PUSH2 0x1FB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x32A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x826 JUMP JUMPDEST PUSH2 0x169 PUSH2 0x854 JUMP JUMPDEST PUSH2 0x24D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x34F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x8B5 JUMP JUMPDEST PUSH2 0x169 PUSH2 0x91D JUMP JUMPDEST PUSH2 0x243 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x37D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD ISZERO ISZERO PUSH2 0x97E JUMP JUMPDEST PUSH2 0x24D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x3AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 PUSH1 0x20 DUP2 ADD DUP2 CALLDATALOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x3FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP SWAP3 SWAP6 POP POP POP SWAP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 POP PUSH2 0xA83 SWAP1 POP JUMP JUMPDEST PUSH2 0x243 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x80 DUP2 LT ISZERO PUSH2 0x45C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 CALLDATALOAD DUP2 AND SWAP3 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP2 PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x80 DUP2 ADD PUSH1 0x60 DUP3 ADD CALLDATALOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x497 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x4A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x4CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP SWAP3 SWAP6 POP PUSH2 0xAAD SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x169 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x522 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0xB0B JUMP JUMPDEST PUSH2 0x24D PUSH2 0xD8E JUMP JUMPDEST PUSH2 0x14D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x547 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 ADD CALLDATALOAD AND PUSH2 0xD94 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x60E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5E3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x60E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5F1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x624 DUP3 PUSH2 0xDC2 JUMP JUMPDEST PUSH2 0x65F 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 0x2C DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1C6F PUSH1 0x2C SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x686 DUP3 PUSH2 0x826 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x6D9 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 0x1D1F PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x6EB PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x70C JUMPI POP PUSH2 0x70C DUP2 PUSH2 0x707 PUSH2 0xDD5 JUMP JUMPDEST PUSH2 0xD94 JUMP JUMPDEST PUSH2 0x747 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 0x38 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1BC2 PUSH1 0x38 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x751 DUP4 DUP4 PUSH2 0xDD9 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x762 PUSH1 0x2 PUSH2 0xE47 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x778 PUSH2 0x772 PUSH2 0xDD5 JUMP JUMPDEST DUP3 PUSH2 0xE52 JUMP JUMPDEST PUSH2 0x7B3 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 0x31 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1D40 PUSH1 0x31 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x751 DUP4 DUP4 DUP4 PUSH2 0xEF6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x7E6 SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1054 AND JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x751 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xAAD JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x81E PUSH1 0x2 DUP5 PUSH4 0xFFFFFFFF PUSH2 0x1060 AND JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E9 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x29 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1C24 PUSH1 0x29 SWAP2 CODECOPY PUSH1 0x2 SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0x107C AND JUMP JUMPDEST PUSH1 0x9 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x60E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5E3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x60E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x8FC 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 0x2A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1BFA PUSH1 0x2A SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x7E9 SWAP1 PUSH2 0xE47 JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x60E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5E3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x60E JUMP JUMPDEST PUSH2 0x986 PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x9EC JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 PUSH1 0x0 PUSH2 0x9F9 PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP8 AND DUP1 DUP3 MSTORE SWAP2 SWAP1 SWAP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE PUSH2 0xA3D PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP5 ISZERO ISZERO DUP2 MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x0 SWAP1 PUSH2 0xA93 DUP4 DUP3 PUSH2 0x1093 JUMP JUMPDEST PUSH2 0xA9D DUP2 DUP6 PUSH2 0x10B1 JUMP JUMPDEST PUSH1 0xA DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xABE PUSH2 0xAB8 PUSH2 0xDD5 JUMP JUMPDEST DUP4 PUSH2 0xE52 JUMP JUMPDEST PUSH2 0xAF9 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 0x31 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1D40 PUSH1 0x31 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB05 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1114 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xB16 DUP3 PUSH2 0xDC2 JUMP JUMPDEST PUSH2 0xB51 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 0x2F DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1CF0 PUSH1 0x2F SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP7 AND ISZERO MUL ADD SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 DIV SWAP2 DUP3 ADD DUP5 SWAP1 DIV DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xBE6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xBBB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xBE6 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xBC9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x60 PUSH2 0xBF7 PUSH2 0x854 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 EQ ISZERO PUSH2 0xC0B JUMPI POP SWAP1 POP PUSH2 0x57D JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0xCCC JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD DUP1 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xC46 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xC27 JUMP JUMPDEST MLOAD DUP2 MLOAD PUSH1 0x20 SWAP4 DUP5 SUB PUSH2 0x100 EXP PUSH1 0x0 NOT ADD DUP1 NOT SWAP1 SWAP3 AND SWAP2 AND OR SWAP1 MSTORE DUP6 MLOAD SWAP2 SWAP1 SWAP4 ADD SWAP3 DUP6 ADD SWAP2 POP DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xC8E JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xC6F JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP PUSH2 0x57D JUMP JUMPDEST DUP1 PUSH2 0xCD6 DUP6 PUSH2 0x1166 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD DUP1 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xD08 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xCE9 JUMP JUMPDEST MLOAD DUP2 MLOAD PUSH1 0x20 SWAP4 DUP5 SUB PUSH2 0x100 EXP PUSH1 0x0 NOT ADD DUP1 NOT SWAP1 SWAP3 AND SWAP2 AND OR SWAP1 MSTORE DUP6 MLOAD SWAP2 SWAP1 SWAP4 ADD SWAP3 DUP6 ADD SWAP2 POP DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xD50 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xD31 JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xA SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E9 PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1241 AND JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0xE0E DUP3 PUSH2 0x826 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E9 DUP3 PUSH2 0x124D JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE5D DUP3 PUSH2 0xDC2 JUMP JUMPDEST PUSH2 0xE98 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 0x2C DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1B96 PUSH1 0x2C SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xEA3 DUP4 PUSH2 0x826 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0xEDE JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xED3 DUP5 PUSH2 0x619 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST DUP1 PUSH2 0xEEE JUMPI POP PUSH2 0xEEE DUP2 DUP6 PUSH2 0xD94 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF09 DUP3 PUSH2 0x826 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF4E 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 0x29 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1CC7 PUSH1 0x29 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xF93 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 0x24 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1B72 PUSH1 0x24 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xF9E DUP4 DUP4 DUP4 PUSH2 0x751 JUMP JUMPDEST PUSH2 0xFA9 PUSH1 0x0 DUP3 PUSH2 0xDD9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xFD1 SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x1251 AND JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xFFA SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x125D AND JUMP JUMPDEST POP PUSH2 0x100D PUSH1 0x2 DUP3 DUP5 PUSH4 0xFFFFFFFF PUSH2 0x1269 AND JUMP JUMPDEST POP DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E6 DUP4 DUP4 PUSH2 0x127F JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 DUP1 PUSH2 0x106F DUP7 DUP7 PUSH2 0x12E3 JUMP JUMPDEST SWAP1 SWAP8 SWAP1 SWAP7 POP SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1089 DUP5 DUP5 DUP5 PUSH2 0x135E JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x10AD DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1428 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x10BA DUP3 PUSH2 0xDC2 JUMP JUMPDEST PUSH2 0x10F5 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 0x2C DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1C9B PUSH1 0x2C SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP3 MLOAD PUSH2 0x751 SWAP3 DUP5 ADD SWAP1 PUSH2 0x1A85 JUMP JUMPDEST PUSH2 0x111F DUP5 DUP5 DUP5 PUSH2 0xEF6 JUMP JUMPDEST PUSH2 0x112B DUP5 DUP5 DUP5 DUP5 PUSH2 0x147A JUMP JUMPDEST PUSH2 0xB05 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 0x32 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1B40 PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 PUSH2 0x118B JUMPI POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x57D JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0x11A3 JUMPI PUSH1 0x1 ADD PUSH1 0xA DUP3 DIV SWAP2 POP PUSH2 0x118F JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP1 ISZERO PUSH2 0x11BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x11E7 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP DUP6 SWAP4 POP SWAP1 POP PUSH1 0x0 NOT DUP3 ADD JUMPDEST DUP4 ISZERO PUSH2 0x1238 JUMPI PUSH1 0xA DUP5 MOD PUSH1 0x30 ADD PUSH1 0xF8 SHL DUP3 DUP3 DUP1 PUSH1 0x1 SWAP1 SUB SWAP4 POP DUP2 MLOAD DUP2 LT PUSH2 0x1216 JUMPI INVALID JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0xA DUP5 DIV SWAP4 POP PUSH2 0x11F3 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E6 DUP4 DUP4 PUSH2 0x15FA JUMP JUMPDEST SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E6 DUP4 DUP4 PUSH2 0x1612 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E6 DUP4 DUP4 PUSH2 0x16D8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1089 DUP5 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x1722 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP3 LT PUSH2 0x12C1 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 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1B1E PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x12D0 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP4 LT PUSH2 0x1327 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 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1C4D PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1338 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD DUP2 PUSH1 0x1 ADD SLOAD SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP3 DUP2 PUSH2 0x13F9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x13BE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x13A6 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x13EB JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP5 PUSH1 0x0 ADD PUSH1 0x1 DUP3 SUB DUP2 SLOAD DUP2 LT PUSH2 0x140C JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1432 DUP4 DUP4 PUSH2 0x17B9 JUMP JUMPDEST PUSH2 0x143F PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x147A JUMP JUMPDEST PUSH2 0x751 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 0x32 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1B40 PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x148E DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x18F3 JUMP JUMPDEST PUSH2 0x149A JUMPI POP PUSH1 0x1 PUSH2 0xEEE JUMP JUMPDEST PUSH1 0x60 PUSH2 0x15C0 PUSH4 0xA85BD01 PUSH1 0xE1 SHL PUSH2 0x14AF PUSH2 0xDD5 JUMP JUMPDEST DUP9 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x24 ADD DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1528 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1510 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1555 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP6 POP POP POP POP POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x32 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B40 PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0x18F9 AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x15D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x16CE JUMPI DUP4 SLOAD PUSH1 0x0 NOT DUP1 DUP4 ADD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x0 SWAP1 DUP8 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x1645 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1662 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x1 DUP10 DUP2 ADD SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP5 ADD SWAP1 SSTORE DUP7 SLOAD DUP8 SWAP1 DUP1 PUSH2 0x1692 JUMPI INVALID JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP7 PUSH1 0x1 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP5 POP POP POP POP POP PUSH2 0x7E9 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x7E9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16E4 DUP4 DUP4 PUSH2 0x15FA JUMP JUMPDEST PUSH2 0x171A JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x7E9 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x7E9 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 PUSH2 0x1787 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP5 DUP2 MSTORE DUP7 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP10 SSTORE PUSH1 0x0 DUP10 DUP2 MSTORE DUP5 DUP2 KECCAK256 SWAP6 MLOAD PUSH1 0x2 SWAP1 SWAP4 MUL SWAP1 SWAP6 ADD SWAP2 DUP3 SSTORE SWAP2 MLOAD SWAP1 DUP3 ADD SSTORE DUP7 SLOAD DUP7 DUP5 MSTORE DUP2 DUP9 ADD SWAP1 SWAP3 MSTORE SWAP3 SWAP1 SWAP2 KECCAK256 SSTORE PUSH2 0x108C JUMP JUMPDEST DUP3 DUP6 PUSH1 0x0 ADD PUSH1 0x1 DUP4 SUB DUP2 SLOAD DUP2 LT PUSH2 0x179A JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 SWAP2 POP POP PUSH2 0x108C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1814 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x181D DUP2 PUSH2 0xDC2 JUMP JUMPDEST ISZERO PUSH2 0x186F JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x187B PUSH1 0x0 DUP4 DUP4 PUSH2 0x751 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x18A3 SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x125D AND JUMP JUMPDEST POP PUSH2 0x18B6 PUSH1 0x2 DUP3 DUP5 PUSH4 0xFFFFFFFF PUSH2 0x1269 AND JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 POP POP JUMP JUMPDEST EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1089 DUP5 DUP5 PUSH1 0x0 DUP6 DUP6 PUSH2 0x190D DUP6 PUSH2 0x18F3 JUMP JUMPDEST PUSH2 0x195E JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP8 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x199D JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x197E JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x19FF JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1A04 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1A14 DUP3 DUP3 DUP7 PUSH2 0x1A1F JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x1A2E JUMPI POP DUP2 PUSH2 0x108C JUMP JUMPDEST DUP3 MLOAD ISZERO PUSH2 0x1A3E JUMPI DUP3 MLOAD DUP1 DUP5 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 DUP2 MSTORE DUP5 MLOAD PUSH1 0x24 DUP5 ADD MSTORE DUP5 MLOAD DUP6 SWAP4 SWAP2 SWAP3 DUP4 SWAP3 PUSH1 0x44 ADD SWAP2 SWAP1 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 DUP4 ISZERO PUSH2 0x13BE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x13A6 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x1AC6 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x1AF3 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x1AF3 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1AF3 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1AD8 JUMP JUMPDEST POP PUSH2 0x1AFF SWAP3 SWAP2 POP PUSH2 0x1B03 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x616 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1AFF JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1B09 JUMP INVALID GASLIMIT PUSH15 0x756D657261626C655365743A20696E PUSH5 0x6578206F75 PUSH21 0x206F6620626F756E64734552433732313A20747261 PUSH15 0x7366657220746F206E6F6E20455243 CALLDATACOPY ORIGIN BALANCE MSTORE PUSH6 0x636569766572 KECCAK256 PUSH10 0x6D706C656D656E746572 GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH21 0x72616E7366657220746F20746865207A65726F2061 PUSH5 0x6472657373 GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH16 0x70657261746F7220717565727920666F PUSH19 0x206E6F6E6578697374656E7420746F6B656E45 MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH2 0x7070 PUSH19 0x6F76652063616C6C6572206973206E6F74206F PUSH24 0x6E6572206E6F7220617070726F76656420666F7220616C6C GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH3 0x616C61 PUSH15 0x636520717565727920666F72207468 PUSH6 0x207A65726F20 PUSH2 0x6464 PUSH19 0x6573734552433732313A206F776E6572207175 PUSH6 0x727920666F72 KECCAK256 PUSH15 0x6F6E6578697374656E7420746F6B65 PUSH15 0x456E756D657261626C654D61703A20 PUSH10 0x6E646578206F7574206F PUSH7 0x20626F756E6473 GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH2 0x7070 PUSH19 0x6F76656420717565727920666F72206E6F6E65 PUSH25 0x697374656E7420746F6B656E4552433732314D657461646174 PUSH2 0x3A20 SSTORE MSTORE 0x49 KECCAK256 PUSH20 0x6574206F66206E6F6E6578697374656E7420746F PUSH12 0x656E4552433732313A207472 PUSH2 0x6E73 PUSH7 0x6572206F662074 PUSH16 0x6B656E2074686174206973206E6F7420 PUSH16 0x776E4552433732314D65746164617461 GASPRICE KECCAK256 SSTORE MSTORE 0x49 KECCAK256 PUSH18 0x7565727920666F72206E6F6E657869737465 PUSH15 0x7420746F6B656E4552433732313A20 PUSH2 0x7070 PUSH19 0x6F76616C20746F2063757272656E74206F776E PUSH6 0x724552433732 BALANCE GASPRICE KECCAK256 PUSH21 0x72616E736665722063616C6C6572206973206E6F74 KECCAK256 PUSH16 0x776E6572206E6F7220617070726F7665 PUSH5 0xA264697066 PUSH20 0x582212201180FF22EDEB9DC96DA9F3FF46ECE972 0xC1 PUSH14 0x926862F9192954F500EF811B70C1 PUSH5 0x736F6C6343 STOP MOD MOD STOP CALLER ", "sha1": "0ce9dcc0f4c3f5296c7cb2ba5fb40da0468fd664", "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.6.6;\n\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\n\ncontract SimpleCollectible is ERC721 {\n uint256 public tokenCounter;\n\n constructor() public ERC721(\"Certificate\", \"DeepFakeCertification\") {\n tokenCounter = 0;\n }\n\n function createCollectible(\n string memory tokenURI,\n address recipient\n ) public returns (uint256) {\n uint256 newTokenId = tokenCounter;\n _safeMint(address(recipient), newTokenId);\n _setTokenURI(newTokenId, tokenURI);\n tokenCounter = tokenCounter + 1;\n return newTokenId;\n }\n}", "sourceMap": "115:516:13:-:0;;;192:101;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;3577:369:3;;;;;;;;;;;-1:-1:-1;;;3577:369:3;;;;;;;;;;;;;;;;;;;;;;;;;768:40:0;-1:-1:-1;;;;;;;;768:18:0;:40;:::i;:::-;3651:13:3;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;3674:17:3;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;3779:40:3;-1:-1:-1;;;;;;;;3779:18:3;:40;:::i;:::-;3829:49;-1:-1:-1;;;;;;;;3829:18:3;:49;:::i;:::-;3888:51;-1:-1:-1;;;;;;;;3888:18:3;:51;:::i;:::-;-1:-1:-1;;285:1:13::1;270:12;:16:::0;115:516;;1507:198:0;-1:-1:-1;;;;;;1590:25:0;;;;;1582:66;;;;;-1:-1:-1;;;1582:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1658:33:0;:20;:33;;;;;;;;;;:40;;-1:-1:-1;;1658:40:0;1694:4;1658:40;;;1507:198::o;115:516:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;115:516:13;;;-1:-1:-1;115:516:13;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", "sourcePath": "contracts/NFTmint.sol", "deployment": {"address": "0x32Ca8501A116B39F18443D0E1F6a4077d82fdCfd", "chainid": "11155111", "blockHeight": 7174481}} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/deployments/2442/0x32Ca8501A116B39F18443D0E1F6a4077d82fdCfd.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/deployments/2442/0x32Ca8501A116B39F18443D0E1F6a4077d82fdCfd.json new file mode 100644 index 00000000..4151b35c --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/deployments/2442/0x32Ca8501A116B39F18443D0E1F6a4077d82fdCfd.json @@ -0,0 +1 @@ +{"abi": [{"inputs": [], "stateMutability": "nonpayable", "type": "constructor", "name": "constructor"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "owner", "type": "address"}, {"indexed": true, "internalType": "address", "name": "approved", "type": "address"}, {"indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "Approval", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "owner", "type": "address"}, {"indexed": true, "internalType": "address", "name": "operator", "type": "address"}, {"indexed": false, "internalType": "bool", "name": "approved", "type": "bool"}], "name": "ApprovalForAll", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "address", "name": "from", "type": "address"}, {"indexed": true, "internalType": "address", "name": "to", "type": "address"}, {"indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "Transfer", "type": "event"}, {"inputs": [{"internalType": "address", "name": "to", "type": "address"}, {"internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [{"internalType": "address", "name": "owner", "type": "address"}], "name": "balanceOf", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "baseURI", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "string", "name": "tokenURI", "type": "string"}, {"internalType": "address", "name": "recipient", "type": "address"}], "name": "createCollectible", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "getApproved", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "address", "name": "owner", "type": "address"}, {"internalType": "address", "name": "operator", "type": "address"}], "name": "isApprovedForAll", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "name", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "ownerOf", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "address", "name": "from", "type": "address"}, {"internalType": "address", "name": "to", "type": "address"}, {"internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [{"internalType": "address", "name": "from", "type": "address"}, {"internalType": "address", "name": "to", "type": "address"}, {"internalType": "uint256", "name": "tokenId", "type": "uint256"}, {"internalType": "bytes", "name": "_data", "type": "bytes"}], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [{"internalType": "address", "name": "operator", "type": "address"}, {"internalType": "bool", "name": "approved", "type": "bool"}], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [{"internalType": "bytes4", "name": "interfaceId", "type": "bytes4"}], "name": "supportsInterface", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "symbol", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "index", "type": "uint256"}], "name": "tokenByIndex", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "tokenCounter", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "address", "name": "owner", "type": "address"}, {"internalType": "uint256", "name": "index", "type": "uint256"}], "name": "tokenOfOwnerByIndex", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "tokenURI", "outputs": [{"internalType": "string", "name": "", "type": "string"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "totalSupply", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "address", "name": "from", "type": "address"}, {"internalType": "address", "name": "to", "type": "address"}, {"internalType": "uint256", "name": "tokenId", "type": "uint256"}], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function"}], "allSourcePaths": {"0": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/ERC165.sol", "1": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/introspection/IERC165.sol", "10": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableMap.sol", "11": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/EnumerableSet.sol", "12": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Strings.sol", "13": "contracts/NFTmint.sol", "2": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/math/SafeMath.sol", "3": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/ERC721.sol", "4": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721.sol", "5": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Enumerable.sol", "6": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Metadata.sol", "7": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/IERC721Receiver.sol", "8": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Address.sol", "9": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/utils/Context.sol"}, "ast": {"absolutePath": "contracts/NFTmint.sol", "exportedSymbols": {"SimpleCollectible": [54]}, "id": 55, "nodeType": "SourceUnit", "nodes": [{"id": 1, "literals": ["solidity", "0.6", ".6"], "nodeType": "PragmaDirective", "src": "32:22:13"}, {"absolutePath": "C:/Users/dhanu/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/token/ERC721/ERC721.sol", "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", "id": 2, "nodeType": "ImportDirective", "scope": 55, "sourceUnit": 998, "src": "56:57:13", "symbolAliases": [], "unitAlias": ""}, {"abstract": false, "baseContracts": [{"arguments": null, "baseName": {"contractScope": null, "id": 3, "name": "ERC721", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 997, "src": "145:6:13", "typeDescriptions": {"typeIdentifier": "t_contract$_ERC721_$997", "typeString": "contract ERC721"}}, "id": 4, "nodeType": "InheritanceSpecifier", "src": "145:6:13"}], "contractDependencies": [997, 1053, 1524, 1555, 1582, 1919, 3070], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 54, "linearizedBaseContracts": [54, 997, 1555, 1582, 1524, 1053, 3070, 1919], "name": "SimpleCollectible", "nodeType": "ContractDefinition", "nodes": [{"constant": false, "functionSelector": "d082e381", "id": 6, "mutability": "mutable", "name": "tokenCounter", "nodeType": "VariableDeclaration", "overrides": null, "scope": 54, "src": "158:27:13", "stateVariable": true, "storageLocation": "default", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}, "typeName": {"id": 5, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "158:7:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "value": null, "visibility": "public"}, {"body": {"id": 17, "nodeType": "Block", "src": "260:33:13", "statements": [{"expression": {"argumentTypes": null, "id": 15, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": {"argumentTypes": null, "id": 13, "name": "tokenCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6, "src": "270:12:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "nodeType": "Assignment", "operator": "=", "rightHandSide": {"argumentTypes": null, "hexValue": "30", "id": 14, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "285:1:13", "subdenomination": null, "typeDescriptions": {"typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0"}, "value": "0"}, "src": "270:16:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "id": 16, "nodeType": "ExpressionStatement", "src": "270:16:13"}]}, "documentation": null, "id": 18, "implemented": true, "kind": "constructor", "modifiers": [{"arguments": [{"argumentTypes": null, "hexValue": "4365727469666963617465", "id": 9, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "220:13:13", "subdenomination": null, "typeDescriptions": {"typeIdentifier": "t_stringliteral_476b6a56e8793270a7635a828307eeb92cd7e2153dff9a3bd168aec20746ea55", "typeString": "literal_string \"Certificate\""}, "value": "Certificate"}, {"argumentTypes": null, "hexValue": "4465657046616b6543657274696669636174696f6e", "id": 10, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "235:23:13", "subdenomination": null, "typeDescriptions": {"typeIdentifier": "t_stringliteral_9bb7d49fef367e635ef78744668658e0d581cf6cf1d9a0764e77c53f16f72bd7", "typeString": "literal_string \"DeepFakeCertification\""}, "value": "DeepFakeCertification"}], "id": 11, "modifierName": {"argumentTypes": null, "id": 8, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 997, "src": "213:6:13", "typeDescriptions": {"typeIdentifier": "t_type$_t_contract$_ERC721_$997_$", "typeString": "type(contract ERC721)"}}, "nodeType": "ModifierInvocation", "src": "213:46:13"}], "name": "", "nodeType": "FunctionDefinition", "overrides": null, "parameters": {"id": 7, "nodeType": "ParameterList", "parameters": [], "src": "203:2:13"}, "returnParameters": {"id": 12, "nodeType": "ParameterList", "parameters": [], "src": "260:0:13"}, "scope": 54, "src": "192:101:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "public"}, {"body": {"id": 52, "nodeType": "Block", "src": "416:213:13", "statements": [{"assignments": [28], "declarations": [{"constant": false, "id": 28, "mutability": "mutable", "name": "newTokenId", "nodeType": "VariableDeclaration", "overrides": null, "scope": 52, "src": "426:18:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}, "typeName": {"id": 27, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "426:7:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "value": null, "visibility": "internal"}], "id": 30, "initialValue": {"argumentTypes": null, "id": 29, "name": "tokenCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6, "src": "447:12:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "nodeType": "VariableDeclarationStatement", "src": "426:33:13"}, {"expression": {"argumentTypes": null, "arguments": [{"argumentTypes": null, "arguments": [{"argumentTypes": null, "id": 34, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22, "src": "487:9:13", "typeDescriptions": {"typeIdentifier": "t_address", "typeString": "address"}}], "expression": {"argumentTypes": [{"typeIdentifier": "t_address", "typeString": "address"}], "id": 33, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "479:7:13", "typeDescriptions": {"typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)"}, "typeName": {"id": 32, "name": "address", "nodeType": "ElementaryTypeName", "src": "479:7:13", "typeDescriptions": {"typeIdentifier": null, "typeString": null}}}, "id": 35, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "479:18:13", "tryCall": false, "typeDescriptions": {"typeIdentifier": "t_address", "typeString": "address"}}, {"argumentTypes": null, "id": 36, "name": "newTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 28, "src": "499:10:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}], "expression": {"argumentTypes": [{"typeIdentifier": "t_address", "typeString": "address"}, {"typeIdentifier": "t_uint256", "typeString": "uint256"}], "id": 31, "name": "_safeMint", "nodeType": "Identifier", "overloadedDeclarations": [642, 671], "referencedDeclaration": 642, "src": "469:9:13", "typeDescriptions": {"typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)"}}, "id": 37, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "469:41:13", "tryCall": false, "typeDescriptions": {"typeIdentifier": "t_tuple$__$", "typeString": "tuple()"}}, "id": 38, "nodeType": "ExpressionStatement", "src": "469:41:13"}, {"expression": {"argumentTypes": null, "arguments": [{"argumentTypes": null, "id": 40, "name": "newTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 28, "src": "533:10:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, {"argumentTypes": null, "id": 41, "name": "tokenURI", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20, "src": "545:8:13", "typeDescriptions": {"typeIdentifier": "t_string_memory_ptr", "typeString": "string memory"}}], "expression": {"argumentTypes": [{"typeIdentifier": "t_uint256", "typeString": "uint256"}, {"typeIdentifier": "t_string_memory_ptr", "typeString": "string memory"}], "id": 39, "name": "_setTokenURI", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 893, "src": "520:12:13", "typeDescriptions": {"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (uint256,string memory)"}}, "id": 42, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "520:34:13", "tryCall": false, "typeDescriptions": {"typeIdentifier": "t_tuple$__$", "typeString": "tuple()"}}, "id": 43, "nodeType": "ExpressionStatement", "src": "520:34:13"}, {"expression": {"argumentTypes": null, "id": 48, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": {"argumentTypes": null, "id": 44, "name": "tokenCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6, "src": "564:12:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "nodeType": "Assignment", "operator": "=", "rightHandSide": {"argumentTypes": null, "commonType": {"typeIdentifier": "t_uint256", "typeString": "uint256"}, "id": 47, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": {"argumentTypes": null, "id": 45, "name": "tokenCounter", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6, "src": "579:12:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "nodeType": "BinaryOperation", "operator": "+", "rightExpression": {"argumentTypes": null, "hexValue": "31", "id": 46, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "594:1:13", "subdenomination": null, "typeDescriptions": {"typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1"}, "value": "1"}, "src": "579:16:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "src": "564:31:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "id": 49, "nodeType": "ExpressionStatement", "src": "564:31:13"}, {"expression": {"argumentTypes": null, "id": 50, "name": "newTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 28, "src": "612:10:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "functionReturnParameters": 26, "id": 51, "nodeType": "Return", "src": "605:17:13"}]}, "documentation": null, "functionSelector": "a593bc35", "id": 53, "implemented": true, "kind": "function", "modifiers": [], "name": "createCollectible", "nodeType": "FunctionDefinition", "overrides": null, "parameters": {"id": 23, "nodeType": "ParameterList", "parameters": [{"constant": false, "id": 20, "mutability": "mutable", "name": "tokenURI", "nodeType": "VariableDeclaration", "overrides": null, "scope": 53, "src": "335:22:13", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": {"typeIdentifier": "t_string_memory_ptr", "typeString": "string"}, "typeName": {"id": 19, "name": "string", "nodeType": "ElementaryTypeName", "src": "335:6:13", "typeDescriptions": {"typeIdentifier": "t_string_storage_ptr", "typeString": "string"}}, "value": null, "visibility": "internal"}, {"constant": false, "id": 22, "mutability": "mutable", "name": "recipient", "nodeType": "VariableDeclaration", "overrides": null, "scope": 53, "src": "367:17:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": {"typeIdentifier": "t_address", "typeString": "address"}, "typeName": {"id": 21, "name": "address", "nodeType": "ElementaryTypeName", "src": "367:7:13", "stateMutability": "nonpayable", "typeDescriptions": {"typeIdentifier": "t_address", "typeString": "address"}}, "value": null, "visibility": "internal"}], "src": "325:65:13"}, "returnParameters": {"id": 26, "nodeType": "ParameterList", "parameters": [{"constant": false, "id": 25, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", "overrides": null, "scope": 53, "src": "407:7:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}, "typeName": {"id": 24, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "407:7:13", "typeDescriptions": {"typeIdentifier": "t_uint256", "typeString": "uint256"}}, "value": null, "visibility": "internal"}], "src": "406:9:13"}, "scope": 54, "src": "299:330:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "public"}], "scope": 55, "src": "115:516:13"}], "src": "32:599:13"}, "bytecode": "60806040523480156200001157600080fd5b50604080518082018252600b81526a436572746966696361746560a81b6020808301919091528251808401909352601583527f4465657046616b6543657274696669636174696f6e00000000000000000000009083015290620000846301ffc9a760e01b6001600160e01b036200010e16565b81516200009990600690602085019062000193565b508051620000af90600790602084019062000193565b50620000cb6380ac58cd60e01b6001600160e01b036200010e16565b620000e6635b5e139f60e01b6001600160e01b036200010e16565b6200010163780e9d6360e01b6001600160e01b036200010e16565b50506000600a5562000238565b6001600160e01b031980821614156200016e576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001d657805160ff191683800117855562000206565b8280016001018555821562000206579182015b8281111562000206578251825591602001919060010190620001e9565b506200021492915062000218565b5090565b6200023591905b808211156200021457600081556001016200021f565b90565b611da680620002486000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80636352211e116100ad578063a593bc3511610071578063a593bc3514610395578063b88d4fde14610446578063c87b56dd1461050c578063d082e38114610529578063e985e9c51461053157610121565b80636352211e146103145780636c0360eb1461033157806370a082311461033957806395d89b411461035f578063a22cb4651461036757610121565b806318160ddd116100f457806318160ddd1461024557806323b872dd1461025f5780632f745c591461029557806342842e0e146102c15780634f6ccce7146102f757610121565b806301ffc9a71461012657806306fdde0314610161578063081812fc146101de578063095ea7b314610217575b600080fd5b61014d6004803603602081101561013c57600080fd5b50356001600160e01b03191661055f565b604080519115158252519081900360200190f35b610169610582565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a357818101518382015260200161018b565b50505050905090810190601f1680156101d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360208110156101f457600080fd5b5035610619565b604080516001600160a01b039092168252519081900360200190f35b6102436004803603604081101561022d57600080fd5b506001600160a01b03813516906020013561067b565b005b61024d610756565b60408051918252519081900360200190f35b6102436004803603606081101561027557600080fd5b506001600160a01b03813581169160208101359091169060400135610767565b61024d600480360360408110156102ab57600080fd5b506001600160a01b0381351690602001356107be565b610243600480360360608110156102d757600080fd5b506001600160a01b038135811691602081013590911690604001356107ef565b61024d6004803603602081101561030d57600080fd5b503561080a565b6101fb6004803603602081101561032a57600080fd5b5035610826565b610169610854565b61024d6004803603602081101561034f57600080fd5b50356001600160a01b03166108b5565b61016961091d565b6102436004803603604081101561037d57600080fd5b506001600160a01b038135169060200135151561097e565b61024d600480360360408110156103ab57600080fd5b8101906020810181356401000000008111156103c657600080fd5b8201836020820111156103d857600080fd5b803590602001918460018302840111640100000000831117156103fa57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b03169150610a839050565b6102436004803603608081101561045c57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561049757600080fd5b8201836020820111156104a957600080fd5b803590602001918460018302840111640100000000831117156104cb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610aad945050505050565b6101696004803603602081101561052257600080fd5b5035610b0b565b61024d610d8e565b61014d6004803603604081101561054757600080fd5b506001600160a01b0381358116916020013516610d94565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b820191906000526020600020905b8154815290600101906020018083116105f157829003601f168201915b505050505090505b90565b600061062482610dc2565b61065f5760405162461bcd60e51b815260040180806020018281038252602c815260200180611c6f602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b600061068682610826565b9050806001600160a01b0316836001600160a01b031614156106d95760405162461bcd60e51b8152600401808060200182810382526021815260200180611d1f6021913960400191505060405180910390fd5b806001600160a01b03166106eb610dd5565b6001600160a01b0316148061070c575061070c81610707610dd5565b610d94565b6107475760405162461bcd60e51b8152600401808060200182810382526038815260200180611bc26038913960400191505060405180910390fd5b6107518383610dd9565b505050565b60006107626002610e47565b905090565b610778610772610dd5565b82610e52565b6107b35760405162461bcd60e51b8152600401808060200182810382526031815260200180611d406031913960400191505060405180910390fd5b610751838383610ef6565b6001600160a01b03821660009081526001602052604081206107e6908363ffffffff61105416565b90505b92915050565b61075183838360405180602001604052806000815250610aad565b60008061081e60028463ffffffff61106016565b509392505050565b60006107e982604051806060016040528060298152602001611c24602991396002919063ffffffff61107c16565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b60006001600160a01b0382166108fc5760405162461bcd60e51b815260040180806020018281038252602a815260200180611bfa602a913960400191505060405180910390fd5b6001600160a01b03821660009081526001602052604090206107e990610e47565b60078054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b610986610dd5565b6001600160a01b0316826001600160a01b031614156109ec576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b80600560006109f9610dd5565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff191692151592909217909155610a3d610dd5565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b600a54600090610a938382611093565b610a9d81856110b1565b600a805460010190559392505050565b610abe610ab8610dd5565b83610e52565b610af95760405162461bcd60e51b8152600401808060200182810382526031815260200180611d406031913960400191505060405180910390fd5b610b0584848484611114565b50505050565b6060610b1682610dc2565b610b515760405162461bcd60e51b815260040180806020018281038252602f815260200180611cf0602f913960400191505060405180910390fd5b60008281526008602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610be65780601f10610bbb57610100808354040283529160200191610be6565b820191906000526020600020905b815481529060010190602001808311610bc957829003601f168201915b505050505090506060610bf7610854565b9050805160001415610c0b5750905061057d565b815115610ccc5780826040516020018083805190602001908083835b60208310610c465780518252601f199092019160209182019101610c27565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610c8e5780518252601f199092019160209182019101610c6f565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529250505061057d565b80610cd685611166565b6040516020018083805190602001908083835b60208310610d085780518252601f199092019160209182019101610ce9565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610d505780518252601f199092019160209182019101610d31565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b600a5481565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006107e960028363ffffffff61124116565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610e0e82610826565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006107e98261124d565b6000610e5d82610dc2565b610e985760405162461bcd60e51b815260040180806020018281038252602c815260200180611b96602c913960400191505060405180910390fd5b6000610ea383610826565b9050806001600160a01b0316846001600160a01b03161480610ede5750836001600160a01b0316610ed384610619565b6001600160a01b0316145b80610eee5750610eee8185610d94565b949350505050565b826001600160a01b0316610f0982610826565b6001600160a01b031614610f4e5760405162461bcd60e51b8152600401808060200182810382526029815260200180611cc76029913960400191505060405180910390fd5b6001600160a01b038216610f935760405162461bcd60e51b8152600401808060200182810382526024815260200180611b726024913960400191505060405180910390fd5b610f9e838383610751565b610fa9600082610dd9565b6001600160a01b0383166000908152600160205260409020610fd1908263ffffffff61125116565b506001600160a01b0382166000908152600160205260409020610ffa908263ffffffff61125d16565b5061100d6002828463ffffffff61126916565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006107e6838361127f565b600080808061106f86866112e3565b9097909650945050505050565b600061108984848461135e565b90505b9392505050565b6110ad828260405180602001604052806000815250611428565b5050565b6110ba82610dc2565b6110f55760405162461bcd60e51b815260040180806020018281038252602c815260200180611c9b602c913960400191505060405180910390fd5b6000828152600860209081526040909120825161075192840190611a85565b61111f848484610ef6565b61112b8484848461147a565b610b055760405162461bcd60e51b8152600401808060200182810382526032815260200180611b406032913960400191505060405180910390fd5b60608161118b57506040805180820190915260018152600360fc1b602082015261057d565b8160005b81156111a357600101600a8204915061118f565b60608167ffffffffffffffff811180156111bc57600080fd5b506040519080825280601f01601f1916602001820160405280156111e7576020820181803683370190505b50859350905060001982015b831561123857600a840660300160f81b8282806001900393508151811061121657fe5b60200101906001600160f81b031916908160001a905350600a840493506111f3565b50949350505050565b60006107e683836115fa565b5490565b60006107e68383611612565b60006107e683836116d8565b600061108984846001600160a01b038516611722565b815460009082106112c15760405162461bcd60e51b8152600401808060200182810382526022815260200180611b1e6022913960400191505060405180910390fd5b8260000182815481106112d057fe5b9060005260206000200154905092915050565b8154600090819083106113275760405162461bcd60e51b8152600401808060200182810382526022815260200180611c4d6022913960400191505060405180910390fd5b600084600001848154811061133857fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082815260018401602052604081205482816113f95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113be5781810151838201526020016113a6565b50505050905090810190601f1680156113eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061140c57fe5b9060005260206000209060020201600101549150509392505050565b61143283836117b9565b61143f600084848461147a565b6107515760405162461bcd60e51b8152600401808060200182810382526032815260200180611b406032913960400191505060405180910390fd5b600061148e846001600160a01b03166118f3565b61149a57506001610eee565b60606115c0630a85bd0160e11b6114af610dd5565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611528578181015183820152602001611510565b50505050905090810190601f1680156115555780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001611b40603291396001600160a01b038816919063ffffffff6118f916565b905060008180602001905160208110156115d957600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156116ce578354600019808301919081019060009087908390811061164557fe5b906000526020600020015490508087600001848154811061166257fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061169257fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506107e9565b60009150506107e9565b60006116e483836115fa565b61171a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107e9565b5060006107e9565b60008281526001840160205260408120548061178757505060408051808201825283815260208082018481528654600181810189556000898152848120955160029093029095019182559151908201558654868452818801909252929091205561108c565b8285600001600183038154811061179a57fe5b906000526020600020906002020160010181905550600091505061108c565b6001600160a01b038216611814576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61181d81610dc2565b1561186f576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b61187b60008383610751565b6001600160a01b03821660009081526001602052604090206118a3908263ffffffff61125d16565b506118b66002828463ffffffff61126916565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b3b151590565b606061108984846000858561190d856118f3565b61195e576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061199d5780518252601f19909201916020918201910161197e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146119ff576040519150601f19603f3d011682016040523d82523d6000602084013e611a04565b606091505b5091509150611a14828286611a1f565b979650505050505050565b60608315611a2e57508161108c565b825115611a3e5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156113be5781810151838201526020016113a6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611ac657805160ff1916838001178555611af3565b82800160010185558215611af3579182015b82811115611af3578251825591602001919060010190611ad8565b50611aff929150611b03565b5090565b61061691905b80821115611aff5760008155600101611b0956fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a26469706673582212201180ff22edeb9dc96da9f3ff46ece972c16d926862f9192954f500ef811b70c164736f6c63430006060033", "bytecodeSha1": "a2b88ae3f0dafecfd8c78803931fdcc70ed1e879", "compiler": {"evm_version": "istanbul", "optimizer": {"enabled": true, "runs": 200}, "version": "0.6.6+commit.6c089d02"}, "contractName": "SimpleCollectible", "coverageMap": {"branches": {"0": {}, "1": {}, "10": {"EnumerableMap._at": {"126": [5045, 5072, true]}, "EnumerableMap._get": {"127": [6570, 6583, true]}, "EnumerableMap._set": {"128": [2077, 2090, false]}}, "11": {"EnumerableSet._add": {"131": [1724, 1745, false]}, "EnumerableSet._at": {"129": [4546, 4572, true]}, "EnumerableSet._remove": {"130": [2449, 2464, false]}}, "12": {"Strings.toString": {"132": [483, 493, false]}}, "13": {}, "2": {}, "3": {"ERC721._checkOnERC721Received": {"123": [15669, 15684, false]}, "ERC721._isApprovedOrOwner": {"117": [10783, 10799, true]}, "ERC721._mint": {"124": [12325, 12341, true], "125": [12396, 12413, true]}, "ERC721._safeMint": {"122": [11808, 11862, true]}, "ERC721._safeTransfer": {"121": [9970, 10018, true]}, "ERC721._setTokenURI": {"120": [14537, 14553, true]}, "ERC721._transfer": {"118": [13804, 13835, true], "119": [13917, 13933, true]}, "ERC721.approve": {"107": [6903, 6914, true], "108": [6971, 6992, true], "109": [6996, 7040, true]}, "ERC721.balanceOf": {"111": [4104, 4123, true]}, "ERC721.getApproved": {"106": [7325, 7341, true]}, "ERC721.safeTransferFrom": {"113": [8798, 8839, true]}, "ERC721.setApprovalForAll": {"112": [7608, 7632, true]}, "ERC721.tokenURI": {"114": [4953, 4969, true], "115": [5190, 5213, false], "116": [5358, 5385, false]}, "ERC721.transferFrom": {"110": [8245, 8286, true]}}, "4": {}, "5": {}, "6": {}, "7": {}, "8": {"Address._verifyCallResult": {"104": [7234, 7241, false], "105": [7375, 7396, false]}, "Address.functionCallWithValue": {"103": [4858, 4876, true]}}, "9": {}}, "statements": {"0": {"ERC165.supportsInterface": {"0": [1066, 1106]}}, "1": {}, "10": {"EnumerableMap._at": {"67": [5037, 5111], "68": [5176, 5209]}, "EnumerableMap._contains": {"75": [4365, 4394]}, "EnumerableMap._get": {"69": [6562, 6598], "70": [6644, 6684]}, "EnumerableMap._length": {"61": [4566, 4592]}, "EnumerableMap._set": {"86": [2143, 2200], "87": [2335, 2374], "88": [2388, 2399], "89": [2430, 2471], "90": [2485, 2497]}, "EnumerableMap.contains": {"60": [7688, 7730]}, "EnumerableMap.get": {"47": [9648, 9726]}, "EnumerableMap.length": {"35": [7908, 7934]}, "EnumerableMap.set": {"64": [7132, 7203]}}, "11": {"EnumerableSet._add": {"82": [1761, 1784], "83": [1919, 1959], "84": [1973, 1984], "85": [2015, 2027]}, "EnumerableSet._at": {"65": [4538, 4611], "66": [4621, 4646]}, "EnumerableSet._remove": {"76": [3274, 3312], "77": [3378, 3421], "78": [3527, 3544], "79": [3612, 3638], "80": [3653, 3664], "81": [3695, 3707]}, "EnumerableSet.add": {"63": [8151, 8190]}, "EnumerableSet.at": {"46": [9340, 9378]}, "EnumerableSet.remove": {"62": [8451, 8493]}}, "12": {"Strings.toString": {"53": [509, 519], "54": [625, 633], "55": [647, 657], "56": [762, 774], "57": [816, 863], "58": [877, 887], "59": [907, 928]}}, "13": {"SimpleCollectible.createCollectible": {"20": [469, 510], "21": [520, 554], "22": [564, 595], "23": [605, 622]}}, "2": {}, "3": {"ERC721._approve": {"33": [16184, 16213], "34": [16223, 16274]}, "ERC721._checkOnERC721Received": {"73": [15700, 15711], "74": [16071, 16106]}, "ERC721._exists": {"31": [10464, 10501]}, "ERC721._isApprovedOrOwner": {"36": [10775, 10848], "37": [10907, 11010]}, "ERC721._mint": {"91": [12317, 12378], "92": [12388, 12446], "93": [12457, 12502], "94": [12513, 12543], "95": [12554, 12583], "96": [12594, 12632]}, "ERC721._safeMint": {"48": [11423, 11449], "71": [11772, 11790], "72": [11800, 11917]}, "ERC721._safeTransfer": {"51": [9924, 9952], "52": [9962, 10073]}, "ERC721._setTokenURI": {"49": [14529, 14602], "50": [14612, 14643]}, "ERC721._transfer": {"38": [13796, 13881], "39": [13909, 13974], "40": [13985, 14024], "41": [14086, 14115], "42": [14126, 14161], "43": [14171, 14201], "44": [14212, 14241], "45": [14252, 14284]}, "ERC721.approve": {"4": [6895, 6952], "5": [6963, 7122], "6": [7133, 7154]}, "ERC721.balanceOf": {"14": [4096, 4170], "15": [4180, 4216]}, "ERC721.baseURI": {"13": [5928, 5943]}, "ERC721.getApproved": {"2": [7317, 7390], "3": [7401, 7432]}, "ERC721.isApprovedForAll": {"30": [7975, 8017]}, "ERC721.name": {"1": [4596, 4608]}, "ERC721.ownerOf": {"12": [4371, 4448]}, "ERC721.safeTransferFrom": {"11": [8555, 8594], "24": [8790, 8893], "25": [8903, 8942]}, "ERC721.setApprovalForAll": {"17": [7600, 7662], "18": [7673, 7726], "19": [7736, 7789]}, "ERC721.symbol": {"16": [4760, 4774]}, "ERC721.tokenOfOwnerByIndex": {"10": [6145, 6182]}, "ERC721.tokenURI": {"26": [4945, 5021], "27": [5229, 5245], "28": [5401, 5449], "29": [5559, 5616]}, "ERC721.totalSupply": {"7": [6433, 6461]}, "ERC721.transferFrom": {"8": [8237, 8340], "9": [8351, 8379]}}, "4": {}, "5": {}, "6": {}, "7": {}, "8": {"Address._verifyCallResult": {"101": [7257, 7274], "102": [7765, 7785]}, "Address.functionCall": {"98": [3708, 3767]}, "Address.functionCallWithValue": {"99": [4850, 4910], "100": [5065, 5124]}, "Address.isContract": {"97": [1117, 1132]}}, "9": {"Context._msgSender": {"32": [678, 695]}}}}, "dependencies": ["OpenZeppelin/openzeppelin-contracts@3.4.0/Address", "OpenZeppelin/openzeppelin-contracts@3.4.0/Context", "OpenZeppelin/openzeppelin-contracts@3.4.0/ERC165", "OpenZeppelin/openzeppelin-contracts@3.4.0/ERC721", "OpenZeppelin/openzeppelin-contracts@3.4.0/EnumerableMap", "OpenZeppelin/openzeppelin-contracts@3.4.0/EnumerableSet", "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC165", "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721", "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Enumerable", "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Metadata", "OpenZeppelin/openzeppelin-contracts@3.4.0/IERC721Receiver", "OpenZeppelin/openzeppelin-contracts@3.4.0/SafeMath", "OpenZeppelin/openzeppelin-contracts@3.4.0/Strings"], "deployedBytecode": "608060405234801561001057600080fd5b50600436106101215760003560e01c80636352211e116100ad578063a593bc3511610071578063a593bc3514610395578063b88d4fde14610446578063c87b56dd1461050c578063d082e38114610529578063e985e9c51461053157610121565b80636352211e146103145780636c0360eb1461033157806370a082311461033957806395d89b411461035f578063a22cb4651461036757610121565b806318160ddd116100f457806318160ddd1461024557806323b872dd1461025f5780632f745c591461029557806342842e0e146102c15780634f6ccce7146102f757610121565b806301ffc9a71461012657806306fdde0314610161578063081812fc146101de578063095ea7b314610217575b600080fd5b61014d6004803603602081101561013c57600080fd5b50356001600160e01b03191661055f565b604080519115158252519081900360200190f35b610169610582565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101a357818101518382015260200161018b565b50505050905090810190601f1680156101d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360208110156101f457600080fd5b5035610619565b604080516001600160a01b039092168252519081900360200190f35b6102436004803603604081101561022d57600080fd5b506001600160a01b03813516906020013561067b565b005b61024d610756565b60408051918252519081900360200190f35b6102436004803603606081101561027557600080fd5b506001600160a01b03813581169160208101359091169060400135610767565b61024d600480360360408110156102ab57600080fd5b506001600160a01b0381351690602001356107be565b610243600480360360608110156102d757600080fd5b506001600160a01b038135811691602081013590911690604001356107ef565b61024d6004803603602081101561030d57600080fd5b503561080a565b6101fb6004803603602081101561032a57600080fd5b5035610826565b610169610854565b61024d6004803603602081101561034f57600080fd5b50356001600160a01b03166108b5565b61016961091d565b6102436004803603604081101561037d57600080fd5b506001600160a01b038135169060200135151561097e565b61024d600480360360408110156103ab57600080fd5b8101906020810181356401000000008111156103c657600080fd5b8201836020820111156103d857600080fd5b803590602001918460018302840111640100000000831117156103fa57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b03169150610a839050565b6102436004803603608081101561045c57600080fd5b6001600160a01b0382358116926020810135909116916040820135919081019060808101606082013564010000000081111561049757600080fd5b8201836020820111156104a957600080fd5b803590602001918460018302840111640100000000831117156104cb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610aad945050505050565b6101696004803603602081101561052257600080fd5b5035610b0b565b61024d610d8e565b61014d6004803603604081101561054757600080fd5b506001600160a01b0381358116916020013516610d94565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b820191906000526020600020905b8154815290600101906020018083116105f157829003601f168201915b505050505090505b90565b600061062482610dc2565b61065f5760405162461bcd60e51b815260040180806020018281038252602c815260200180611c6f602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b600061068682610826565b9050806001600160a01b0316836001600160a01b031614156106d95760405162461bcd60e51b8152600401808060200182810382526021815260200180611d1f6021913960400191505060405180910390fd5b806001600160a01b03166106eb610dd5565b6001600160a01b0316148061070c575061070c81610707610dd5565b610d94565b6107475760405162461bcd60e51b8152600401808060200182810382526038815260200180611bc26038913960400191505060405180910390fd5b6107518383610dd9565b505050565b60006107626002610e47565b905090565b610778610772610dd5565b82610e52565b6107b35760405162461bcd60e51b8152600401808060200182810382526031815260200180611d406031913960400191505060405180910390fd5b610751838383610ef6565b6001600160a01b03821660009081526001602052604081206107e6908363ffffffff61105416565b90505b92915050565b61075183838360405180602001604052806000815250610aad565b60008061081e60028463ffffffff61106016565b509392505050565b60006107e982604051806060016040528060298152602001611c24602991396002919063ffffffff61107c16565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b60006001600160a01b0382166108fc5760405162461bcd60e51b815260040180806020018281038252602a815260200180611bfa602a913960400191505060405180910390fd5b6001600160a01b03821660009081526001602052604090206107e990610e47565b60078054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561060e5780601f106105e35761010080835404028352916020019161060e565b610986610dd5565b6001600160a01b0316826001600160a01b031614156109ec576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b80600560006109f9610dd5565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff191692151592909217909155610a3d610dd5565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b600a54600090610a938382611093565b610a9d81856110b1565b600a805460010190559392505050565b610abe610ab8610dd5565b83610e52565b610af95760405162461bcd60e51b8152600401808060200182810382526031815260200180611d406031913960400191505060405180910390fd5b610b0584848484611114565b50505050565b6060610b1682610dc2565b610b515760405162461bcd60e51b815260040180806020018281038252602f815260200180611cf0602f913960400191505060405180910390fd5b60008281526008602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610be65780601f10610bbb57610100808354040283529160200191610be6565b820191906000526020600020905b815481529060010190602001808311610bc957829003601f168201915b505050505090506060610bf7610854565b9050805160001415610c0b5750905061057d565b815115610ccc5780826040516020018083805190602001908083835b60208310610c465780518252601f199092019160209182019101610c27565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610c8e5780518252601f199092019160209182019101610c6f565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529250505061057d565b80610cd685611166565b6040516020018083805190602001908083835b60208310610d085780518252601f199092019160209182019101610ce9565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610d505780518252601f199092019160209182019101610d31565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b600a5481565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006107e960028363ffffffff61124116565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610e0e82610826565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006107e98261124d565b6000610e5d82610dc2565b610e985760405162461bcd60e51b815260040180806020018281038252602c815260200180611b96602c913960400191505060405180910390fd5b6000610ea383610826565b9050806001600160a01b0316846001600160a01b03161480610ede5750836001600160a01b0316610ed384610619565b6001600160a01b0316145b80610eee5750610eee8185610d94565b949350505050565b826001600160a01b0316610f0982610826565b6001600160a01b031614610f4e5760405162461bcd60e51b8152600401808060200182810382526029815260200180611cc76029913960400191505060405180910390fd5b6001600160a01b038216610f935760405162461bcd60e51b8152600401808060200182810382526024815260200180611b726024913960400191505060405180910390fd5b610f9e838383610751565b610fa9600082610dd9565b6001600160a01b0383166000908152600160205260409020610fd1908263ffffffff61125116565b506001600160a01b0382166000908152600160205260409020610ffa908263ffffffff61125d16565b5061100d6002828463ffffffff61126916565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006107e6838361127f565b600080808061106f86866112e3565b9097909650945050505050565b600061108984848461135e565b90505b9392505050565b6110ad828260405180602001604052806000815250611428565b5050565b6110ba82610dc2565b6110f55760405162461bcd60e51b815260040180806020018281038252602c815260200180611c9b602c913960400191505060405180910390fd5b6000828152600860209081526040909120825161075192840190611a85565b61111f848484610ef6565b61112b8484848461147a565b610b055760405162461bcd60e51b8152600401808060200182810382526032815260200180611b406032913960400191505060405180910390fd5b60608161118b57506040805180820190915260018152600360fc1b602082015261057d565b8160005b81156111a357600101600a8204915061118f565b60608167ffffffffffffffff811180156111bc57600080fd5b506040519080825280601f01601f1916602001820160405280156111e7576020820181803683370190505b50859350905060001982015b831561123857600a840660300160f81b8282806001900393508151811061121657fe5b60200101906001600160f81b031916908160001a905350600a840493506111f3565b50949350505050565b60006107e683836115fa565b5490565b60006107e68383611612565b60006107e683836116d8565b600061108984846001600160a01b038516611722565b815460009082106112c15760405162461bcd60e51b8152600401808060200182810382526022815260200180611b1e6022913960400191505060405180910390fd5b8260000182815481106112d057fe5b9060005260206000200154905092915050565b8154600090819083106113275760405162461bcd60e51b8152600401808060200182810382526022815260200180611c4d6022913960400191505060405180910390fd5b600084600001848154811061133857fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082815260018401602052604081205482816113f95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113be5781810151838201526020016113a6565b50505050905090810190601f1680156113eb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061140c57fe5b9060005260206000209060020201600101549150509392505050565b61143283836117b9565b61143f600084848461147a565b6107515760405162461bcd60e51b8152600401808060200182810382526032815260200180611b406032913960400191505060405180910390fd5b600061148e846001600160a01b03166118f3565b61149a57506001610eee565b60606115c0630a85bd0160e11b6114af610dd5565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611528578181015183820152602001611510565b50505050905090810190601f1680156115555780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001611b40603291396001600160a01b038816919063ffffffff6118f916565b905060008180602001905160208110156115d957600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156116ce578354600019808301919081019060009087908390811061164557fe5b906000526020600020015490508087600001848154811061166257fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061169257fe5b600190038181906000526020600020016000905590558660010160008781526020019081526020016000206000905560019450505050506107e9565b60009150506107e9565b60006116e483836115fa565b61171a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107e9565b5060006107e9565b60008281526001840160205260408120548061178757505060408051808201825283815260208082018481528654600181810189556000898152848120955160029093029095019182559151908201558654868452818801909252929091205561108c565b8285600001600183038154811061179a57fe5b906000526020600020906002020160010181905550600091505061108c565b6001600160a01b038216611814576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61181d81610dc2565b1561186f576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b61187b60008383610751565b6001600160a01b03821660009081526001602052604090206118a3908263ffffffff61125d16565b506118b66002828463ffffffff61126916565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b3b151590565b606061108984846000858561190d856118f3565b61195e576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061199d5780518252601f19909201916020918201910161197e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146119ff576040519150601f19603f3d011682016040523d82523d6000602084013e611a04565b606091505b5091509150611a14828286611a1f565b979650505050505050565b60608315611a2e57508161108c565b825115611a3e5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156113be5781810151838201526020016113a6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611ac657805160ff1916838001178555611af3565b82800160010185558215611af3579182015b82811115611af3578251825591602001919060010190611ad8565b50611aff929150611b03565b5090565b61061691905b80821115611aff5760008155600101611b0956fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a26469706673582212201180ff22edeb9dc96da9f3ff46ece972c16d926862f9192954f500ef811b70c164736f6c63430006060033", "deployedSourceMap": "115:516:13:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;115:516:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;965:148:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;965:148:0;-1:-1:-1;;;;;;965:148:0;;:::i;:::-;;;;;;;;;;;;;;;;;;4517:98:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4517:98:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7222:217;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7222:217:3;;:::i;:::-;;;;-1:-1:-1;;;;;7222:217:3;;;;;;;;;;;;;;6766:395;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6766:395:3;;;;;;;;:::i;:::-;;6260:208;;;:::i;:::-;;;;;;;;;;;;;;;;8086:300;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8086:300:3;;;;;;;;;;;;;;;;;:::i;6029:160::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;6029:160:3;;;;;;;;:::i;8452:149::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;8452:149:3;;;;;;;;;;;;;;;;;:::i;6540:169::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6540:169:3;;:::i;4280:175::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4280:175:3;;:::i;5855:95::-;;;:::i;4005:218::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4005:218:3;-1:-1:-1;;;;;4005:218:3;;:::i;4679:102::-;;;:::i;7506:290::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;7506:290:3;;;;;;;;;;:::i;299:330:13:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;299:330:13;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;299:330:13;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;299:330:13;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;299:330:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;299:330:13;;-1:-1:-1;;;299:330:13;;-1:-1:-1;;;;;299:330:13;;-1:-1:-1;299:330:13;;-1:-1:-1;299:330:13:i;8667:282:3:-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;;;;;8667:282:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;8667:282:3;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;8667:282:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8667:282:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8667:282:3;;-1:-1:-1;8667:282:3;;-1:-1:-1;;;;;8667:282:3:i;4847:776::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4847:776:3;;:::i;158:27:13:-;;;:::i;7862:162:3:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;7862:162:3;;;;;;;;;;:::i;965:148:0:-;-1:-1:-1;;;;;;1073:33:0;;1050:4;1073:33;;;;;;;;;;;;;965:148;;;;:::o;4517:98:3:-;4603:5;4596:12;;;;;;;;-1:-1:-1;;4596:12:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4571:13;;4596:12;;4603:5;;4596:12;;4603:5;4596:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4517:98;;:::o;7222:217::-;7298:7;7325:16;7333:7;7325;:16::i;:::-;7317:73;;;;-1:-1:-1;;;7317:73:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7408:24:3;;;;:15;:24;;;;;;-1:-1:-1;;;;;7408:24:3;;7222:217::o;6766:395::-;6846:13;6862:23;6877:7;6862:14;:23::i;:::-;6846:39;;6909:5;-1:-1:-1;;;;;6903:11:3;:2;-1:-1:-1;;;;;6903:11:3;;;6895:57;;;;-1:-1:-1;;;6895:57:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6987:5;-1:-1:-1;;;;;6971:21:3;:12;:10;:12::i;:::-;-1:-1:-1;;;;;6971:21:3;;:69;;;;6996:44;7020:5;7027:12;:10;:12::i;:::-;6996:23;:44::i;:::-;6963:159;;;;-1:-1:-1;;;6963:159:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7133:21;7142:2;7146:7;7133:8;:21::i;:::-;6766:395;;;:::o;6260:208::-;6321:7;6440:21;:12;:19;:21::i;:::-;6433:28;;6260:208;:::o;8086:300::-;8245:41;8264:12;:10;:12::i;:::-;8278:7;8245:18;:41::i;:::-;8237:103;;;;-1:-1:-1;;;8237:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8351:28;8361:4;8367:2;8371:7;8351:9;:28::i;6029:160::-;-1:-1:-1;;;;;6152:20:3;;6126:7;6152:20;;;:13;:20;;;;;:30;;6176:5;6152:30;:23;:30;:::i;:::-;6145:37;;6029:160;;;;;:::o;8452:149::-;8555:39;8572:4;8578:2;8582:7;8555:39;;;;;;;;;;;;:16;:39::i;6540:169::-;6615:7;;6656:22;:12;6672:5;6656:22;:15;:22;:::i;:::-;-1:-1:-1;6634:44:3;6540:169;-1:-1:-1;;;6540:169:3:o;4280:175::-;4352:7;4378:70;4395:7;4378:70;;;;;;;;;;;;;;;;;:12;;:70;;:16;:70;:::i;5855:95::-;5935:8;5928:15;;;;;;;;-1:-1:-1;;5928:15:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5903:13;;5928:15;;5935:8;;5928:15;;5935:8;5928:15;;;;;;;;;;;;;;;;;;;;;;;;4005:218;4077:7;-1:-1:-1;;;;;4104:19:3;;4096:74;;;;-1:-1:-1;;;4096:74:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4187:20:3;;;;;;:13;:20;;;;;:29;;:27;:29::i;4679:102::-;4767:7;4760:14;;;;;;;;-1:-1:-1;;4760:14:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4735:13;;4760:14;;4767:7;;4760:14;;4767:7;4760:14;;;;;;;;;;;;;;;;;;;;;;;;7506:290;7620:12;:10;:12::i;:::-;-1:-1:-1;;;;;7608:24:3;:8;-1:-1:-1;;;;;7608:24:3;;;7600:62;;;;;-1:-1:-1;;;7600:62:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;7718:8;7673:18;:32;7692:12;:10;:12::i;:::-;-1:-1:-1;;;;;7673:32:3;;;;;;;;;;;;;;;;;-1:-1:-1;7673:32:3;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;7673:53:3;;;;;;;;;;;7756:12;:10;:12::i;:::-;7741:48;;;;;;;;;;-1:-1:-1;;;;;7741:48:3;;;;;;;;;;;;;;7506:290;;:::o;299:330:13:-;447:12;;407:7;;469:41;487:9;447:12;469:9;:41::i;:::-;520:34;533:10;545:8;520:12;:34::i;:::-;579:12;;;594:1;579:16;564:31;;612:10;299:330;-1:-1:-1;;;299:330:13:o;8667:282:3:-;8798:41;8817:12;:10;:12::i;:::-;8831:7;8798:18;:41::i;:::-;8790:103;;;;-1:-1:-1;;;8790:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8903:39;8917:4;8923:2;8927:7;8936:5;8903:13;:39::i;:::-;8667:282;;;;:::o;4847:776::-;4920:13;4953:16;4961:7;4953;:16::i;:::-;4945:76;;;;-1:-1:-1;;;4945:76:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:19;;;;:10;:19;;;;;;;;;5032:45;;;;;;-1:-1:-1;;5032:45:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;:45;;;5058:19;5032:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5087:18;5108:9;:7;:9::i;:::-;5087:30;;5196:4;5190:18;5212:1;5190:23;5186:70;;;-1:-1:-1;5236:9:3;-1:-1:-1;5229:16:3;;5186:70;5358:23;;:27;5354:106;;5432:4;5438:9;5415:33;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5415::3;;;;;;;;;;-1:-1:-1;5415:33:3;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5415:33:3;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5415:33:3;;;5401:48;;;;;;5354:106;5590:4;5596:18;:7;:16;:18::i;:::-;5573:42;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5573:42:3;;;;;;;;;;-1:-1:-1;5573:42:3;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5573:42:3;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5573:42:3;;;5559:57;;;;4847:776;;;:::o;158:27:13:-;;;;:::o;7862:162:3:-;-1:-1:-1;;;;;7982:25:3;;;7959:4;7982:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;7862:162::o;10383:125::-;10448:4;10471:30;:12;10493:7;10471:30;:21;:30;:::i;598:104:9:-;685:10;598:104;:::o;16119:180:3:-;16184:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;16184:29:3;-1:-1:-1;;;;;16184:29:3;;;;;;;;:24;;16237:23;16184:24;16237:14;:23::i;:::-;-1:-1:-1;;;;;16228:46:3;;;;;;;;;;;16119:180;;:::o;7820:121:10:-;7889:7;7915:19;7923:3;7915:7;:19::i;10666:351:3:-;10759:4;10783:16;10791:7;10783;:16::i;:::-;10775:73;;;;-1:-1:-1;;;10775:73:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10858:13;10874:23;10889:7;10874:14;:23::i;:::-;10858:39;;10926:5;-1:-1:-1;;;;;10915:16:3;:7;-1:-1:-1;;;;;10915:16:3;;:51;;;;10959:7;-1:-1:-1;;;;;10935:31:3;:20;10947:7;10935:11;:20::i;:::-;-1:-1:-1;;;;;10935:31:3;;10915:51;:94;;;;10970:39;10994:5;11001:7;10970:23;:39::i;:::-;10907:103;10666:351;-1:-1:-1;;;;10666:351:3:o;13707:584::-;13831:4;-1:-1:-1;;;;;13804:31:3;:23;13819:7;13804:14;:23::i;:::-;-1:-1:-1;;;;;13804:31:3;;13796:85;;;;-1:-1:-1;;;13796:85:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13917:16:3;;13909:65;;;;-1:-1:-1;;;13909:65:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13985:39;14006:4;14012:2;14016:7;13985:20;:39::i;:::-;14086:29;14103:1;14107:7;14086:8;:29::i;:::-;-1:-1:-1;;;;;14126:19:3;;;;;;:13;:19;;;;;:35;;14153:7;14126:35;:26;:35;:::i;:::-;-1:-1:-1;;;;;;14171:17:3;;;;;;:13;:17;;;;;:30;;14193:7;14171:30;:21;:30;:::i;:::-;-1:-1:-1;14212:29:3;:12;14229:7;14238:2;14212:29;:16;:29;:::i;:::-;;14276:7;14272:2;-1:-1:-1;;;;;14257:27:3;14266:4;-1:-1:-1;;;;;14257:27:3;;;;;;;;;;;13707:584;;;:::o;9250:135:11:-;9321:7;9355:22;9359:3;9371:5;9355:3;:22::i;8269:233:10:-;8349:7;;;;8408:22;8412:3;8424:5;8408:3;:22::i;:::-;8377:53;;;;-1:-1:-1;8269:233:10;-1:-1:-1;;;;;8269:233:10:o;9522:211::-;9629:7;9679:44;9684:3;9704;9710:12;9679:4;:44::i;:::-;9671:53;-1:-1:-1;9522:211:10;;;;;;:::o;11348:108:3:-;11423:26;11433:2;11437:7;11423:26;;;;;;;;;;;;:9;:26::i;:::-;11348:108;;:::o;14438:212::-;14537:16;14545:7;14537;:16::i;:::-;14529:73;;;;-1:-1:-1;;;14529:73:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14612:19;;;;:10;:19;;;;;;;;:31;;;;;;;;:::i;9811:269::-;9924:28;9934:4;9940:2;9944:7;9924:9;:28::i;:::-;9970:48;9993:4;9999:2;10003:7;10012:5;9970:22;:48::i;:::-;9962:111;;;;-1:-1:-1;;;9962:111:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:725:12;266:13;483:10;479:51;;-1:-1:-1;509:10:12;;;;;;;;;;;;-1:-1:-1;;;509:10:12;;;;;;479:51;554:5;539:12;593:75;600:9;;593:75;;625:8;;655:2;647:10;;;;593:75;;;677:19;709:6;699:17;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;699:17:12;;;;;;;;;;;;;;;;;;;;;;;;;;21:6:-1;;108:14;699:17:12;87:42:-1;143:17;;-1:-1;699:17:12;-1:-1:-1;769:5:12;;-1:-1:-1;677:39:12;-1:-1:-1;;;742:10:12;;784:114;791:9;;784:114;;859:2;852:4;:9;847:2;:14;834:29;;816:6;823:7;;;;;;;816:15;;;;;;;;;;;:47;-1:-1:-1;;;;;816:47:12;;;;;;;;-1:-1:-1;885:2:12;877:10;;;;784:114;;;-1:-1:-1;921:6:12;210:725;-1:-1:-1;;;;210:725:12:o;7588:149:10:-;7672:4;7695:35;7705:3;7725;7695:9;:35::i;4491:108::-;4573:19;;4491:108::o;8365:135:11:-;8435:4;8458:35;8466:3;8486:5;8458:7;:35::i;8068:129::-;8135:4;8158:32;8163:3;8183:5;8158:4;:32::i;7027:183:10:-;7116:4;7139:64;7144:3;7164;-1:-1:-1;;;;;7178:23:10;;7139:4;:64::i;4452:201:11:-;4546:18;;4519:7;;4546:26;-1:-1:-1;4538:73:11;;;;-1:-1:-1;;;4538:73:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4628:3;:11;;4640:5;4628:18;;;;;;;;;;;;;;;;4621:25;;4452:201;;;;:::o;4942:274:10:-;5045:19;;5009:7;;;;5045:27;-1:-1:-1;5037:74:10;;;;-1:-1:-1;;;5037:74:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5122:22;5147:3;:12;;5160:5;5147:19;;;;;;;;;;;;;;;;;;5122:44;;5184:5;:10;;;5196:5;:12;;;5176:33;;;;;4942:274;;;;;:::o;6403:315::-;6497:7;6535:17;;;:12;;;:17;;;;;;6585:12;6570:13;6562:36;;;;-1:-1:-1;;;6562:36:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6562:36:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:3;:12;;6675:1;6664:8;:12;6651:26;;;;;;;;;;;;;;;;;;:33;;;6644:40;;;6403:315;;;;;:::o;11677:247:3:-;11772:18;11778:2;11782:7;11772:5;:18::i;:::-;11808:54;11839:1;11843:2;11847:7;11856:5;11808:22;:54::i;:::-;11800:117;;;;-1:-1:-1;;;11800:117:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15524:589;15644:4;15669:15;:2;-1:-1:-1;;;;;15669:13:3;;:15::i;:::-;15664:58;;-1:-1:-1;15707:4:3;15700:11;;15664:58;15731:23;15757:246;-1:-1:-1;;;15868:12:3;:10;:12::i;:::-;15894:4;15912:7;15933:5;15773:175;;;;;;-1:-1:-1;;;;;15773:175:3;-1:-1:-1;;;;;15773:175:3;;;;;;-1:-1:-1;;;;;15773:175:3;-1:-1:-1;;;;;15773:175:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15773:175:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;15773:175:3;;;;-1:-1:-1;;;;;15773:175:3;;38:4:-1;29:7;25:18;67:10;61:17;-1:-1;;;;;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;15773:175:3;15757:246;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15757:15:3;;;:246;;:15;:246;:::i;:::-;15731:272;;16013:13;16040:10;16029:32;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16029:32:3;-1:-1:-1;;;;;;16079:26:3;-1:-1:-1;;;16079:26:3;;-1:-1:-1;;;15524:589:3;;;;;;:::o;4278:123:10:-;4349:4;4372:17;;;:12;;;;;:17;;;;;;:22;;;4278:123::o;2212:1512:11:-;2278:4;2415:19;;;:12;;;:19;;;;;;2449:15;;2445:1273;;2878:18;;-1:-1:-1;;2830:14:11;;;;2878:22;;;;2806:21;;2878:3;;:22;;3160;;;;;;;;;;;;;;3140:42;;3303:9;3274:3;:11;;3286:13;3274:26;;;;;;;;;;;;;;;;;;;:38;;;;3378:23;;;3420:1;3378:12;;;:23;;;;;;3404:17;;;3378:43;;3527:17;;3378:3;;3527:17;;;;;;;;;;;;;;;;;;;;;;3619:3;:12;;:19;3632:5;3619:19;;;;;;;;;;;3612:26;;;3660:4;3653:11;;;;;;;;2445:1273;3702:5;3695:12;;;;;1640:404;1703:4;1724:21;1734:3;1739:5;1724:9;:21::i;:::-;1719:319;;-1:-1:-1;27:10;;39:1;23:18;;;45:23;;1761:11:11;:23;;;;;;;;;;;;;1941:18;;1919:19;;;:12;;;:19;;;;;;:40;;;;1973:11;;1719:319;-1:-1:-1;2022:5:11;2015:12;;1836:678:10;1912:4;2045:17;;;:12;;;:17;;;;;;2077:13;2073:435;;-1:-1:-1;;2161:38:10;;;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;2143:12:10;:57;;;;;;;;;;;;;;;;;;;;;;;;2355:19;;2335:17;;;:12;;;:17;;;;;;;:39;2388:11;;2073:435;2466:5;2430:3;:12;;2454:1;2443:8;:12;2430:26;;;;;;;;;;;;;;;;;;:33;;:41;;;;2492:5;2485:12;;;;;12246:393:3;-1:-1:-1;;;;;12325:16:3;;12317:61;;;;;-1:-1:-1;;;12317:61:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12397:16;12405:7;12397;:16::i;:::-;12396:17;12388:58;;;;;-1:-1:-1;;;12388:58:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;12457:45;12486:1;12490:2;12494:7;12457:20;:45::i;:::-;-1:-1:-1;;;;;12513:17:3;;;;;;:13;:17;;;;;:30;;12535:7;12513:30;:21;:30;:::i;:::-;-1:-1:-1;12554:29:3;:12;12571:7;12580:2;12554:29;:16;:29;:::i;:::-;-1:-1:-1;12599:33:3;;12624:7;;-1:-1:-1;;;;;12599:33:3;;;12616:1;;12599:33;;12616:1;;12599:33;12246:393;;:::o;726:413:8:-;1086:20;1124:8;;;726:413::o;3581:193::-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:8;5042:5;5050:4;5022:33;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5022:33:8;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;4980:75:8;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:8:o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:8;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:8;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;115:516:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;115:516:13;;;-1:-1:-1;115:516:13;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;", "language": "Solidity", "natspec": {"methods": {"approve(address,uint256)": {"details": "See {IERC721-approve}."}, "balanceOf(address)": {"details": "See {IERC721-balanceOf}."}, "baseURI()": {"details": "Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID."}, "getApproved(uint256)": {"details": "See {IERC721-getApproved}."}, "isApprovedForAll(address,address)": {"details": "See {IERC721-isApprovedForAll}."}, "name()": {"details": "See {IERC721Metadata-name}."}, "ownerOf(uint256)": {"details": "See {IERC721-ownerOf}."}, "safeTransferFrom(address,address,uint256)": {"details": "See {IERC721-safeTransferFrom}."}, "safeTransferFrom(address,address,uint256,bytes)": {"details": "See {IERC721-safeTransferFrom}."}, "setApprovalForAll(address,bool)": {"details": "See {IERC721-setApprovalForAll}."}, "supportsInterface(bytes4)": {"details": "See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas."}, "symbol()": {"details": "See {IERC721Metadata-symbol}."}, "tokenByIndex(uint256)": {"details": "See {IERC721Enumerable-tokenByIndex}."}, "tokenOfOwnerByIndex(address,uint256)": {"details": "See {IERC721Enumerable-tokenOfOwnerByIndex}."}, "tokenURI(uint256)": {"details": "See {IERC721Metadata-tokenURI}."}, "totalSupply()": {"details": "See {IERC721Enumerable-totalSupply}."}, "transferFrom(address,address,uint256)": {"details": "See {IERC721-transferFrom}."}}}, "offset": [115, 631], "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x121 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0xAD JUMPI DUP1 PUSH4 0xA593BC35 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xA593BC35 EQ PUSH2 0x395 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x446 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x50C JUMPI DUP1 PUSH4 0xD082E381 EQ PUSH2 0x529 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x531 JUMPI PUSH2 0x121 JUMP JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x314 JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x331 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x339 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x35F JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x367 JUMPI PUSH2 0x121 JUMP JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x25F JUMPI DUP1 PUSH4 0x2F745C59 EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x2C1 JUMPI DUP1 PUSH4 0x4F6CCCE7 EQ PUSH2 0x2F7 JUMPI PUSH2 0x121 JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x126 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x161 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x1DE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x217 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x13C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH2 0x55F JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x169 PUSH2 0x582 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP4 MLOAD DUP2 DUP4 ADD MSTORE DUP4 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP4 ADD SWAP2 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1A3 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x18B JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1D0 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x619 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 0x243 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x22D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x67B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x24D PUSH2 0x756 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x243 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x275 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x767 JUMP JUMPDEST PUSH2 0x24D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x2AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x7BE JUMP JUMPDEST PUSH2 0x243 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x2D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x7EF JUMP JUMPDEST PUSH2 0x24D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x30D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x80A JUMP JUMPDEST PUSH2 0x1FB PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x32A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x826 JUMP JUMPDEST PUSH2 0x169 PUSH2 0x854 JUMP JUMPDEST PUSH2 0x24D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x34F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x8B5 JUMP JUMPDEST PUSH2 0x169 PUSH2 0x91D JUMP JUMPDEST PUSH2 0x243 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x37D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD AND SWAP1 PUSH1 0x20 ADD CALLDATALOAD ISZERO ISZERO PUSH2 0x97E JUMP JUMPDEST PUSH2 0x24D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x3AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 PUSH1 0x20 DUP2 ADD DUP2 CALLDATALOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x3FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP SWAP3 SWAP6 POP POP POP SWAP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP2 POP PUSH2 0xA83 SWAP1 POP JUMP JUMPDEST PUSH2 0x243 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x80 DUP2 LT ISZERO PUSH2 0x45C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 CALLDATALOAD DUP2 AND SWAP3 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP2 PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x80 DUP2 ADD PUSH1 0x60 DUP3 ADD CALLDATALOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x497 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x4A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x4CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP SWAP3 SWAP6 POP PUSH2 0xAAD SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x169 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x522 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0xB0B JUMP JUMPDEST PUSH2 0x24D PUSH2 0xD8E JUMP JUMPDEST PUSH2 0x14D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x547 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 ADD CALLDATALOAD AND PUSH2 0xD94 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x60E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5E3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x60E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5F1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x624 DUP3 PUSH2 0xDC2 JUMP JUMPDEST PUSH2 0x65F 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 0x2C DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1C6F PUSH1 0x2C SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x686 DUP3 PUSH2 0x826 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x6D9 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 0x1D1F PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x6EB PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x70C JUMPI POP PUSH2 0x70C DUP2 PUSH2 0x707 PUSH2 0xDD5 JUMP JUMPDEST PUSH2 0xD94 JUMP JUMPDEST PUSH2 0x747 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 0x38 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1BC2 PUSH1 0x38 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x751 DUP4 DUP4 PUSH2 0xDD9 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x762 PUSH1 0x2 PUSH2 0xE47 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x778 PUSH2 0x772 PUSH2 0xDD5 JUMP JUMPDEST DUP3 PUSH2 0xE52 JUMP JUMPDEST PUSH2 0x7B3 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 0x31 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1D40 PUSH1 0x31 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x751 DUP4 DUP4 DUP4 PUSH2 0xEF6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH2 0x7E6 SWAP1 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1054 AND JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x751 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xAAD JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x81E PUSH1 0x2 DUP5 PUSH4 0xFFFFFFFF PUSH2 0x1060 AND JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E9 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x29 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1C24 PUSH1 0x29 SWAP2 CODECOPY PUSH1 0x2 SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0x107C AND JUMP JUMPDEST PUSH1 0x9 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x60E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5E3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x60E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x8FC 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 0x2A DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1BFA PUSH1 0x2A SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x7E9 SWAP1 PUSH2 0xE47 JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP9 AND ISZERO MUL ADD SWAP1 SWAP6 AND SWAP5 SWAP1 SWAP5 DIV SWAP4 DUP5 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x60 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0x60E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5E3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x60E JUMP JUMPDEST PUSH2 0x986 PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x9EC JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20617070726F766520746F2063616C6C657200000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x5 PUSH1 0x0 PUSH2 0x9F9 PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP2 DUP3 ADD PUSH1 0x0 SWAP1 DUP2 KECCAK256 SWAP2 DUP8 AND DUP1 DUP3 MSTORE SWAP2 SWAP1 SWAP4 MSTORE SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP3 ISZERO ISZERO SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 SSTORE PUSH2 0xA3D PUSH2 0xDD5 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP5 ISZERO ISZERO DUP2 MSTORE SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x0 SWAP1 PUSH2 0xA93 DUP4 DUP3 PUSH2 0x1093 JUMP JUMPDEST PUSH2 0xA9D DUP2 DUP6 PUSH2 0x10B1 JUMP JUMPDEST PUSH1 0xA DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xABE PUSH2 0xAB8 PUSH2 0xDD5 JUMP JUMPDEST DUP4 PUSH2 0xE52 JUMP JUMPDEST PUSH2 0xAF9 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 0x31 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1D40 PUSH1 0x31 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB05 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1114 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xB16 DUP3 PUSH2 0xDC2 JUMP JUMPDEST PUSH2 0xB51 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 0x2F DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1CF0 PUSH1 0x2F SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD PUSH1 0x1F PUSH1 0x2 PUSH1 0x0 NOT PUSH2 0x100 PUSH1 0x1 DUP7 AND ISZERO MUL ADD SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 DIV SWAP2 DUP3 ADD DUP5 SWAP1 DIV DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xBE6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xBBB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xBE6 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xBC9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x60 PUSH2 0xBF7 PUSH2 0x854 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 EQ ISZERO PUSH2 0xC0B JUMPI POP SWAP1 POP PUSH2 0x57D JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0xCCC JUMPI DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD DUP1 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xC46 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xC27 JUMP JUMPDEST MLOAD DUP2 MLOAD PUSH1 0x20 SWAP4 DUP5 SUB PUSH2 0x100 EXP PUSH1 0x0 NOT ADD DUP1 NOT SWAP1 SWAP3 AND SWAP2 AND OR SWAP1 MSTORE DUP6 MLOAD SWAP2 SWAP1 SWAP4 ADD SWAP3 DUP6 ADD SWAP2 POP DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xC8E JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xC6F JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP PUSH2 0x57D JUMP JUMPDEST DUP1 PUSH2 0xCD6 DUP6 PUSH2 0x1166 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD DUP1 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xD08 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xCE9 JUMP JUMPDEST MLOAD DUP2 MLOAD PUSH1 0x20 SWAP4 DUP5 SUB PUSH2 0x100 EXP PUSH1 0x0 NOT ADD DUP1 NOT SWAP1 SWAP3 AND SWAP2 AND OR SWAP1 MSTORE DUP6 MLOAD SWAP2 SWAP1 SWAP4 ADD SWAP3 DUP6 ADD SWAP2 POP DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0xD50 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xD31 JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xA SLOAD DUP2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E9 PUSH1 0x2 DUP4 PUSH4 0xFFFFFFFF PUSH2 0x1241 AND JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE DUP2 SWAP1 PUSH2 0xE0E DUP3 PUSH2 0x826 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E9 DUP3 PUSH2 0x124D JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE5D DUP3 PUSH2 0xDC2 JUMP JUMPDEST PUSH2 0xE98 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 0x2C DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1B96 PUSH1 0x2C SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xEA3 DUP4 PUSH2 0x826 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0xEDE JUMPI POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xED3 DUP5 PUSH2 0x619 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST DUP1 PUSH2 0xEEE JUMPI POP PUSH2 0xEEE DUP2 DUP6 PUSH2 0xD94 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF09 DUP3 PUSH2 0x826 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF4E 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 0x29 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1CC7 PUSH1 0x29 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xF93 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 0x24 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1B72 PUSH1 0x24 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xF9E DUP4 DUP4 DUP4 PUSH2 0x751 JUMP JUMPDEST PUSH2 0xFA9 PUSH1 0x0 DUP3 PUSH2 0xDD9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xFD1 SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x1251 AND JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xFFA SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x125D AND JUMP JUMPDEST POP PUSH2 0x100D PUSH1 0x2 DUP3 DUP5 PUSH4 0xFFFFFFFF PUSH2 0x1269 AND JUMP JUMPDEST POP DUP1 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E6 DUP4 DUP4 PUSH2 0x127F JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 DUP1 PUSH2 0x106F DUP7 DUP7 PUSH2 0x12E3 JUMP JUMPDEST SWAP1 SWAP8 SWAP1 SWAP7 POP SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1089 DUP5 DUP5 DUP5 PUSH2 0x135E JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x10AD DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1428 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x10BA DUP3 PUSH2 0xDC2 JUMP JUMPDEST PUSH2 0x10F5 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 0x2C DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1C9B PUSH1 0x2C SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 DUP3 MLOAD PUSH2 0x751 SWAP3 DUP5 ADD SWAP1 PUSH2 0x1A85 JUMP JUMPDEST PUSH2 0x111F DUP5 DUP5 DUP5 PUSH2 0xEF6 JUMP JUMPDEST PUSH2 0x112B DUP5 DUP5 DUP5 DUP5 PUSH2 0x147A JUMP JUMPDEST PUSH2 0xB05 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 0x32 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1B40 PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 PUSH2 0x118B JUMPI POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE PUSH2 0x57D JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0x11A3 JUMPI PUSH1 0x1 ADD PUSH1 0xA DUP3 DIV SWAP2 POP PUSH2 0x118F JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP1 ISZERO PUSH2 0x11BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x11E7 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP DUP6 SWAP4 POP SWAP1 POP PUSH1 0x0 NOT DUP3 ADD JUMPDEST DUP4 ISZERO PUSH2 0x1238 JUMPI PUSH1 0xA DUP5 MOD PUSH1 0x30 ADD PUSH1 0xF8 SHL DUP3 DUP3 DUP1 PUSH1 0x1 SWAP1 SUB SWAP4 POP DUP2 MLOAD DUP2 LT PUSH2 0x1216 JUMPI INVALID JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0xA DUP5 DIV SWAP4 POP PUSH2 0x11F3 JUMP JUMPDEST POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E6 DUP4 DUP4 PUSH2 0x15FA JUMP JUMPDEST SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E6 DUP4 DUP4 PUSH2 0x1612 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7E6 DUP4 DUP4 PUSH2 0x16D8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1089 DUP5 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x1722 JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP3 LT PUSH2 0x12C1 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 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1B1E PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x0 ADD DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x12D0 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 SLOAD PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP4 LT PUSH2 0x1327 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 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1C4D PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1338 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD DUP2 PUSH1 0x1 ADD SLOAD SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP3 DUP2 PUSH2 0x13F9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x13BE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x13A6 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x13EB JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP5 PUSH1 0x0 ADD PUSH1 0x1 DUP3 SUB DUP2 SLOAD DUP2 LT PUSH2 0x140C JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1432 DUP4 DUP4 PUSH2 0x17B9 JUMP JUMPDEST PUSH2 0x143F PUSH1 0x0 DUP5 DUP5 DUP5 PUSH2 0x147A JUMP JUMPDEST PUSH2 0x751 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 0x32 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1B40 PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x148E DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x18F3 JUMP JUMPDEST PUSH2 0x149A JUMPI POP PUSH1 0x1 PUSH2 0xEEE JUMP JUMPDEST PUSH1 0x60 PUSH2 0x15C0 PUSH4 0xA85BD01 PUSH1 0xE1 SHL PUSH2 0x14AF PUSH2 0xDD5 JUMP JUMPDEST DUP9 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x24 ADD DUP1 DUP6 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE DUP4 DUP2 DUP2 MLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1528 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1510 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x1555 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP6 POP POP POP POP POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x32 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B40 PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP2 SWAP1 PUSH4 0xFFFFFFFF PUSH2 0x18F9 AND JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x15D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 DUP4 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 ISZERO PUSH2 0x16CE JUMPI DUP4 SLOAD PUSH1 0x0 NOT DUP1 DUP4 ADD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x0 SWAP1 DUP8 SWAP1 DUP4 SWAP1 DUP2 LT PUSH2 0x1645 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP DUP1 DUP8 PUSH1 0x0 ADD DUP5 DUP2 SLOAD DUP2 LT PUSH2 0x1662 JUMPI INVALID JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 KECCAK256 SWAP1 SWAP2 ADD SWAP3 SWAP1 SWAP3 SSTORE DUP3 DUP2 MSTORE PUSH1 0x1 DUP10 DUP2 ADD SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP5 ADD SWAP1 SSTORE DUP7 SLOAD DUP8 SWAP1 DUP1 PUSH2 0x1692 JUMPI INVALID JUMPDEST PUSH1 0x1 SWAP1 SUB DUP2 DUP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP1 SSTORE SWAP1 SSTORE DUP7 PUSH1 0x1 ADD PUSH1 0x0 DUP8 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SSTORE PUSH1 0x1 SWAP5 POP POP POP POP POP PUSH2 0x7E9 JUMP JUMPDEST PUSH1 0x0 SWAP2 POP POP PUSH2 0x7E9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x16E4 DUP4 DUP4 PUSH2 0x15FA JUMP JUMPDEST PUSH2 0x171A JUMPI POP DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 KECCAK256 SWAP1 SWAP4 ADD DUP5 SWAP1 SSTORE DUP5 SLOAD DUP5 DUP3 MSTORE DUP3 DUP7 ADD SWAP1 SWAP4 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH2 0x7E9 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x7E9 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x1 DUP5 ADD PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 PUSH2 0x1787 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP5 DUP2 MSTORE DUP7 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP10 SSTORE PUSH1 0x0 DUP10 DUP2 MSTORE DUP5 DUP2 KECCAK256 SWAP6 MLOAD PUSH1 0x2 SWAP1 SWAP4 MUL SWAP1 SWAP6 ADD SWAP2 DUP3 SSTORE SWAP2 MLOAD SWAP1 DUP3 ADD SSTORE DUP7 SLOAD DUP7 DUP5 MSTORE DUP2 DUP9 ADD SWAP1 SWAP3 MSTORE SWAP3 SWAP1 SWAP2 KECCAK256 SSTORE PUSH2 0x108C JUMP JUMPDEST DUP3 DUP6 PUSH1 0x0 ADD PUSH1 0x1 DUP4 SUB DUP2 SLOAD DUP2 LT PUSH2 0x179A JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 SWAP2 POP POP PUSH2 0x108C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1814 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x181D DUP2 PUSH2 0xDC2 JUMP JUMPDEST ISZERO PUSH2 0x186F JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0x187B PUSH1 0x0 DUP4 DUP4 PUSH2 0x751 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x18A3 SWAP1 DUP3 PUSH4 0xFFFFFFFF PUSH2 0x125D AND JUMP JUMPDEST POP PUSH2 0x18B6 PUSH1 0x2 DUP3 DUP5 PUSH4 0xFFFFFFFF PUSH2 0x1269 AND JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 POP POP JUMP JUMPDEST EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1089 DUP5 DUP5 PUSH1 0x0 DUP6 DUP6 PUSH2 0x190D DUP6 PUSH2 0x18F3 JUMP JUMPDEST PUSH2 0x195E JUMPI PUSH1 0x40 DUP1 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP6 DUP8 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x199D JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1F NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x197E JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x19FF JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1A04 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1A14 DUP3 DUP3 DUP7 PUSH2 0x1A1F JUMP JUMPDEST SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x1A2E JUMPI POP DUP2 PUSH2 0x108C JUMP JUMPDEST DUP3 MLOAD ISZERO PUSH2 0x1A3E JUMPI DUP3 MLOAD DUP1 DUP5 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 DUP2 MSTORE DUP5 MLOAD PUSH1 0x24 DUP5 ADD MSTORE DUP5 MLOAD DUP6 SWAP4 SWAP2 SWAP3 DUP4 SWAP3 PUSH1 0x44 ADD SWAP2 SWAP1 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 PUSH1 0x0 DUP4 ISZERO PUSH2 0x13BE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x13A6 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x1AC6 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x1AF3 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x1AF3 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x1AF3 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1AD8 JUMP JUMPDEST POP PUSH2 0x1AFF SWAP3 SWAP2 POP PUSH2 0x1B03 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x616 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x1AFF JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1B09 JUMP INVALID GASLIMIT PUSH15 0x756D657261626C655365743A20696E PUSH5 0x6578206F75 PUSH21 0x206F6620626F756E64734552433732313A20747261 PUSH15 0x7366657220746F206E6F6E20455243 CALLDATACOPY ORIGIN BALANCE MSTORE PUSH6 0x636569766572 KECCAK256 PUSH10 0x6D706C656D656E746572 GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH21 0x72616E7366657220746F20746865207A65726F2061 PUSH5 0x6472657373 GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH16 0x70657261746F7220717565727920666F PUSH19 0x206E6F6E6578697374656E7420746F6B656E45 MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH2 0x7070 PUSH19 0x6F76652063616C6C6572206973206E6F74206F PUSH24 0x6E6572206E6F7220617070726F76656420666F7220616C6C GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH3 0x616C61 PUSH15 0x636520717565727920666F72207468 PUSH6 0x207A65726F20 PUSH2 0x6464 PUSH19 0x6573734552433732313A206F776E6572207175 PUSH6 0x727920666F72 KECCAK256 PUSH15 0x6F6E6578697374656E7420746F6B65 PUSH15 0x456E756D657261626C654D61703A20 PUSH10 0x6E646578206F7574206F PUSH7 0x20626F756E6473 GASLIMIT MSTORE NUMBER CALLDATACOPY ORIGIN BALANCE GASPRICE KECCAK256 PUSH2 0x7070 PUSH19 0x6F76656420717565727920666F72206E6F6E65 PUSH25 0x697374656E7420746F6B656E4552433732314D657461646174 PUSH2 0x3A20 SSTORE MSTORE 0x49 KECCAK256 PUSH20 0x6574206F66206E6F6E6578697374656E7420746F PUSH12 0x656E4552433732313A207472 PUSH2 0x6E73 PUSH7 0x6572206F662074 PUSH16 0x6B656E2074686174206973206E6F7420 PUSH16 0x776E4552433732314D65746164617461 GASPRICE KECCAK256 SSTORE MSTORE 0x49 KECCAK256 PUSH18 0x7565727920666F72206E6F6E657869737465 PUSH15 0x7420746F6B656E4552433732313A20 PUSH2 0x7070 PUSH19 0x6F76616C20746F2063757272656E74206F776E PUSH6 0x724552433732 BALANCE GASPRICE KECCAK256 PUSH21 0x72616E736665722063616C6C6572206973206E6F74 KECCAK256 PUSH16 0x776E6572206E6F7220617070726F7665 PUSH5 0xA264697066 PUSH20 0x582212201180FF22EDEB9DC96DA9F3FF46ECE972 0xC1 PUSH14 0x926862F9192954F500EF811B70C1 PUSH5 0x736F6C6343 STOP MOD MOD STOP CALLER ", "pcMap": {"0": {"offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x80"}, "2": {"fn": null, "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x40"}, "4": {"fn": null, "offset": [115, 631], "op": "MSTORE", "path": "13"}, "5": {"fn": null, "offset": [115, 631], "op": "CALLVALUE", "path": "13"}, "6": {"op": "DUP1"}, "7": {"op": "ISZERO"}, "8": {"op": "PUSH2", "value": "0x10"}, "11": {"op": "JUMPI"}, "12": {"op": "PUSH1", "value": "0x0"}, "14": {"op": "DUP1"}, "15": {"dev": "Cannot send ether to nonpayable function", "fn": null, "offset": [115, 631], "op": "REVERT", "path": "13"}, "16": {"op": "JUMPDEST"}, "17": {"offset": [115, 631], "op": "POP", "path": "13"}, "18": {"fn": null, "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x4"}, "20": {"fn": null, "offset": [115, 631], "op": "CALLDATASIZE", "path": "13"}, "21": {"fn": null, "offset": [115, 631], "op": "LT", "path": "13"}, "22": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x121"}, "25": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "26": {"fn": null, "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x0"}, "28": {"fn": null, "offset": [115, 631], "op": "CALLDATALOAD", "path": "13"}, "29": {"fn": null, "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0xE0"}, "31": {"fn": null, "offset": [115, 631], "op": "SHR", "path": "13"}, "32": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "33": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0x6352211E"}, "38": {"fn": null, "offset": [115, 631], "op": "GT", "path": "13"}, "39": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0xAD"}, "42": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "43": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "44": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0xA593BC35"}, "49": {"fn": null, "offset": [115, 631], "op": "GT", "path": "13"}, "50": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x71"}, "53": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "54": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "55": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0xA593BC35"}, "60": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "61": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x395"}, "64": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "65": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "66": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0xB88D4FDE"}, "71": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "72": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x446"}, "75": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "76": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "77": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0xC87B56DD"}, "82": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "83": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x50C"}, "86": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "87": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "88": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0xD082E381"}, "93": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "94": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x529"}, "97": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "98": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "99": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0xE985E9C5"}, "104": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "105": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x531"}, "108": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "109": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x121"}, "112": {"fn": null, "offset": [115, 631], "op": "JUMP", "path": "13"}, "113": {"fn": null, "offset": [115, 631], "op": "JUMPDEST", "path": "13"}, "114": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "115": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0x6352211E"}, "120": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "121": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x314"}, "124": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "125": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "126": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0x6C0360EB"}, "131": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "132": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x331"}, "135": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "136": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "137": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0x70A08231"}, "142": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "143": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x339"}, "146": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "147": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "148": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0x95D89B41"}, "153": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "154": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x35F"}, "157": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "158": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "159": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0xA22CB465"}, "164": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "165": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x367"}, "168": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "169": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x121"}, "172": {"fn": null, "offset": [115, 631], "op": "JUMP", "path": "13"}, "173": {"fn": null, "offset": [115, 631], "op": "JUMPDEST", "path": "13"}, "174": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "175": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0x18160DDD"}, "180": {"fn": null, "offset": [115, 631], "op": "GT", "path": "13"}, "181": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0xF4"}, "184": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "185": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "186": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0x18160DDD"}, "191": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "192": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x245"}, "195": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "196": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "197": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0x23B872DD"}, "202": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "203": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x25F"}, "206": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "207": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "208": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0x2F745C59"}, "213": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "214": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x295"}, "217": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "218": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "219": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0x42842E0E"}, "224": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "225": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x2C1"}, "228": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "229": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "230": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0x4F6CCCE7"}, "235": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "236": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x2F7"}, "239": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "240": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x121"}, "243": {"fn": null, "offset": [115, 631], "op": "JUMP", "path": "13"}, "244": {"fn": null, "offset": [115, 631], "op": "JUMPDEST", "path": "13"}, "245": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "246": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0x1FFC9A7"}, "251": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "252": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x126"}, "255": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "256": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "257": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0x6FDDE03"}, "262": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "263": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x161"}, "266": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "267": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "268": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0x81812FC"}, "273": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "274": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x1DE"}, "277": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "278": {"fn": null, "offset": [115, 631], "op": "DUP1", "path": "13"}, "279": {"fn": null, "offset": [115, 631], "op": "PUSH4", "path": "13", "value": "0x95EA7B3"}, "284": {"fn": null, "offset": [115, 631], "op": "EQ", "path": "13"}, "285": {"fn": null, "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x217"}, "288": {"fn": null, "offset": [115, 631], "op": "JUMPI", "path": "13"}, "289": {"fn": null, "offset": [115, 631], "op": "JUMPDEST", "path": "13"}, "290": {"op": "PUSH1", "value": "0x0"}, "292": {"op": "DUP1"}, "293": {"first_revert": true, "op": "REVERT"}, "294": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "JUMPDEST", "path": "0"}, "295": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "PUSH2", "path": "0", "value": "0x14D"}, "298": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "PUSH1", "path": "0", "value": "0x4"}, "300": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "DUP1", "path": "0"}, "301": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "CALLDATASIZE", "path": "0"}, "302": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "SUB", "path": "0"}, "303": {"op": "PUSH1", "value": "0x20"}, "305": {"op": "DUP2"}, "306": {"op": "LT"}, "307": {"op": "ISZERO"}, "308": {"op": "PUSH2", "value": "0x13C"}, "311": {"op": "JUMPI"}, "312": {"op": "PUSH1", "value": "0x0"}, "314": {"op": "DUP1"}, "315": {"op": "REVERT"}, "316": {"op": "JUMPDEST"}, "317": {"op": "POP"}, "318": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "CALLDATALOAD", "path": "0"}, "319": {"op": "PUSH1", "value": "0x1"}, "321": {"op": "PUSH1", "value": "0x1"}, "323": {"op": "PUSH1", "value": "0xE0"}, "325": {"op": "SHL"}, "326": {"op": "SUB"}, "327": {"op": "NOT"}, "328": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "AND", "path": "0"}, "329": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "PUSH2", "path": "0", "value": "0x55F"}, "332": {"fn": "ERC165.supportsInterface", "jump": "i", "offset": [965, 1113], "op": "JUMP", "path": "0"}, "333": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "JUMPDEST", "path": "0"}, "334": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "PUSH1", "path": "0", "value": "0x40"}, "336": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "DUP1", "path": "0"}, "337": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "MLOAD", "path": "0"}, "338": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "SWAP2", "path": "0"}, "339": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "ISZERO", "path": "0"}, "340": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "ISZERO", "path": "0"}, "341": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "DUP3", "path": "0"}, "342": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "MSTORE", "path": "0"}, "343": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "MLOAD", "path": "0"}, "344": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "SWAP1", "path": "0"}, "345": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "DUP2", "path": "0"}, "346": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "SWAP1", "path": "0"}, "347": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "SUB", "path": "0"}, "348": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "PUSH1", "path": "0", "value": "0x20"}, "350": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "ADD", "path": "0"}, "351": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "SWAP1", "path": "0"}, "352": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "RETURN", "path": "0"}, "353": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "JUMPDEST", "path": "3"}, "354": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "PUSH2", "path": "3", "value": "0x169"}, "357": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "PUSH2", "path": "3", "value": "0x582"}, "360": {"fn": "ERC721.name", "jump": "i", "offset": [4517, 4615], "op": "JUMP", "path": "3"}, "361": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "JUMPDEST", "path": "3"}, "362": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "PUSH1", "path": "3", "value": "0x40"}, "364": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP1", "path": "3"}, "365": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "MLOAD", "path": "3"}, "366": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "PUSH1", "path": "3", "value": "0x20"}, "368": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP1", "path": "3"}, "369": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP3", "path": "3"}, "370": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "MSTORE", "path": "3"}, "371": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP4", "path": "3"}, "372": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "MLOAD", "path": "3"}, "373": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP2", "path": "3"}, "374": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP4", "path": "3"}, "375": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "ADD", "path": "3"}, "376": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "MSTORE", "path": "3"}, "377": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP4", "path": "3"}, "378": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "MLOAD", "path": "3"}, "379": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SWAP2", "path": "3"}, "380": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SWAP3", "path": "3"}, "381": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP4", "path": "3"}, "382": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SWAP3", "path": "3"}, "383": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SWAP1", "path": "3"}, "384": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP4", "path": "3"}, "385": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "ADD", "path": "3"}, "386": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SWAP2", "path": "3"}, "387": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP6", "path": "3"}, "388": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "ADD", "path": "3"}, "389": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SWAP1", "path": "3"}, "390": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP1", "path": "3"}, "391": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP4", "path": "3"}, "392": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP4", "path": "3"}, "393": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "PUSH1", "path": "3", "value": "0x0"}, "395": {"op": "JUMPDEST"}, "396": {"op": "DUP4"}, "397": {"op": "DUP2"}, "398": {"op": "LT"}, "399": {"op": "ISZERO"}, "400": {"op": "PUSH2", "value": "0x1A3"}, "403": {"op": "JUMPI"}, "404": {"op": "DUP2"}, "405": {"op": "DUP2"}, "406": {"op": "ADD"}, "407": {"op": "MLOAD"}, "408": {"op": "DUP4"}, "409": {"op": "DUP3"}, "410": {"op": "ADD"}, "411": {"op": "MSTORE"}, "412": {"op": "PUSH1", "value": "0x20"}, "414": {"op": "ADD"}, "415": {"op": "PUSH2", "value": "0x18B"}, "418": {"op": "JUMP"}, "419": {"op": "JUMPDEST"}, "420": {"op": "POP"}, "421": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "POP", "path": "3"}, "422": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "POP", "path": "3"}, "423": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "POP", "path": "3"}, "424": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SWAP1", "path": "3"}, "425": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "POP", "path": "3"}, "426": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SWAP1", "path": "3"}, "427": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP2", "path": "3"}, "428": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "ADD", "path": "3"}, "429": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SWAP1", "path": "3"}, "430": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "PUSH1", "path": "3", "value": "0x1F"}, "432": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "AND", "path": "3"}, "433": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP1", "path": "3"}, "434": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "ISZERO", "path": "3"}, "435": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "PUSH2", "path": "3", "value": "0x1D0"}, "438": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "JUMPI", "path": "3"}, "439": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP1", "path": "3"}, "440": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP3", "path": "3"}, "441": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SUB", "path": "3"}, "442": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP1", "path": "3"}, "443": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "MLOAD", "path": "3"}, "444": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "PUSH1", "path": "3", "value": "0x1"}, "446": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP4", "path": "3"}, "447": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "PUSH1", "path": "3", "value": "0x20"}, "449": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SUB", "path": "3"}, "450": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "PUSH2", "path": "3", "value": "0x100"}, "453": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "EXP", "path": "3"}, "454": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SUB", "path": "3"}, "455": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "NOT", "path": "3"}, "456": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "AND", "path": "3"}, "457": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP2", "path": "3"}, "458": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "MSTORE", "path": "3"}, "459": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "PUSH1", "path": "3", "value": "0x20"}, "461": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "ADD", "path": "3"}, "462": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SWAP2", "path": "3"}, "463": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "POP", "path": "3"}, "464": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "JUMPDEST", "path": "3"}, "465": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "POP", "path": "3"}, "466": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SWAP3", "path": "3"}, "467": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "POP", "path": "3"}, "468": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "POP", "path": "3"}, "469": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "POP", "path": "3"}, "470": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "PUSH1", "path": "3", "value": "0x40"}, "472": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "MLOAD", "path": "3"}, "473": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "DUP1", "path": "3"}, "474": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SWAP2", "path": "3"}, "475": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SUB", "path": "3"}, "476": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SWAP1", "path": "3"}, "477": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "RETURN", "path": "3"}, "478": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "JUMPDEST", "path": "3"}, "479": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "PUSH2", "path": "3", "value": "0x1FB"}, "482": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "PUSH1", "path": "3", "value": "0x4"}, "484": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "DUP1", "path": "3"}, "485": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "CALLDATASIZE", "path": "3"}, "486": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "SUB", "path": "3"}, "487": {"op": "PUSH1", "value": "0x20"}, "489": {"op": "DUP2"}, "490": {"op": "LT"}, "491": {"op": "ISZERO"}, "492": {"op": "PUSH2", "value": "0x1F4"}, "495": {"op": "JUMPI"}, "496": {"op": "PUSH1", "value": "0x0"}, "498": {"op": "DUP1"}, "499": {"op": "REVERT"}, "500": {"op": "JUMPDEST"}, "501": {"op": "POP"}, "502": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "CALLDATALOAD", "path": "3"}, "503": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "PUSH2", "path": "3", "value": "0x619"}, "506": {"fn": "ERC721.getApproved", "jump": "i", "offset": [7222, 7439], "op": "JUMP", "path": "3"}, "507": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "JUMPDEST", "path": "3"}, "508": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "PUSH1", "path": "3", "value": "0x40"}, "510": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "DUP1", "path": "3"}, "511": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "MLOAD", "path": "3"}, "512": {"op": "PUSH1", "value": "0x1"}, "514": {"op": "PUSH1", "value": "0x1"}, "516": {"op": "PUSH1", "value": "0xA0"}, "518": {"op": "SHL"}, "519": {"op": "SUB"}, "520": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "SWAP1", "path": "3"}, "521": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "SWAP3", "path": "3"}, "522": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "AND", "path": "3"}, "523": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "DUP3", "path": "3"}, "524": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "MSTORE", "path": "3"}, "525": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "MLOAD", "path": "3"}, "526": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "SWAP1", "path": "3"}, "527": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "DUP2", "path": "3"}, "528": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "SWAP1", "path": "3"}, "529": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "SUB", "path": "3"}, "530": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "PUSH1", "path": "3", "value": "0x20"}, "532": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "ADD", "path": "3"}, "533": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "SWAP1", "path": "3"}, "534": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "RETURN", "path": "3"}, "535": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "JUMPDEST", "path": "3"}, "536": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "PUSH2", "path": "3", "value": "0x243"}, "539": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "PUSH1", "path": "3", "value": "0x4"}, "541": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "DUP1", "path": "3"}, "542": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "CALLDATASIZE", "path": "3"}, "543": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "SUB", "path": "3"}, "544": {"op": "PUSH1", "value": "0x40"}, "546": {"op": "DUP2"}, "547": {"op": "LT"}, "548": {"op": "ISZERO"}, "549": {"op": "PUSH2", "value": "0x22D"}, "552": {"op": "JUMPI"}, "553": {"op": "PUSH1", "value": "0x0"}, "555": {"op": "DUP1"}, "556": {"op": "REVERT"}, "557": {"op": "JUMPDEST"}, "558": {"op": "POP"}, "559": {"op": "PUSH1", "value": "0x1"}, "561": {"op": "PUSH1", "value": "0x1"}, "563": {"op": "PUSH1", "value": "0xA0"}, "565": {"op": "SHL"}, "566": {"op": "SUB"}, "567": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "DUP2", "path": "3"}, "568": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "CALLDATALOAD", "path": "3"}, "569": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "AND", "path": "3"}, "570": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "SWAP1", "path": "3"}, "571": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "PUSH1", "path": "3", "value": "0x20"}, "573": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "ADD", "path": "3"}, "574": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "CALLDATALOAD", "path": "3"}, "575": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "PUSH2", "path": "3", "value": "0x67B"}, "578": {"fn": "ERC721.approve", "jump": "i", "offset": [6766, 7161], "op": "JUMP", "path": "3"}, "579": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "JUMPDEST", "path": "3"}, "580": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "STOP", "path": "3"}, "581": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "JUMPDEST", "path": "3"}, "582": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "PUSH2", "path": "3", "value": "0x24D"}, "585": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "PUSH2", "path": "3", "value": "0x756"}, "588": {"fn": "ERC721.totalSupply", "jump": "i", "offset": [6260, 6468], "op": "JUMP", "path": "3"}, "589": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "JUMPDEST", "path": "3"}, "590": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "PUSH1", "path": "3", "value": "0x40"}, "592": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "DUP1", "path": "3"}, "593": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "MLOAD", "path": "3"}, "594": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "SWAP2", "path": "3"}, "595": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "DUP3", "path": "3"}, "596": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "MSTORE", "path": "3"}, "597": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "MLOAD", "path": "3"}, "598": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "SWAP1", "path": "3"}, "599": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "DUP2", "path": "3"}, "600": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "SWAP1", "path": "3"}, "601": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "SUB", "path": "3"}, "602": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "PUSH1", "path": "3", "value": "0x20"}, "604": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "ADD", "path": "3"}, "605": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "SWAP1", "path": "3"}, "606": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "RETURN", "path": "3"}, "607": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "JUMPDEST", "path": "3"}, "608": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "PUSH2", "path": "3", "value": "0x243"}, "611": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "PUSH1", "path": "3", "value": "0x4"}, "613": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "DUP1", "path": "3"}, "614": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "CALLDATASIZE", "path": "3"}, "615": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "SUB", "path": "3"}, "616": {"op": "PUSH1", "value": "0x60"}, "618": {"op": "DUP2"}, "619": {"op": "LT"}, "620": {"op": "ISZERO"}, "621": {"op": "PUSH2", "value": "0x275"}, "624": {"op": "JUMPI"}, "625": {"op": "PUSH1", "value": "0x0"}, "627": {"op": "DUP1"}, "628": {"op": "REVERT"}, "629": {"op": "JUMPDEST"}, "630": {"op": "POP"}, "631": {"op": "PUSH1", "value": "0x1"}, "633": {"op": "PUSH1", "value": "0x1"}, "635": {"op": "PUSH1", "value": "0xA0"}, "637": {"op": "SHL"}, "638": {"op": "SUB"}, "639": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "DUP2", "path": "3"}, "640": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "CALLDATALOAD", "path": "3"}, "641": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "DUP2", "path": "3"}, "642": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "AND", "path": "3"}, "643": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "SWAP2", "path": "3"}, "644": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "PUSH1", "path": "3", "value": "0x20"}, "646": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "DUP2", "path": "3"}, "647": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "ADD", "path": "3"}, "648": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "CALLDATALOAD", "path": "3"}, "649": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "SWAP1", "path": "3"}, "650": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "SWAP2", "path": "3"}, "651": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "AND", "path": "3"}, "652": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "SWAP1", "path": "3"}, "653": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "PUSH1", "path": "3", "value": "0x40"}, "655": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "ADD", "path": "3"}, "656": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "CALLDATALOAD", "path": "3"}, "657": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "PUSH2", "path": "3", "value": "0x767"}, "660": {"fn": "ERC721.transferFrom", "jump": "i", "offset": [8086, 8386], "op": "JUMP", "path": "3"}, "661": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "JUMPDEST", "path": "3"}, "662": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "PUSH2", "path": "3", "value": "0x24D"}, "665": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "PUSH1", "path": "3", "value": "0x4"}, "667": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "DUP1", "path": "3"}, "668": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "CALLDATASIZE", "path": "3"}, "669": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "SUB", "path": "3"}, "670": {"op": "PUSH1", "value": "0x40"}, "672": {"op": "DUP2"}, "673": {"op": "LT"}, "674": {"op": "ISZERO"}, "675": {"op": "PUSH2", "value": "0x2AB"}, "678": {"op": "JUMPI"}, "679": {"op": "PUSH1", "value": "0x0"}, "681": {"op": "DUP1"}, "682": {"op": "REVERT"}, "683": {"op": "JUMPDEST"}, "684": {"op": "POP"}, "685": {"op": "PUSH1", "value": "0x1"}, "687": {"op": "PUSH1", "value": "0x1"}, "689": {"op": "PUSH1", "value": "0xA0"}, "691": {"op": "SHL"}, "692": {"op": "SUB"}, "693": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "DUP2", "path": "3"}, "694": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "CALLDATALOAD", "path": "3"}, "695": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "AND", "path": "3"}, "696": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "SWAP1", "path": "3"}, "697": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "PUSH1", "path": "3", "value": "0x20"}, "699": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "ADD", "path": "3"}, "700": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "CALLDATALOAD", "path": "3"}, "701": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "PUSH2", "path": "3", "value": "0x7BE"}, "704": {"fn": "ERC721.tokenOfOwnerByIndex", "jump": "i", "offset": [6029, 6189], "op": "JUMP", "path": "3"}, "705": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "JUMPDEST", "path": "3"}, "706": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "PUSH2", "path": "3", "value": "0x243"}, "709": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "PUSH1", "path": "3", "value": "0x4"}, "711": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "DUP1", "path": "3"}, "712": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "CALLDATASIZE", "path": "3"}, "713": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "SUB", "path": "3"}, "714": {"op": "PUSH1", "value": "0x60"}, "716": {"op": "DUP2"}, "717": {"op": "LT"}, "718": {"op": "ISZERO"}, "719": {"op": "PUSH2", "value": "0x2D7"}, "722": {"op": "JUMPI"}, "723": {"op": "PUSH1", "value": "0x0"}, "725": {"op": "DUP1"}, "726": {"op": "REVERT"}, "727": {"op": "JUMPDEST"}, "728": {"op": "POP"}, "729": {"op": "PUSH1", "value": "0x1"}, "731": {"op": "PUSH1", "value": "0x1"}, "733": {"op": "PUSH1", "value": "0xA0"}, "735": {"op": "SHL"}, "736": {"op": "SUB"}, "737": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "DUP2", "path": "3"}, "738": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "CALLDATALOAD", "path": "3"}, "739": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "DUP2", "path": "3"}, "740": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "AND", "path": "3"}, "741": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "SWAP2", "path": "3"}, "742": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "PUSH1", "path": "3", "value": "0x20"}, "744": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "DUP2", "path": "3"}, "745": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "ADD", "path": "3"}, "746": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "CALLDATALOAD", "path": "3"}, "747": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "SWAP1", "path": "3"}, "748": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "SWAP2", "path": "3"}, "749": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "AND", "path": "3"}, "750": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "SWAP1", "path": "3"}, "751": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "PUSH1", "path": "3", "value": "0x40"}, "753": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "ADD", "path": "3"}, "754": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "CALLDATALOAD", "path": "3"}, "755": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "PUSH2", "path": "3", "value": "0x7EF"}, "758": {"fn": "ERC721.safeTransferFrom", "jump": "i", "offset": [8452, 8601], "op": "JUMP", "path": "3"}, "759": {"fn": "ERC721.tokenByIndex", "offset": [6540, 6709], "op": "JUMPDEST", "path": "3"}, "760": {"fn": "ERC721.tokenByIndex", "offset": [6540, 6709], "op": "PUSH2", "path": "3", "value": "0x24D"}, "763": {"fn": "ERC721.tokenByIndex", "offset": [6540, 6709], "op": "PUSH1", "path": "3", "value": "0x4"}, "765": {"fn": "ERC721.tokenByIndex", "offset": [6540, 6709], "op": "DUP1", "path": "3"}, "766": {"fn": "ERC721.tokenByIndex", "offset": [6540, 6709], "op": "CALLDATASIZE", "path": "3"}, "767": {"fn": "ERC721.tokenByIndex", "offset": [6540, 6709], "op": "SUB", "path": "3"}, "768": {"op": "PUSH1", "value": "0x20"}, "770": {"op": "DUP2"}, "771": {"op": "LT"}, "772": {"op": "ISZERO"}, "773": {"op": "PUSH2", "value": "0x30D"}, "776": {"op": "JUMPI"}, "777": {"op": "PUSH1", "value": "0x0"}, "779": {"op": "DUP1"}, "780": {"op": "REVERT"}, "781": {"op": "JUMPDEST"}, "782": {"op": "POP"}, "783": {"fn": "ERC721.tokenByIndex", "offset": [6540, 6709], "op": "CALLDATALOAD", "path": "3"}, "784": {"fn": "ERC721.tokenByIndex", "offset": [6540, 6709], "op": "PUSH2", "path": "3", "value": "0x80A"}, "787": {"fn": "ERC721.tokenByIndex", "jump": "i", "offset": [6540, 6709], "op": "JUMP", "path": "3"}, "788": {"fn": "ERC721.ownerOf", "offset": [4280, 4455], "op": "JUMPDEST", "path": "3"}, "789": {"fn": "ERC721.ownerOf", "offset": [4280, 4455], "op": "PUSH2", "path": "3", "value": "0x1FB"}, "792": {"fn": "ERC721.ownerOf", "offset": [4280, 4455], "op": "PUSH1", "path": "3", "value": "0x4"}, "794": {"fn": "ERC721.ownerOf", "offset": [4280, 4455], "op": "DUP1", "path": "3"}, "795": {"fn": "ERC721.ownerOf", "offset": [4280, 4455], "op": "CALLDATASIZE", "path": "3"}, "796": {"fn": "ERC721.ownerOf", "offset": [4280, 4455], "op": "SUB", "path": "3"}, "797": {"op": "PUSH1", "value": "0x20"}, "799": {"op": "DUP2"}, "800": {"op": "LT"}, "801": {"op": "ISZERO"}, "802": {"op": "PUSH2", "value": "0x32A"}, "805": {"op": "JUMPI"}, "806": {"op": "PUSH1", "value": "0x0"}, "808": {"op": "DUP1"}, "809": {"op": "REVERT"}, "810": {"op": "JUMPDEST"}, "811": {"op": "POP"}, "812": {"fn": "ERC721.ownerOf", "offset": [4280, 4455], "op": "CALLDATALOAD", "path": "3"}, "813": {"fn": "ERC721.ownerOf", "offset": [4280, 4455], "op": "PUSH2", "path": "3", "value": "0x826"}, "816": {"fn": "ERC721.ownerOf", "jump": "i", "offset": [4280, 4455], "op": "JUMP", "path": "3"}, "817": {"fn": "ERC721.baseURI", "offset": [5855, 5950], "op": "JUMPDEST", "path": "3"}, "818": {"fn": "ERC721.baseURI", "offset": [5855, 5950], "op": "PUSH2", "path": "3", "value": "0x169"}, "821": {"fn": "ERC721.baseURI", "offset": [5855, 5950], "op": "PUSH2", "path": "3", "value": "0x854"}, "824": {"fn": "ERC721.baseURI", "jump": "i", "offset": [5855, 5950], "op": "JUMP", "path": "3"}, "825": {"fn": "ERC721.balanceOf", "offset": [4005, 4223], "op": "JUMPDEST", "path": "3"}, "826": {"fn": "ERC721.balanceOf", "offset": [4005, 4223], "op": "PUSH2", "path": "3", "value": "0x24D"}, "829": {"fn": "ERC721.balanceOf", "offset": [4005, 4223], "op": "PUSH1", "path": "3", "value": "0x4"}, "831": {"fn": "ERC721.balanceOf", "offset": [4005, 4223], "op": "DUP1", "path": "3"}, "832": {"fn": "ERC721.balanceOf", "offset": [4005, 4223], "op": "CALLDATASIZE", "path": "3"}, "833": {"fn": "ERC721.balanceOf", "offset": [4005, 4223], "op": "SUB", "path": "3"}, "834": {"op": "PUSH1", "value": "0x20"}, "836": {"op": "DUP2"}, "837": {"op": "LT"}, "838": {"op": "ISZERO"}, "839": {"op": "PUSH2", "value": "0x34F"}, "842": {"op": "JUMPI"}, "843": {"op": "PUSH1", "value": "0x0"}, "845": {"op": "DUP1"}, "846": {"op": "REVERT"}, "847": {"op": "JUMPDEST"}, "848": {"op": "POP"}, "849": {"fn": "ERC721.balanceOf", "offset": [4005, 4223], "op": "CALLDATALOAD", "path": "3"}, "850": {"op": "PUSH1", "value": "0x1"}, "852": {"op": "PUSH1", "value": "0x1"}, "854": {"op": "PUSH1", "value": "0xA0"}, "856": {"op": "SHL"}, "857": {"op": "SUB"}, "858": {"fn": "ERC721.balanceOf", "offset": [4005, 4223], "op": "AND", "path": "3"}, "859": {"fn": "ERC721.balanceOf", "offset": [4005, 4223], "op": "PUSH2", "path": "3", "value": "0x8B5"}, "862": {"fn": "ERC721.balanceOf", "jump": "i", "offset": [4005, 4223], "op": "JUMP", "path": "3"}, "863": {"fn": "ERC721.symbol", "offset": [4679, 4781], "op": "JUMPDEST", "path": "3"}, "864": {"fn": "ERC721.symbol", "offset": [4679, 4781], "op": "PUSH2", "path": "3", "value": "0x169"}, "867": {"fn": "ERC721.symbol", "offset": [4679, 4781], "op": "PUSH2", "path": "3", "value": "0x91D"}, "870": {"fn": "ERC721.symbol", "jump": "i", "offset": [4679, 4781], "op": "JUMP", "path": "3"}, "871": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "JUMPDEST", "path": "3"}, "872": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "PUSH2", "path": "3", "value": "0x243"}, "875": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "PUSH1", "path": "3", "value": "0x4"}, "877": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "DUP1", "path": "3"}, "878": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "CALLDATASIZE", "path": "3"}, "879": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "SUB", "path": "3"}, "880": {"op": "PUSH1", "value": "0x40"}, "882": {"op": "DUP2"}, "883": {"op": "LT"}, "884": {"op": "ISZERO"}, "885": {"op": "PUSH2", "value": "0x37D"}, "888": {"op": "JUMPI"}, "889": {"op": "PUSH1", "value": "0x0"}, "891": {"op": "DUP1"}, "892": {"op": "REVERT"}, "893": {"op": "JUMPDEST"}, "894": {"op": "POP"}, "895": {"op": "PUSH1", "value": "0x1"}, "897": {"op": "PUSH1", "value": "0x1"}, "899": {"op": "PUSH1", "value": "0xA0"}, "901": {"op": "SHL"}, "902": {"op": "SUB"}, "903": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "DUP2", "path": "3"}, "904": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "CALLDATALOAD", "path": "3"}, "905": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "AND", "path": "3"}, "906": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "SWAP1", "path": "3"}, "907": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "PUSH1", "path": "3", "value": "0x20"}, "909": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "ADD", "path": "3"}, "910": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "CALLDATALOAD", "path": "3"}, "911": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "ISZERO", "path": "3"}, "912": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "ISZERO", "path": "3"}, "913": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "PUSH2", "path": "3", "value": "0x97E"}, "916": {"fn": "ERC721.setApprovalForAll", "jump": "i", "offset": [7506, 7796], "op": "JUMP", "path": "3"}, "917": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "JUMPDEST", "path": "13"}, "918": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "PUSH2", "path": "13", "value": "0x24D"}, "921": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "PUSH1", "path": "13", "value": "0x4"}, "923": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DUP1", "path": "13"}, "924": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "CALLDATASIZE", "path": "13"}, "925": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SUB", "path": "13"}, "926": {"op": "PUSH1", "value": "0x40"}, "928": {"op": "DUP2"}, "929": {"op": "LT"}, "930": {"op": "ISZERO"}, "931": {"op": "PUSH2", "value": "0x3AB"}, "934": {"op": "JUMPI"}, "935": {"op": "PUSH1", "value": "0x0"}, "937": {"op": "DUP1"}, "938": {"op": "REVERT"}, "939": {"op": "JUMPDEST"}, "940": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DUP2", "path": "13"}, "941": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "ADD", "path": "13"}, "942": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP1", "path": "13"}, "943": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "PUSH1", "path": "13", "value": "0x20"}, "945": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DUP2", "path": "13"}, "946": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "ADD", "path": "13"}, "947": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DUP2", "path": "13"}, "948": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "CALLDATALOAD", "path": "13"}, "949": {"op": "PUSH5", "value": "0x100000000"}, "955": {"op": "DUP2"}, "956": {"op": "GT"}, "957": {"op": "ISZERO"}, "958": {"op": "PUSH2", "value": "0x3C6"}, "961": {"op": "JUMPI"}, "962": {"op": "PUSH1", "value": "0x0"}, "964": {"op": "DUP1"}, "965": {"op": "REVERT"}, "966": {"op": "JUMPDEST"}, "967": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DUP3", "path": "13"}, "968": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "ADD", "path": "13"}, "969": {"op": "DUP4"}, "970": {"op": "PUSH1", "value": "0x20"}, "972": {"op": "DUP3"}, "973": {"op": "ADD"}, "974": {"op": "GT"}, "975": {"op": "ISZERO"}, "976": {"op": "PUSH2", "value": "0x3D8"}, "979": {"op": "JUMPI"}, "980": {"op": "PUSH1", "value": "0x0"}, "982": {"op": "DUP1"}, "983": {"op": "REVERT"}, "984": {"op": "JUMPDEST"}, "985": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DUP1", "path": "13"}, "986": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "CALLDATALOAD", "path": "13"}, "987": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP1", "path": "13"}, "988": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "PUSH1", "path": "13", "value": "0x20"}, "990": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "ADD", "path": "13"}, "991": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP2", "path": "13"}, "992": {"op": "DUP5"}, "993": {"op": "PUSH1", "value": "0x1"}, "995": {"op": "DUP4"}, "996": {"op": "MUL"}, "997": {"op": "DUP5"}, "998": {"op": "ADD"}, "999": {"op": "GT"}, "1000": {"op": "PUSH5", "value": "0x100000000"}, "1006": {"op": "DUP4"}, "1007": {"op": "GT"}, "1008": {"op": "OR"}, "1009": {"op": "ISZERO"}, "1010": {"op": "PUSH2", "value": "0x3FA"}, "1013": {"op": "JUMPI"}, "1014": {"op": "PUSH1", "value": "0x0"}, "1016": {"op": "DUP1"}, "1017": {"op": "REVERT"}, "1018": {"op": "JUMPDEST"}, "1019": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP2", "path": "13"}, "1020": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP1", "path": "13"}, "1021": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DUP1", "path": "13"}, "1022": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DUP1", "path": "13"}, "1023": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "PUSH1", "path": "13", "value": "0x1F"}, "1025": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "ADD", "path": "13"}, "1026": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "PUSH1", "path": "13", "value": "0x20"}, "1028": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DUP1", "path": "13"}, "1029": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP2", "path": "13"}, "1030": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DIV", "path": "13"}, "1031": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "MUL", "path": "13"}, "1032": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "PUSH1", "path": "13", "value": "0x20"}, "1034": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "ADD", "path": "13"}, "1035": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "PUSH1", "path": "13", "value": "0x40"}, "1037": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "MLOAD", "path": "13"}, "1038": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP1", "path": "13"}, "1039": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DUP2", "path": "13"}, "1040": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "ADD", "path": "13"}, "1041": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "PUSH1", "path": "13", "value": "0x40"}, "1043": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "MSTORE", "path": "13"}, "1044": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DUP1", "path": "13"}, "1045": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP4", "path": "13"}, "1046": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP3", "path": "13"}, "1047": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP2", "path": "13"}, "1048": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP1", "path": "13"}, "1049": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DUP2", "path": "13"}, "1050": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DUP2", "path": "13"}, "1051": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "MSTORE", "path": "13"}, "1052": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "PUSH1", "path": "13", "value": "0x20"}, "1054": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "ADD", "path": "13"}, "1055": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DUP4", "path": "13"}, "1056": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "DUP4", "path": "13"}, "1057": {"op": "DUP1"}, "1058": {"op": "DUP3"}, "1059": {"op": "DUP5"}, "1060": {"op": "CALLDATACOPY"}, "1061": {"op": "PUSH1", "value": "0x0"}, "1063": {"op": "SWAP3"}, "1064": {"op": "ADD"}, "1065": {"op": "SWAP2"}, "1066": {"op": "SWAP1"}, "1067": {"op": "SWAP2"}, "1068": {"op": "MSTORE"}, "1069": {"op": "POP"}, "1070": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP3", "path": "13"}, "1071": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP6", "path": "13"}, "1072": {"op": "POP"}, "1073": {"op": "POP"}, "1074": {"op": "POP"}, "1075": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP1", "path": "13"}, "1076": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "CALLDATALOAD", "path": "13"}, "1077": {"op": "PUSH1", "value": "0x1"}, "1079": {"op": "PUSH1", "value": "0x1"}, "1081": {"op": "PUSH1", "value": "0xA0"}, "1083": {"op": "SHL"}, "1084": {"op": "SUB"}, "1085": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "AND", "path": "13"}, "1086": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP2", "path": "13"}, "1087": {"op": "POP"}, "1088": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "PUSH2", "path": "13", "value": "0xA83"}, "1091": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP1", "path": "13"}, "1092": {"op": "POP"}, "1093": {"fn": "SimpleCollectible.createCollectible", "jump": "i", "offset": [299, 629], "op": "JUMP", "path": "13"}, "1094": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "JUMPDEST", "path": "3"}, "1095": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "PUSH2", "path": "3", "value": "0x243"}, "1098": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "PUSH1", "path": "3", "value": "0x4"}, "1100": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP1", "path": "3"}, "1101": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "CALLDATASIZE", "path": "3"}, "1102": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SUB", "path": "3"}, "1103": {"op": "PUSH1", "value": "0x80"}, "1105": {"op": "DUP2"}, "1106": {"op": "LT"}, "1107": {"op": "ISZERO"}, "1108": {"op": "PUSH2", "value": "0x45C"}, "1111": {"op": "JUMPI"}, "1112": {"op": "PUSH1", "value": "0x0"}, "1114": {"op": "DUP1"}, "1115": {"op": "REVERT"}, "1116": {"op": "JUMPDEST"}, "1117": {"op": "PUSH1", "value": "0x1"}, "1119": {"op": "PUSH1", "value": "0x1"}, "1121": {"op": "PUSH1", "value": "0xA0"}, "1123": {"op": "SHL"}, "1124": {"op": "SUB"}, "1125": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP3", "path": "3"}, "1126": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "CALLDATALOAD", "path": "3"}, "1127": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP2", "path": "3"}, "1128": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "AND", "path": "3"}, "1129": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP3", "path": "3"}, "1130": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "PUSH1", "path": "3", "value": "0x20"}, "1132": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP2", "path": "3"}, "1133": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "ADD", "path": "3"}, "1134": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "CALLDATALOAD", "path": "3"}, "1135": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP1", "path": "3"}, "1136": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP2", "path": "3"}, "1137": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "AND", "path": "3"}, "1138": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP2", "path": "3"}, "1139": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "PUSH1", "path": "3", "value": "0x40"}, "1141": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP3", "path": "3"}, "1142": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "ADD", "path": "3"}, "1143": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "CALLDATALOAD", "path": "3"}, "1144": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP2", "path": "3"}, "1145": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP1", "path": "3"}, "1146": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP2", "path": "3"}, "1147": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "ADD", "path": "3"}, "1148": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP1", "path": "3"}, "1149": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "PUSH1", "path": "3", "value": "0x80"}, "1151": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP2", "path": "3"}, "1152": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "ADD", "path": "3"}, "1153": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "PUSH1", "path": "3", "value": "0x60"}, "1155": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP3", "path": "3"}, "1156": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "ADD", "path": "3"}, "1157": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "CALLDATALOAD", "path": "3"}, "1158": {"op": "PUSH5", "value": "0x100000000"}, "1164": {"op": "DUP2"}, "1165": {"op": "GT"}, "1166": {"op": "ISZERO"}, "1167": {"op": "PUSH2", "value": "0x497"}, "1170": {"op": "JUMPI"}, "1171": {"op": "PUSH1", "value": "0x0"}, "1173": {"op": "DUP1"}, "1174": {"op": "REVERT"}, "1175": {"op": "JUMPDEST"}, "1176": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP3", "path": "3"}, "1177": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "ADD", "path": "3"}, "1178": {"op": "DUP4"}, "1179": {"op": "PUSH1", "value": "0x20"}, "1181": {"op": "DUP3"}, "1182": {"op": "ADD"}, "1183": {"op": "GT"}, "1184": {"op": "ISZERO"}, "1185": {"op": "PUSH2", "value": "0x4A9"}, "1188": {"op": "JUMPI"}, "1189": {"op": "PUSH1", "value": "0x0"}, "1191": {"op": "DUP1"}, "1192": {"op": "REVERT"}, "1193": {"op": "JUMPDEST"}, "1194": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP1", "path": "3"}, "1195": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "CALLDATALOAD", "path": "3"}, "1196": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP1", "path": "3"}, "1197": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "PUSH1", "path": "3", "value": "0x20"}, "1199": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "ADD", "path": "3"}, "1200": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP2", "path": "3"}, "1201": {"op": "DUP5"}, "1202": {"op": "PUSH1", "value": "0x1"}, "1204": {"op": "DUP4"}, "1205": {"op": "MUL"}, "1206": {"op": "DUP5"}, "1207": {"op": "ADD"}, "1208": {"op": "GT"}, "1209": {"op": "PUSH5", "value": "0x100000000"}, "1215": {"op": "DUP4"}, "1216": {"op": "GT"}, "1217": {"op": "OR"}, "1218": {"op": "ISZERO"}, "1219": {"op": "PUSH2", "value": "0x4CB"}, "1222": {"op": "JUMPI"}, "1223": {"op": "PUSH1", "value": "0x0"}, "1225": {"op": "DUP1"}, "1226": {"op": "REVERT"}, "1227": {"op": "JUMPDEST"}, "1228": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP2", "path": "3"}, "1229": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP1", "path": "3"}, "1230": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP1", "path": "3"}, "1231": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP1", "path": "3"}, "1232": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "PUSH1", "path": "3", "value": "0x1F"}, "1234": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "ADD", "path": "3"}, "1235": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "PUSH1", "path": "3", "value": "0x20"}, "1237": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP1", "path": "3"}, "1238": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP2", "path": "3"}, "1239": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DIV", "path": "3"}, "1240": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "MUL", "path": "3"}, "1241": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "PUSH1", "path": "3", "value": "0x20"}, "1243": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "ADD", "path": "3"}, "1244": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "PUSH1", "path": "3", "value": "0x40"}, "1246": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "MLOAD", "path": "3"}, "1247": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP1", "path": "3"}, "1248": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP2", "path": "3"}, "1249": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "ADD", "path": "3"}, "1250": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "PUSH1", "path": "3", "value": "0x40"}, "1252": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "MSTORE", "path": "3"}, "1253": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP1", "path": "3"}, "1254": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP4", "path": "3"}, "1255": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP3", "path": "3"}, "1256": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP2", "path": "3"}, "1257": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP1", "path": "3"}, "1258": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP2", "path": "3"}, "1259": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP2", "path": "3"}, "1260": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "MSTORE", "path": "3"}, "1261": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "PUSH1", "path": "3", "value": "0x20"}, "1263": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "ADD", "path": "3"}, "1264": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP4", "path": "3"}, "1265": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "DUP4", "path": "3"}, "1266": {"op": "DUP1"}, "1267": {"op": "DUP3"}, "1268": {"op": "DUP5"}, "1269": {"op": "CALLDATACOPY"}, "1270": {"op": "PUSH1", "value": "0x0"}, "1272": {"op": "SWAP3"}, "1273": {"op": "ADD"}, "1274": {"op": "SWAP2"}, "1275": {"op": "SWAP1"}, "1276": {"op": "SWAP2"}, "1277": {"op": "MSTORE"}, "1278": {"op": "POP"}, "1279": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP3", "path": "3"}, "1280": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP6", "path": "3"}, "1281": {"op": "POP"}, "1282": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "PUSH2", "path": "3", "value": "0xAAD"}, "1285": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "SWAP5", "path": "3"}, "1286": {"op": "POP"}, "1287": {"op": "POP"}, "1288": {"op": "POP"}, "1289": {"op": "POP"}, "1290": {"op": "POP"}, "1291": {"fn": "ERC721.safeTransferFrom", "jump": "i", "offset": [8667, 8949], "op": "JUMP", "path": "3"}, "1292": {"fn": "ERC721.tokenURI", "offset": [4847, 5623], "op": "JUMPDEST", "path": "3"}, "1293": {"fn": "ERC721.tokenURI", "offset": [4847, 5623], "op": "PUSH2", "path": "3", "value": "0x169"}, "1296": {"fn": "ERC721.tokenURI", "offset": [4847, 5623], "op": "PUSH1", "path": "3", "value": "0x4"}, "1298": {"fn": "ERC721.tokenURI", "offset": [4847, 5623], "op": "DUP1", "path": "3"}, "1299": {"fn": "ERC721.tokenURI", "offset": [4847, 5623], "op": "CALLDATASIZE", "path": "3"}, "1300": {"fn": "ERC721.tokenURI", "offset": [4847, 5623], "op": "SUB", "path": "3"}, "1301": {"op": "PUSH1", "value": "0x20"}, "1303": {"op": "DUP2"}, "1304": {"op": "LT"}, "1305": {"op": "ISZERO"}, "1306": {"op": "PUSH2", "value": "0x522"}, "1309": {"op": "JUMPI"}, "1310": {"op": "PUSH1", "value": "0x0"}, "1312": {"op": "DUP1"}, "1313": {"op": "REVERT"}, "1314": {"op": "JUMPDEST"}, "1315": {"op": "POP"}, "1316": {"fn": "ERC721.tokenURI", "offset": [4847, 5623], "op": "CALLDATALOAD", "path": "3"}, "1317": {"fn": "ERC721.tokenURI", "offset": [4847, 5623], "op": "PUSH2", "path": "3", "value": "0xB0B"}, "1320": {"fn": "ERC721.tokenURI", "jump": "i", "offset": [4847, 5623], "op": "JUMP", "path": "3"}, "1321": {"offset": [158, 185], "op": "JUMPDEST", "path": "13"}, "1322": {"fn": "ERC721.tokenURI", "offset": [158, 185], "op": "PUSH2", "path": "13", "value": "0x24D"}, "1325": {"fn": "ERC721.tokenURI", "offset": [158, 185], "op": "PUSH2", "path": "13", "value": "0xD8E"}, "1328": {"fn": "ERC721.tokenURI", "jump": "i", "offset": [158, 185], "op": "JUMP", "path": "13"}, "1329": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "JUMPDEST", "path": "3"}, "1330": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "PUSH2", "path": "3", "value": "0x14D"}, "1333": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "PUSH1", "path": "3", "value": "0x4"}, "1335": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "DUP1", "path": "3"}, "1336": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "CALLDATASIZE", "path": "3"}, "1337": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "SUB", "path": "3"}, "1338": {"op": "PUSH1", "value": "0x40"}, "1340": {"op": "DUP2"}, "1341": {"op": "LT"}, "1342": {"op": "ISZERO"}, "1343": {"op": "PUSH2", "value": "0x547"}, "1346": {"op": "JUMPI"}, "1347": {"op": "PUSH1", "value": "0x0"}, "1349": {"op": "DUP1"}, "1350": {"op": "REVERT"}, "1351": {"op": "JUMPDEST"}, "1352": {"op": "POP"}, "1353": {"op": "PUSH1", "value": "0x1"}, "1355": {"op": "PUSH1", "value": "0x1"}, "1357": {"op": "PUSH1", "value": "0xA0"}, "1359": {"op": "SHL"}, "1360": {"op": "SUB"}, "1361": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "DUP2", "path": "3"}, "1362": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "CALLDATALOAD", "path": "3"}, "1363": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "DUP2", "path": "3"}, "1364": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "AND", "path": "3"}, "1365": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "SWAP2", "path": "3"}, "1366": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "PUSH1", "path": "3", "value": "0x20"}, "1368": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "ADD", "path": "3"}, "1369": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "CALLDATALOAD", "path": "3"}, "1370": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "AND", "path": "3"}, "1371": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "PUSH2", "path": "3", "value": "0xD94"}, "1374": {"fn": "ERC721.isApprovedForAll", "jump": "i", "offset": [7862, 8024], "op": "JUMP", "path": "3"}, "1375": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "JUMPDEST", "path": "0"}, "1376": {"op": "PUSH1", "value": "0x1"}, "1378": {"op": "PUSH1", "value": "0x1"}, "1380": {"op": "PUSH1", "value": "0xE0"}, "1382": {"op": "SHL"}, "1383": {"op": "SUB"}, "1384": {"op": "NOT"}, "1385": {"fn": "ERC165.supportsInterface", "offset": [1073, 1106], "op": "DUP2", "path": "0", "statement": 0}, "1386": {"fn": "ERC165.supportsInterface", "offset": [1073, 1106], "op": "AND", "path": "0"}, "1387": {"fn": "ERC165.supportsInterface", "offset": [1050, 1054], "op": "PUSH1", "path": "0", "value": "0x0"}, "1389": {"fn": "ERC165.supportsInterface", "offset": [1073, 1106], "op": "SWAP1", "path": "0"}, "1390": {"fn": "ERC165.supportsInterface", "offset": [1073, 1106], "op": "DUP2", "path": "0"}, "1391": {"fn": "ERC165.supportsInterface", "offset": [1073, 1106], "op": "MSTORE", "path": "0"}, "1392": {"fn": "ERC165.supportsInterface", "offset": [1073, 1106], "op": "PUSH1", "path": "0", "value": "0x20"}, "1394": {"fn": "ERC165.supportsInterface", "offset": [1073, 1106], "op": "DUP2", "path": "0"}, "1395": {"fn": "ERC165.supportsInterface", "offset": [1073, 1106], "op": "SWAP1", "path": "0"}, "1396": {"fn": "ERC165.supportsInterface", "offset": [1073, 1106], "op": "MSTORE", "path": "0"}, "1397": {"fn": "ERC165.supportsInterface", "offset": [1073, 1106], "op": "PUSH1", "path": "0", "value": "0x40"}, "1399": {"fn": "ERC165.supportsInterface", "offset": [1073, 1106], "op": "SWAP1", "path": "0"}, "1400": {"fn": "ERC165.supportsInterface", "offset": [1073, 1106], "op": "KECCAK256", "path": "0"}, "1401": {"fn": "ERC165.supportsInterface", "offset": [1073, 1106], "op": "SLOAD", "path": "0"}, "1402": {"fn": "ERC165.supportsInterface", "offset": [1073, 1106], "op": "PUSH1", "path": "0", "value": "0xFF"}, "1404": {"fn": "ERC165.supportsInterface", "offset": [1073, 1106], "op": "AND", "path": "0"}, "1405": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "JUMPDEST", "path": "0"}, "1406": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "SWAP2", "path": "0"}, "1407": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "SWAP1", "path": "0"}, "1408": {"fn": "ERC165.supportsInterface", "offset": [965, 1113], "op": "POP", "path": "0"}, "1409": {"fn": "ERC165.supportsInterface", "jump": "o", "offset": [965, 1113], "op": "JUMP", "path": "0"}, "1410": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "JUMPDEST", "path": "3"}, "1411": {"fn": "ERC721.name", "offset": [4603, 4608], "op": "PUSH1", "path": "3", "statement": 1, "value": "0x6"}, "1413": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP1", "path": "3"}, "1414": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SLOAD", "path": "3"}, "1415": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH1", "path": "3", "value": "0x40"}, "1417": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP1", "path": "3"}, "1418": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "MLOAD", "path": "3"}, "1419": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH1", "path": "3", "value": "0x20"}, "1421": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH1", "path": "3", "value": "0x1F"}, "1423": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH1", "path": "3", "value": "0x2"}, "1425": {"op": "PUSH1", "value": "0x0"}, "1427": {"op": "NOT"}, "1428": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH2", "path": "3", "value": "0x100"}, "1431": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH1", "path": "3", "value": "0x1"}, "1433": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP9", "path": "3"}, "1434": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "AND", "path": "3"}, "1435": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "ISZERO", "path": "3"}, "1436": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "MUL", "path": "3"}, "1437": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "ADD", "path": "3"}, "1438": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP1", "path": "3"}, "1439": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP6", "path": "3"}, "1440": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "AND", "path": "3"}, "1441": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP5", "path": "3"}, "1442": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP1", "path": "3"}, "1443": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP5", "path": "3"}, "1444": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DIV", "path": "3"}, "1445": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP4", "path": "3"}, "1446": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP5", "path": "3"}, "1447": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "ADD", "path": "3"}, "1448": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP2", "path": "3"}, "1449": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP1", "path": "3"}, "1450": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DIV", "path": "3"}, "1451": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP2", "path": "3"}, "1452": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "MUL", "path": "3"}, "1453": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP3", "path": "3"}, "1454": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "ADD", "path": "3"}, "1455": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP2", "path": "3"}, "1456": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "ADD", "path": "3"}, "1457": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP1", "path": "3"}, "1458": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP3", "path": "3"}, "1459": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "MSTORE", "path": "3"}, "1460": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP3", "path": "3"}, "1461": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP2", "path": "3"}, "1462": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "MSTORE", "path": "3"}, "1463": {"fn": "ERC721.name", "offset": [4571, 4584], "op": "PUSH1", "path": "3", "value": "0x60"}, "1465": {"fn": "ERC721.name", "offset": [4571, 4584], "op": "SWAP4", "path": "3"}, "1466": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP1", "path": "3"}, "1467": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP3", "path": "3"}, "1468": {"fn": "ERC721.name", "offset": [4603, 4608], "op": "SWAP1", "path": "3"}, "1469": {"fn": "ERC721.name", "offset": [4603, 4608], "op": "SWAP2", "path": "3"}, "1470": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP4", "path": "3"}, "1471": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "ADD", "path": "3"}, "1472": {"fn": "ERC721.name", "offset": [4603, 4608], "op": "DUP3", "path": "3"}, "1473": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP3", "path": "3"}, "1474": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP1", "path": "3"}, "1475": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "ISZERO", "path": "3"}, "1476": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH2", "path": "3", "value": "0x60E"}, "1479": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "JUMPI", "path": "3"}, "1480": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP1", "path": "3"}, "1481": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH1", "path": "3", "value": "0x1F"}, "1483": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "LT", "path": "3"}, "1484": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH2", "path": "3", "value": "0x5E3"}, "1487": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "JUMPI", "path": "3"}, "1488": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH2", "path": "3", "value": "0x100"}, "1491": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP1", "path": "3"}, "1492": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP4", "path": "3"}, "1493": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SLOAD", "path": "3"}, "1494": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DIV", "path": "3"}, "1495": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "MUL", "path": "3"}, "1496": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP4", "path": "3"}, "1497": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "MSTORE", "path": "3"}, "1498": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP2", "path": "3"}, "1499": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH1", "path": "3", "value": "0x20"}, "1501": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "ADD", "path": "3"}, "1502": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP2", "path": "3"}, "1503": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH2", "path": "3", "value": "0x60E"}, "1506": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "JUMP", "path": "3"}, "1507": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "JUMPDEST", "path": "3"}, "1508": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP3", "path": "3"}, "1509": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "ADD", "path": "3"}, "1510": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP2", "path": "3"}, "1511": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP1", "path": "3"}, "1512": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH1", "path": "3", "value": "0x0"}, "1514": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "MSTORE", "path": "3"}, "1515": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH1", "path": "3", "value": "0x20"}, "1517": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH1", "path": "3", "value": "0x0"}, "1519": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "KECCAK256", "path": "3"}, "1520": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP1", "path": "3"}, "1521": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "JUMPDEST", "path": "3"}, "1522": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP2", "path": "3"}, "1523": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SLOAD", "path": "3"}, "1524": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP2", "path": "3"}, "1525": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "MSTORE", "path": "3"}, "1526": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP1", "path": "3"}, "1527": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH1", "path": "3", "value": "0x1"}, "1529": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "ADD", "path": "3"}, "1530": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP1", "path": "3"}, "1531": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH1", "path": "3", "value": "0x20"}, "1533": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "ADD", "path": "3"}, "1534": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP1", "path": "3"}, "1535": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP4", "path": "3"}, "1536": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "GT", "path": "3"}, "1537": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH2", "path": "3", "value": "0x5F1"}, "1540": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "JUMPI", "path": "3"}, "1541": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP3", "path": "3"}, "1542": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP1", "path": "3"}, "1543": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SUB", "path": "3"}, "1544": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "PUSH1", "path": "3", "value": "0x1F"}, "1546": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "AND", "path": "3"}, "1547": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "DUP3", "path": "3"}, "1548": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "ADD", "path": "3"}, "1549": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP2", "path": "3"}, "1550": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "JUMPDEST", "path": "3"}, "1551": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "POP", "path": "3"}, "1552": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "POP", "path": "3"}, "1553": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "POP", "path": "3"}, "1554": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "POP", "path": "3"}, "1555": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "POP", "path": "3"}, "1556": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "SWAP1", "path": "3"}, "1557": {"fn": "ERC721.name", "offset": [4596, 4608], "op": "POP", "path": "3"}, "1558": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "JUMPDEST", "path": "3"}, "1559": {"fn": "ERC721.name", "offset": [4517, 4615], "op": "SWAP1", "path": "3"}, "1560": {"fn": "ERC721.name", "jump": "o", "offset": [4517, 4615], "op": "JUMP", "path": "3"}, "1561": {"fn": "ERC721.getApproved", "offset": [7222, 7439], "op": "JUMPDEST", "path": "3"}, "1562": {"fn": "ERC721.getApproved", "offset": [7298, 7305], "op": "PUSH1", "path": "3", "value": "0x0"}, "1564": {"fn": "ERC721.getApproved", "offset": [7325, 7341], "op": "PUSH2", "path": "3", "statement": 2, "value": "0x624"}, "1567": {"fn": "ERC721.getApproved", "offset": [7333, 7340], "op": "DUP3", "path": "3"}, "1568": {"fn": "ERC721.getApproved", "offset": [7325, 7332], "op": "PUSH2", "path": "3", "value": "0xDC2"}, "1571": {"fn": "ERC721.getApproved", "jump": "i", "offset": [7325, 7341], "op": "JUMP", "path": "3"}, "1572": {"branch": 106, "fn": "ERC721.getApproved", "offset": [7325, 7341], "op": "JUMPDEST", "path": "3"}, "1573": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "PUSH2", "path": "3", "value": "0x65F"}, "1576": {"branch": 106, "fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "JUMPI", "path": "3"}, "1577": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "PUSH1", "path": "3", "value": "0x40"}, "1579": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "MLOAD", "path": "3"}, "1580": {"op": "PUSH3", "value": "0x461BCD"}, "1584": {"op": "PUSH1", "value": "0xE5"}, "1586": {"op": "SHL"}, "1587": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "DUP2", "path": "3"}, "1588": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "MSTORE", "path": "3"}, "1589": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "PUSH1", "path": "3", "value": "0x4"}, "1591": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "ADD", "path": "3"}, "1592": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "DUP1", "path": "3"}, "1593": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "DUP1", "path": "3"}, "1594": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "PUSH1", "path": "3", "value": "0x20"}, "1596": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "ADD", "path": "3"}, "1597": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "DUP3", "path": "3"}, "1598": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "DUP2", "path": "3"}, "1599": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "SUB", "path": "3"}, "1600": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "DUP3", "path": "3"}, "1601": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "MSTORE", "path": "3"}, "1602": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "PUSH1", "path": "3", "value": "0x2C"}, "1604": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "DUP2", "path": "3"}, "1605": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "MSTORE", "path": "3"}, "1606": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "PUSH1", "path": "3", "value": "0x20"}, "1608": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "ADD", "path": "3"}, "1609": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "DUP1", "path": "3"}, "1610": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "PUSH2", "path": "3", "value": "0x1C6F"}, "1613": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "PUSH1", "path": "3", "value": "0x2C"}, "1615": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "SWAP2", "path": "3"}, "1616": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "CODECOPY", "path": "3"}, "1617": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "PUSH1", "path": "3", "value": "0x40"}, "1619": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "ADD", "path": "3"}, "1620": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "SWAP2", "path": "3"}, "1621": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "POP", "path": "3"}, "1622": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "POP", "path": "3"}, "1623": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "PUSH1", "path": "3", "value": "0x40"}, "1625": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "MLOAD", "path": "3"}, "1626": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "DUP1", "path": "3"}, "1627": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "SWAP2", "path": "3"}, "1628": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "SUB", "path": "3"}, "1629": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "SWAP1", "path": "3"}, "1630": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "REVERT", "path": "3"}, "1631": {"fn": "ERC721.getApproved", "offset": [7317, 7390], "op": "JUMPDEST", "path": "3"}, "1632": {"op": "POP"}, "1633": {"fn": "ERC721.getApproved", "offset": [7408, 7432], "op": "PUSH1", "path": "3", "statement": 3, "value": "0x0"}, "1635": {"fn": "ERC721.getApproved", "offset": [7408, 7432], "op": "SWAP1", "path": "3"}, "1636": {"fn": "ERC721.getApproved", "offset": [7408, 7432], "op": "DUP2", "path": "3"}, "1637": {"fn": "ERC721.getApproved", "offset": [7408, 7432], "op": "MSTORE", "path": "3"}, "1638": {"fn": "ERC721.getApproved", "offset": [7408, 7423], "op": "PUSH1", "path": "3", "value": "0x4"}, "1640": {"fn": "ERC721.getApproved", "offset": [7408, 7432], "op": "PUSH1", "path": "3", "value": "0x20"}, "1642": {"fn": "ERC721.getApproved", "offset": [7408, 7432], "op": "MSTORE", "path": "3"}, "1643": {"fn": "ERC721.getApproved", "offset": [7408, 7432], "op": "PUSH1", "path": "3", "value": "0x40"}, "1645": {"fn": "ERC721.getApproved", "offset": [7408, 7432], "op": "SWAP1", "path": "3"}, "1646": {"fn": "ERC721.getApproved", "offset": [7408, 7432], "op": "KECCAK256", "path": "3"}, "1647": {"fn": "ERC721.getApproved", "offset": [7408, 7432], "op": "SLOAD", "path": "3"}, "1648": {"op": "PUSH1", "value": "0x1"}, "1650": {"op": "PUSH1", "value": "0x1"}, "1652": {"op": "PUSH1", "value": "0xA0"}, "1654": {"op": "SHL"}, "1655": {"op": "SUB"}, "1656": {"fn": "ERC721.getApproved", "offset": [7408, 7432], "op": "AND", "path": "3"}, "1657": {"fn": "ERC721.getApproved", "offset": [7408, 7432], "op": "SWAP1", "path": "3"}, "1658": {"fn": "ERC721.getApproved", "jump": "o", "offset": [7222, 7439], "op": "JUMP", "path": "3"}, "1659": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "JUMPDEST", "path": "3"}, "1660": {"fn": "ERC721.approve", "offset": [6846, 6859], "op": "PUSH1", "path": "3", "value": "0x0"}, "1662": {"fn": "ERC721.approve", "offset": [6862, 6885], "op": "PUSH2", "path": "3", "value": "0x686"}, "1665": {"fn": "ERC721.approve", "offset": [6877, 6884], "op": "DUP3", "path": "3"}, "1666": {"fn": "ERC721.approve", "offset": [6862, 6876], "op": "PUSH2", "path": "3", "value": "0x826"}, "1669": {"fn": "ERC721.approve", "jump": "i", "offset": [6862, 6885], "op": "JUMP", "path": "3"}, "1670": {"fn": "ERC721.approve", "offset": [6862, 6885], "op": "JUMPDEST", "path": "3"}, "1671": {"fn": "ERC721.approve", "offset": [6846, 6885], "op": "SWAP1", "path": "3"}, "1672": {"fn": "ERC721.approve", "offset": [6846, 6885], "op": "POP", "path": "3"}, "1673": {"fn": "ERC721.approve", "offset": [6909, 6914], "op": "DUP1", "path": "3", "statement": 4}, "1674": {"op": "PUSH1", "value": "0x1"}, "1676": {"op": "PUSH1", "value": "0x1"}, "1678": {"op": "PUSH1", "value": "0xA0"}, "1680": {"op": "SHL"}, "1681": {"op": "SUB"}, "1682": {"fn": "ERC721.approve", "offset": [6903, 6914], "op": "AND", "path": "3"}, "1683": {"fn": "ERC721.approve", "offset": [6903, 6905], "op": "DUP4", "path": "3"}, "1684": {"op": "PUSH1", "value": "0x1"}, "1686": {"op": "PUSH1", "value": "0x1"}, "1688": {"op": "PUSH1", "value": "0xA0"}, "1690": {"op": "SHL"}, "1691": {"op": "SUB"}, "1692": {"fn": "ERC721.approve", "offset": [6903, 6914], "op": "AND", "path": "3"}, "1693": {"fn": "ERC721.approve", "offset": [6903, 6914], "op": "EQ", "path": "3"}, "1694": {"branch": 107, "fn": "ERC721.approve", "offset": [6903, 6914], "op": "ISZERO", "path": "3"}, "1695": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "PUSH2", "path": "3", "value": "0x6D9"}, "1698": {"branch": 107, "fn": "ERC721.approve", "offset": [6895, 6952], "op": "JUMPI", "path": "3"}, "1699": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "PUSH1", "path": "3", "value": "0x40"}, "1701": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "MLOAD", "path": "3"}, "1702": {"op": "PUSH3", "value": "0x461BCD"}, "1706": {"op": "PUSH1", "value": "0xE5"}, "1708": {"op": "SHL"}, "1709": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "DUP2", "path": "3"}, "1710": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "MSTORE", "path": "3"}, "1711": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "PUSH1", "path": "3", "value": "0x4"}, "1713": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "ADD", "path": "3"}, "1714": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "DUP1", "path": "3"}, "1715": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "DUP1", "path": "3"}, "1716": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "PUSH1", "path": "3", "value": "0x20"}, "1718": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "ADD", "path": "3"}, "1719": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "DUP3", "path": "3"}, "1720": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "DUP2", "path": "3"}, "1721": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "SUB", "path": "3"}, "1722": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "DUP3", "path": "3"}, "1723": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "MSTORE", "path": "3"}, "1724": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "PUSH1", "path": "3", "value": "0x21"}, "1726": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "DUP2", "path": "3"}, "1727": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "MSTORE", "path": "3"}, "1728": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "PUSH1", "path": "3", "value": "0x20"}, "1730": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "ADD", "path": "3"}, "1731": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "DUP1", "path": "3"}, "1732": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "PUSH2", "path": "3", "value": "0x1D1F"}, "1735": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "PUSH1", "path": "3", "value": "0x21"}, "1737": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "SWAP2", "path": "3"}, "1738": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "CODECOPY", "path": "3"}, "1739": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "PUSH1", "path": "3", "value": "0x40"}, "1741": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "ADD", "path": "3"}, "1742": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "SWAP2", "path": "3"}, "1743": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "POP", "path": "3"}, "1744": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "POP", "path": "3"}, "1745": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "PUSH1", "path": "3", "value": "0x40"}, "1747": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "MLOAD", "path": "3"}, "1748": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "DUP1", "path": "3"}, "1749": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "SWAP2", "path": "3"}, "1750": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "SUB", "path": "3"}, "1751": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "SWAP1", "path": "3"}, "1752": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "REVERT", "path": "3"}, "1753": {"fn": "ERC721.approve", "offset": [6895, 6952], "op": "JUMPDEST", "path": "3"}, "1754": {"fn": "ERC721.approve", "offset": [6987, 6992], "op": "DUP1", "path": "3", "statement": 5}, "1755": {"op": "PUSH1", "value": "0x1"}, "1757": {"op": "PUSH1", "value": "0x1"}, "1759": {"op": "PUSH1", "value": "0xA0"}, "1761": {"op": "SHL"}, "1762": {"op": "SUB"}, "1763": {"fn": "ERC721.approve", "offset": [6971, 6992], "op": "AND", "path": "3"}, "1764": {"fn": "ERC721.approve", "offset": [6971, 6983], "op": "PUSH2", "path": "3", "value": "0x6EB"}, "1767": {"fn": "ERC721.approve", "offset": [6971, 6981], "op": "PUSH2", "path": "3", "value": "0xDD5"}, "1770": {"fn": "ERC721.approve", "jump": "i", "offset": [6971, 6983], "op": "JUMP", "path": "3"}, "1771": {"fn": "ERC721.approve", "offset": [6971, 6983], "op": "JUMPDEST", "path": "3"}, "1772": {"op": "PUSH1", "value": "0x1"}, "1774": {"op": "PUSH1", "value": "0x1"}, "1776": {"op": "PUSH1", "value": "0xA0"}, "1778": {"op": "SHL"}, "1779": {"op": "SUB"}, "1780": {"fn": "ERC721.approve", "offset": [6971, 6992], "op": "AND", "path": "3"}, "1781": {"branch": 108, "fn": "ERC721.approve", "offset": [6971, 6992], "op": "EQ", "path": "3"}, "1782": {"fn": "ERC721.approve", "offset": [6971, 7040], "op": "DUP1", "path": "3"}, "1783": {"fn": "ERC721.approve", "offset": [6971, 7040], "op": "PUSH2", "path": "3", "value": "0x70C"}, "1786": {"branch": 108, "fn": "ERC721.approve", "offset": [6971, 7040], "op": "JUMPI", "path": "3"}, "1787": {"fn": "ERC721.approve", "offset": [6971, 7040], "op": "POP", "path": "3"}, "1788": {"fn": "ERC721.approve", "offset": [6996, 7040], "op": "PUSH2", "path": "3", "value": "0x70C"}, "1791": {"fn": "ERC721.approve", "offset": [7020, 7025], "op": "DUP2", "path": "3"}, "1792": {"fn": "ERC721.approve", "offset": [7027, 7039], "op": "PUSH2", "path": "3", "value": "0x707"}, "1795": {"fn": "ERC721.approve", "offset": [7027, 7037], "op": "PUSH2", "path": "3", "value": "0xDD5"}, "1798": {"fn": "ERC721.approve", "jump": "i", "offset": [7027, 7039], "op": "JUMP", "path": "3"}, "1799": {"fn": "ERC721.approve", "offset": [7027, 7039], "op": "JUMPDEST", "path": "3"}, "1800": {"fn": "ERC721.approve", "offset": [6996, 7019], "op": "PUSH2", "path": "3", "value": "0xD94"}, "1803": {"fn": "ERC721.approve", "jump": "i", "offset": [6996, 7040], "op": "JUMP", "path": "3"}, "1804": {"branch": 109, "fn": "ERC721.approve", "offset": [6996, 7040], "op": "JUMPDEST", "path": "3"}, "1805": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "PUSH2", "path": "3", "value": "0x747"}, "1808": {"branch": 109, "fn": "ERC721.approve", "offset": [6963, 7122], "op": "JUMPI", "path": "3"}, "1809": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "PUSH1", "path": "3", "value": "0x40"}, "1811": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "MLOAD", "path": "3"}, "1812": {"op": "PUSH3", "value": "0x461BCD"}, "1816": {"op": "PUSH1", "value": "0xE5"}, "1818": {"op": "SHL"}, "1819": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "DUP2", "path": "3"}, "1820": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "MSTORE", "path": "3"}, "1821": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "PUSH1", "path": "3", "value": "0x4"}, "1823": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "ADD", "path": "3"}, "1824": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "DUP1", "path": "3"}, "1825": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "DUP1", "path": "3"}, "1826": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "PUSH1", "path": "3", "value": "0x20"}, "1828": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "ADD", "path": "3"}, "1829": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "DUP3", "path": "3"}, "1830": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "DUP2", "path": "3"}, "1831": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "SUB", "path": "3"}, "1832": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "DUP3", "path": "3"}, "1833": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "MSTORE", "path": "3"}, "1834": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "PUSH1", "path": "3", "value": "0x38"}, "1836": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "DUP2", "path": "3"}, "1837": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "MSTORE", "path": "3"}, "1838": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "PUSH1", "path": "3", "value": "0x20"}, "1840": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "ADD", "path": "3"}, "1841": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "DUP1", "path": "3"}, "1842": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "PUSH2", "path": "3", "value": "0x1BC2"}, "1845": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "PUSH1", "path": "3", "value": "0x38"}, "1847": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "SWAP2", "path": "3"}, "1848": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "CODECOPY", "path": "3"}, "1849": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "PUSH1", "path": "3", "value": "0x40"}, "1851": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "ADD", "path": "3"}, "1852": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "SWAP2", "path": "3"}, "1853": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "POP", "path": "3"}, "1854": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "POP", "path": "3"}, "1855": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "PUSH1", "path": "3", "value": "0x40"}, "1857": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "MLOAD", "path": "3"}, "1858": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "DUP1", "path": "3"}, "1859": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "SWAP2", "path": "3"}, "1860": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "SUB", "path": "3"}, "1861": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "SWAP1", "path": "3"}, "1862": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "REVERT", "path": "3"}, "1863": {"fn": "ERC721.approve", "offset": [6963, 7122], "op": "JUMPDEST", "path": "3"}, "1864": {"fn": "ERC721.approve", "offset": [7133, 7154], "op": "PUSH2", "path": "3", "statement": 6, "value": "0x751"}, "1867": {"fn": "ERC721.approve", "offset": [7142, 7144], "op": "DUP4", "path": "3"}, "1868": {"fn": "ERC721.approve", "offset": [7146, 7153], "op": "DUP4", "path": "3"}, "1869": {"fn": "ERC721.approve", "offset": [7133, 7141], "op": "PUSH2", "path": "3", "value": "0xDD9"}, "1872": {"fn": "ERC721.approve", "jump": "i", "offset": [7133, 7154], "op": "JUMP", "path": "3"}, "1873": {"fn": "ERC721.approve", "offset": [7133, 7154], "op": "JUMPDEST", "path": "3"}, "1874": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "POP", "path": "3"}, "1875": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "POP", "path": "3"}, "1876": {"fn": "ERC721.approve", "offset": [6766, 7161], "op": "POP", "path": "3"}, "1877": {"fn": "ERC721.approve", "jump": "o", "offset": [6766, 7161], "op": "JUMP", "path": "3"}, "1878": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "JUMPDEST", "path": "3"}, "1879": {"fn": "ERC721.totalSupply", "offset": [6321, 6328], "op": "PUSH1", "path": "3", "value": "0x0"}, "1881": {"fn": "ERC721.totalSupply", "offset": [6440, 6461], "op": "PUSH2", "path": "3", "statement": 7, "value": "0x762"}, "1884": {"fn": "ERC721.totalSupply", "offset": [6440, 6452], "op": "PUSH1", "path": "3", "value": "0x2"}, "1886": {"fn": "ERC721.totalSupply", "offset": [6440, 6459], "op": "PUSH2", "path": "3", "value": "0xE47"}, "1889": {"fn": "ERC721.totalSupply", "jump": "i", "offset": [6440, 6461], "op": "JUMP", "path": "3"}, "1890": {"fn": "ERC721.totalSupply", "offset": [6440, 6461], "op": "JUMPDEST", "path": "3"}, "1891": {"fn": "ERC721.totalSupply", "offset": [6433, 6461], "op": "SWAP1", "path": "3"}, "1892": {"fn": "ERC721.totalSupply", "offset": [6433, 6461], "op": "POP", "path": "3"}, "1893": {"fn": "ERC721.totalSupply", "offset": [6260, 6468], "op": "SWAP1", "path": "3"}, "1894": {"fn": "ERC721.totalSupply", "jump": "o", "offset": [6260, 6468], "op": "JUMP", "path": "3"}, "1895": {"fn": "ERC721.transferFrom", "offset": [8086, 8386], "op": "JUMPDEST", "path": "3"}, "1896": {"fn": "ERC721.transferFrom", "offset": [8245, 8286], "op": "PUSH2", "path": "3", "statement": 8, "value": "0x778"}, "1899": {"fn": "ERC721.transferFrom", "offset": [8264, 8276], "op": "PUSH2", "path": "3", "value": "0x772"}, "1902": {"fn": "ERC721.transferFrom", "offset": [8264, 8274], "op": "PUSH2", "path": "3", "value": "0xDD5"}, "1905": {"fn": "ERC721.transferFrom", "jump": "i", "offset": [8264, 8276], "op": "JUMP", "path": "3"}, "1906": {"fn": "ERC721.transferFrom", "offset": [8264, 8276], "op": "JUMPDEST", "path": "3"}, "1907": {"fn": "ERC721.transferFrom", "offset": [8278, 8285], "op": "DUP3", "path": "3"}, "1908": {"fn": "ERC721.transferFrom", "offset": [8245, 8263], "op": "PUSH2", "path": "3", "value": "0xE52"}, "1911": {"fn": "ERC721.transferFrom", "jump": "i", "offset": [8245, 8286], "op": "JUMP", "path": "3"}, "1912": {"branch": 110, "fn": "ERC721.transferFrom", "offset": [8245, 8286], "op": "JUMPDEST", "path": "3"}, "1913": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "PUSH2", "path": "3", "value": "0x7B3"}, "1916": {"branch": 110, "fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "JUMPI", "path": "3"}, "1917": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "PUSH1", "path": "3", "value": "0x40"}, "1919": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "MLOAD", "path": "3"}, "1920": {"op": "PUSH3", "value": "0x461BCD"}, "1924": {"op": "PUSH1", "value": "0xE5"}, "1926": {"op": "SHL"}, "1927": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "DUP2", "path": "3"}, "1928": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "MSTORE", "path": "3"}, "1929": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "PUSH1", "path": "3", "value": "0x4"}, "1931": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "ADD", "path": "3"}, "1932": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "DUP1", "path": "3"}, "1933": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "DUP1", "path": "3"}, "1934": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "PUSH1", "path": "3", "value": "0x20"}, "1936": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "ADD", "path": "3"}, "1937": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "DUP3", "path": "3"}, "1938": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "DUP2", "path": "3"}, "1939": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "SUB", "path": "3"}, "1940": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "DUP3", "path": "3"}, "1941": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "MSTORE", "path": "3"}, "1942": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "PUSH1", "path": "3", "value": "0x31"}, "1944": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "DUP2", "path": "3"}, "1945": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "MSTORE", "path": "3"}, "1946": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "PUSH1", "path": "3", "value": "0x20"}, "1948": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "ADD", "path": "3"}, "1949": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "DUP1", "path": "3"}, "1950": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "PUSH2", "path": "3", "value": "0x1D40"}, "1953": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "PUSH1", "path": "3", "value": "0x31"}, "1955": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "SWAP2", "path": "3"}, "1956": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "CODECOPY", "path": "3"}, "1957": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "PUSH1", "path": "3", "value": "0x40"}, "1959": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "ADD", "path": "3"}, "1960": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "SWAP2", "path": "3"}, "1961": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "POP", "path": "3"}, "1962": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "POP", "path": "3"}, "1963": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "PUSH1", "path": "3", "value": "0x40"}, "1965": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "MLOAD", "path": "3"}, "1966": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "DUP1", "path": "3"}, "1967": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "SWAP2", "path": "3"}, "1968": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "SUB", "path": "3"}, "1969": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "SWAP1", "path": "3"}, "1970": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "REVERT", "path": "3"}, "1971": {"fn": "ERC721.transferFrom", "offset": [8237, 8340], "op": "JUMPDEST", "path": "3"}, "1972": {"fn": "ERC721.transferFrom", "offset": [8351, 8379], "op": "PUSH2", "path": "3", "statement": 9, "value": "0x751"}, "1975": {"fn": "ERC721.transferFrom", "offset": [8361, 8365], "op": "DUP4", "path": "3"}, "1976": {"fn": "ERC721.transferFrom", "offset": [8367, 8369], "op": "DUP4", "path": "3"}, "1977": {"fn": "ERC721.transferFrom", "offset": [8371, 8378], "op": "DUP4", "path": "3"}, "1978": {"fn": "ERC721.transferFrom", "offset": [8351, 8360], "op": "PUSH2", "path": "3", "value": "0xEF6"}, "1981": {"fn": "ERC721.transferFrom", "jump": "i", "offset": [8351, 8379], "op": "JUMP", "path": "3"}, "1982": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "JUMPDEST", "path": "3"}, "1983": {"op": "PUSH1", "value": "0x1"}, "1985": {"op": "PUSH1", "value": "0x1"}, "1987": {"op": "PUSH1", "value": "0xA0"}, "1989": {"op": "SHL"}, "1990": {"op": "SUB"}, "1991": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6172], "op": "DUP3", "path": "3", "statement": 10}, "1992": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6172], "op": "AND", "path": "3"}, "1993": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6126, 6133], "op": "PUSH1", "path": "3", "value": "0x0"}, "1995": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6172], "op": "SWAP1", "path": "3"}, "1996": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6172], "op": "DUP2", "path": "3"}, "1997": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6172], "op": "MSTORE", "path": "3"}, "1998": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6165], "op": "PUSH1", "path": "3", "value": "0x1"}, "2000": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6172], "op": "PUSH1", "path": "3", "value": "0x20"}, "2002": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6172], "op": "MSTORE", "path": "3"}, "2003": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6172], "op": "PUSH1", "path": "3", "value": "0x40"}, "2005": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6172], "op": "DUP2", "path": "3"}, "2006": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6172], "op": "KECCAK256", "path": "3"}, "2007": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6182], "op": "PUSH2", "path": "3", "value": "0x7E6"}, "2010": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6182], "op": "SWAP1", "path": "3"}, "2011": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6176, 6181], "op": "DUP4", "path": "3"}, "2012": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6182], "op": "PUSH4", "path": "3", "value": "0xFFFFFFFF"}, "2017": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6175], "op": "PUSH2", "path": "3", "value": "0x1054"}, "2020": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6182], "op": "AND", "path": "3"}, "2021": {"fn": "ERC721.tokenOfOwnerByIndex", "jump": "i", "offset": [6152, 6182], "op": "JUMP", "path": "3"}, "2022": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6152, 6182], "op": "JUMPDEST", "path": "3"}, "2023": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6145, 6182], "op": "SWAP1", "path": "3"}, "2024": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6145, 6182], "op": "POP", "path": "3"}, "2025": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "JUMPDEST", "path": "3"}, "2026": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "SWAP3", "path": "3"}, "2027": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "SWAP2", "path": "3"}, "2028": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "POP", "path": "3"}, "2029": {"fn": "ERC721.tokenOfOwnerByIndex", "offset": [6029, 6189], "op": "POP", "path": "3"}, "2030": {"fn": "ERC721.tokenOfOwnerByIndex", "jump": "o", "offset": [6029, 6189], "op": "JUMP", "path": "3"}, "2031": {"fn": "ERC721.safeTransferFrom", "offset": [8452, 8601], "op": "JUMPDEST", "path": "3"}, "2032": {"fn": "ERC721.safeTransferFrom", "offset": [8555, 8594], "op": "PUSH2", "path": "3", "statement": 11, "value": "0x751"}, "2035": {"fn": "ERC721.safeTransferFrom", "offset": [8572, 8576], "op": "DUP4", "path": "3"}, "2036": {"fn": "ERC721.safeTransferFrom", "offset": [8578, 8580], "op": "DUP4", "path": "3"}, "2037": {"fn": "ERC721.safeTransferFrom", "offset": [8582, 8589], "op": "DUP4", "path": "3"}, "2038": {"fn": "ERC721.safeTransferFrom", "offset": [8555, 8594], "op": "PUSH1", "path": "3", "value": "0x40"}, "2040": {"fn": "ERC721.safeTransferFrom", "offset": [8555, 8594], "op": "MLOAD", "path": "3"}, "2041": {"fn": "ERC721.safeTransferFrom", "offset": [8555, 8594], "op": "DUP1", "path": "3"}, "2042": {"fn": "ERC721.safeTransferFrom", "offset": [8555, 8594], "op": "PUSH1", "path": "3", "value": "0x20"}, "2044": {"fn": "ERC721.safeTransferFrom", "offset": [8555, 8594], "op": "ADD", "path": "3"}, "2045": {"fn": "ERC721.safeTransferFrom", "offset": [8555, 8594], "op": "PUSH1", "path": "3", "value": "0x40"}, "2047": {"fn": "ERC721.safeTransferFrom", "offset": [8555, 8594], "op": "MSTORE", "path": "3"}, "2048": {"fn": "ERC721.safeTransferFrom", "offset": [8555, 8594], "op": "DUP1", "path": "3"}, "2049": {"fn": "ERC721.safeTransferFrom", "offset": [8555, 8594], "op": "PUSH1", "path": "3", "value": "0x0"}, "2051": {"fn": "ERC721.safeTransferFrom", "offset": [8555, 8594], "op": "DUP2", "path": "3"}, "2052": {"fn": "ERC721.safeTransferFrom", "offset": [8555, 8594], "op": "MSTORE", "path": "3"}, "2053": {"fn": "ERC721.safeTransferFrom", "offset": [8555, 8594], "op": "POP", "path": "3"}, "2054": {"fn": "ERC721.safeTransferFrom", "offset": [8555, 8571], "op": "PUSH2", "path": "3", "value": "0xAAD"}, "2057": {"fn": "ERC721.safeTransferFrom", "jump": "i", "offset": [8555, 8594], "op": "JUMP", "path": "3"}, "2058": {"fn": "ERC721.tokenByIndex", "offset": [6540, 6709], "op": "JUMPDEST", "path": "3"}, "2059": {"fn": "ERC721.tokenByIndex", "offset": [6615, 6622], "op": "PUSH1", "path": "3", "value": "0x0"}, "2061": {"fn": "ERC721.tokenByIndex", "offset": [6615, 6622], "op": "DUP1", "path": "3"}, "2062": {"fn": "ERC721.tokenByIndex", "offset": [6656, 6678], "op": "PUSH2", "path": "3", "value": "0x81E"}, "2065": {"fn": "ERC721.tokenByIndex", "offset": [6656, 6668], "op": "PUSH1", "path": "3", "value": "0x2"}, "2067": {"fn": "ERC721.tokenByIndex", "offset": [6672, 6677], "op": "DUP5", "path": "3"}, "2068": {"fn": "ERC721.tokenByIndex", "offset": [6656, 6678], "op": "PUSH4", "path": "3", "value": "0xFFFFFFFF"}, "2073": {"fn": "ERC721.tokenByIndex", "offset": [6656, 6671], "op": "PUSH2", "path": "3", "value": "0x1060"}, "2076": {"fn": "ERC721.tokenByIndex", "offset": [6656, 6678], "op": "AND", "path": "3"}, "2077": {"fn": "ERC721.tokenByIndex", "jump": "i", "offset": [6656, 6678], "op": "JUMP", "path": "3"}, "2078": {"fn": "ERC721.tokenByIndex", "offset": [6656, 6678], "op": "JUMPDEST", "path": "3"}, "2079": {"op": "POP"}, "2080": {"fn": "ERC721.tokenByIndex", "offset": [6634, 6678], "op": "SWAP4", "path": "3"}, "2081": {"fn": "ERC721.tokenByIndex", "offset": [6540, 6709], "op": "SWAP3", "path": "3"}, "2082": {"op": "POP"}, "2083": {"op": "POP"}, "2084": {"op": "POP"}, "2085": {"fn": "ERC721.tokenByIndex", "jump": "o", "offset": [6540, 6709], "op": "JUMP", "path": "3"}, "2086": {"fn": "ERC721.ownerOf", "offset": [4280, 4455], "op": "JUMPDEST", "path": "3"}, "2087": {"fn": "ERC721.ownerOf", "offset": [4352, 4359], "op": "PUSH1", "path": "3", "value": "0x0"}, "2089": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "PUSH2", "path": "3", "statement": 12, "value": "0x7E9"}, "2092": {"fn": "ERC721.ownerOf", "offset": [4395, 4402], "op": "DUP3", "path": "3"}, "2093": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "PUSH1", "path": "3", "value": "0x40"}, "2095": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "MLOAD", "path": "3"}, "2096": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "DUP1", "path": "3"}, "2097": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "PUSH1", "path": "3", "value": "0x60"}, "2099": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "ADD", "path": "3"}, "2100": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "PUSH1", "path": "3", "value": "0x40"}, "2102": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "MSTORE", "path": "3"}, "2103": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "DUP1", "path": "3"}, "2104": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "PUSH1", "path": "3", "value": "0x29"}, "2106": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "DUP2", "path": "3"}, "2107": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "MSTORE", "path": "3"}, "2108": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "PUSH1", "path": "3", "value": "0x20"}, "2110": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "ADD", "path": "3"}, "2111": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "PUSH2", "path": "3", "value": "0x1C24"}, "2114": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "PUSH1", "path": "3", "value": "0x29"}, "2116": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "SWAP2", "path": "3"}, "2117": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "CODECOPY", "path": "3"}, "2118": {"fn": "ERC721.ownerOf", "offset": [4378, 4390], "op": "PUSH1", "path": "3", "value": "0x2"}, "2120": {"fn": "ERC721.ownerOf", "offset": [4378, 4390], "op": "SWAP2", "path": "3"}, "2121": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "SWAP1", "path": "3"}, "2122": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "PUSH4", "path": "3", "value": "0xFFFFFFFF"}, "2127": {"fn": "ERC721.ownerOf", "offset": [4378, 4394], "op": "PUSH2", "path": "3", "value": "0x107C"}, "2130": {"fn": "ERC721.ownerOf", "offset": [4378, 4448], "op": "AND", "path": "3"}, "2131": {"fn": "ERC721.ownerOf", "jump": "i", "offset": [4378, 4448], "op": "JUMP", "path": "3"}, "2132": {"fn": "ERC721.baseURI", "offset": [5855, 5950], "op": "JUMPDEST", "path": "3"}, "2133": {"fn": "ERC721.baseURI", "offset": [5935, 5943], "op": "PUSH1", "path": "3", "statement": 13, "value": "0x9"}, "2135": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP1", "path": "3"}, "2136": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "SLOAD", "path": "3"}, "2137": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "PUSH1", "path": "3", "value": "0x40"}, "2139": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP1", "path": "3"}, "2140": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "MLOAD", "path": "3"}, "2141": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "PUSH1", "path": "3", "value": "0x20"}, "2143": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "PUSH1", "path": "3", "value": "0x1F"}, "2145": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "PUSH1", "path": "3", "value": "0x2"}, "2147": {"op": "PUSH1", "value": "0x0"}, "2149": {"op": "NOT"}, "2150": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "PUSH2", "path": "3", "value": "0x100"}, "2153": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "PUSH1", "path": "3", "value": "0x1"}, "2155": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP9", "path": "3"}, "2156": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "AND", "path": "3"}, "2157": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "ISZERO", "path": "3"}, "2158": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "MUL", "path": "3"}, "2159": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "ADD", "path": "3"}, "2160": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "SWAP1", "path": "3"}, "2161": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "SWAP6", "path": "3"}, "2162": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "AND", "path": "3"}, "2163": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "SWAP5", "path": "3"}, "2164": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "SWAP1", "path": "3"}, "2165": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "SWAP5", "path": "3"}, "2166": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DIV", "path": "3"}, "2167": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "SWAP4", "path": "3"}, "2168": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP5", "path": "3"}, "2169": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "ADD", "path": "3"}, "2170": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP2", "path": "3"}, "2171": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "SWAP1", "path": "3"}, "2172": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DIV", "path": "3"}, "2173": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP2", "path": "3"}, "2174": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "MUL", "path": "3"}, "2175": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP3", "path": "3"}, "2176": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "ADD", "path": "3"}, "2177": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP2", "path": "3"}, "2178": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "ADD", "path": "3"}, "2179": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "SWAP1", "path": "3"}, "2180": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "SWAP3", "path": "3"}, "2181": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "MSTORE", "path": "3"}, "2182": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP3", "path": "3"}, "2183": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP2", "path": "3"}, "2184": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "MSTORE", "path": "3"}, "2185": {"fn": "ERC721.baseURI", "offset": [5903, 5916], "op": "PUSH1", "path": "3", "value": "0x60"}, "2187": {"fn": "ERC721.baseURI", "offset": [5903, 5916], "op": "SWAP4", "path": "3"}, "2188": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "SWAP1", "path": "3"}, "2189": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "SWAP3", "path": "3"}, "2190": {"fn": "ERC721.baseURI", "offset": [5935, 5943], "op": "SWAP1", "path": "3"}, "2191": {"fn": "ERC721.baseURI", "offset": [5935, 5943], "op": "SWAP2", "path": "3"}, "2192": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP4", "path": "3"}, "2193": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "ADD", "path": "3"}, "2194": {"fn": "ERC721.baseURI", "offset": [5935, 5943], "op": "DUP3", "path": "3"}, "2195": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP3", "path": "3"}, "2196": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP1", "path": "3"}, "2197": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "ISZERO", "path": "3"}, "2198": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "PUSH2", "path": "3", "value": "0x60E"}, "2201": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "JUMPI", "path": "3"}, "2202": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP1", "path": "3"}, "2203": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "PUSH1", "path": "3", "value": "0x1F"}, "2205": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "LT", "path": "3"}, "2206": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "PUSH2", "path": "3", "value": "0x5E3"}, "2209": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "JUMPI", "path": "3"}, "2210": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "PUSH2", "path": "3", "value": "0x100"}, "2213": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP1", "path": "3"}, "2214": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP4", "path": "3"}, "2215": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "SLOAD", "path": "3"}, "2216": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DIV", "path": "3"}, "2217": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "MUL", "path": "3"}, "2218": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "DUP4", "path": "3"}, "2219": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "MSTORE", "path": "3"}, "2220": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "SWAP2", "path": "3"}, "2221": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "PUSH1", "path": "3", "value": "0x20"}, "2223": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "ADD", "path": "3"}, "2224": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "SWAP2", "path": "3"}, "2225": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "PUSH2", "path": "3", "value": "0x60E"}, "2228": {"fn": "ERC721.baseURI", "offset": [5928, 5943], "op": "JUMP", "path": "3"}, "2229": {"fn": "ERC721.balanceOf", "offset": [4005, 4223], "op": "JUMPDEST", "path": "3"}, "2230": {"fn": "ERC721.balanceOf", "offset": [4077, 4084], "op": "PUSH1", "path": "3", "value": "0x0"}, "2232": {"op": "PUSH1", "value": "0x1"}, "2234": {"op": "PUSH1", "value": "0x1"}, "2236": {"op": "PUSH1", "value": "0xA0"}, "2238": {"op": "SHL"}, "2239": {"op": "SUB"}, "2240": {"fn": "ERC721.balanceOf", "offset": [4104, 4123], "op": "DUP3", "path": "3", "statement": 14}, "2241": {"branch": 111, "fn": "ERC721.balanceOf", "offset": [4104, 4123], "op": "AND", "path": "3"}, "2242": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "PUSH2", "path": "3", "value": "0x8FC"}, "2245": {"branch": 111, "fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "JUMPI", "path": "3"}, "2246": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "PUSH1", "path": "3", "value": "0x40"}, "2248": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "MLOAD", "path": "3"}, "2249": {"op": "PUSH3", "value": "0x461BCD"}, "2253": {"op": "PUSH1", "value": "0xE5"}, "2255": {"op": "SHL"}, "2256": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "DUP2", "path": "3"}, "2257": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "MSTORE", "path": "3"}, "2258": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "PUSH1", "path": "3", "value": "0x4"}, "2260": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "ADD", "path": "3"}, "2261": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "DUP1", "path": "3"}, "2262": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "DUP1", "path": "3"}, "2263": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "PUSH1", "path": "3", "value": "0x20"}, "2265": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "ADD", "path": "3"}, "2266": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "DUP3", "path": "3"}, "2267": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "DUP2", "path": "3"}, "2268": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "SUB", "path": "3"}, "2269": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "DUP3", "path": "3"}, "2270": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "MSTORE", "path": "3"}, "2271": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "PUSH1", "path": "3", "value": "0x2A"}, "2273": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "DUP2", "path": "3"}, "2274": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "MSTORE", "path": "3"}, "2275": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "PUSH1", "path": "3", "value": "0x20"}, "2277": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "ADD", "path": "3"}, "2278": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "DUP1", "path": "3"}, "2279": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "PUSH2", "path": "3", "value": "0x1BFA"}, "2282": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "PUSH1", "path": "3", "value": "0x2A"}, "2284": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "SWAP2", "path": "3"}, "2285": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "CODECOPY", "path": "3"}, "2286": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "PUSH1", "path": "3", "value": "0x40"}, "2288": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "ADD", "path": "3"}, "2289": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "SWAP2", "path": "3"}, "2290": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "POP", "path": "3"}, "2291": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "POP", "path": "3"}, "2292": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "PUSH1", "path": "3", "value": "0x40"}, "2294": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "MLOAD", "path": "3"}, "2295": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "DUP1", "path": "3"}, "2296": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "SWAP2", "path": "3"}, "2297": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "SUB", "path": "3"}, "2298": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "SWAP1", "path": "3"}, "2299": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "REVERT", "path": "3"}, "2300": {"fn": "ERC721.balanceOf", "offset": [4096, 4170], "op": "JUMPDEST", "path": "3"}, "2301": {"op": "PUSH1", "value": "0x1"}, "2303": {"op": "PUSH1", "value": "0x1"}, "2305": {"op": "PUSH1", "value": "0xA0"}, "2307": {"op": "SHL"}, "2308": {"op": "SUB"}, "2309": {"fn": "ERC721.balanceOf", "offset": [4187, 4207], "op": "DUP3", "path": "3", "statement": 15}, "2310": {"fn": "ERC721.balanceOf", "offset": [4187, 4207], "op": "AND", "path": "3"}, "2311": {"fn": "ERC721.balanceOf", "offset": [4187, 4207], "op": "PUSH1", "path": "3", "value": "0x0"}, "2313": {"fn": "ERC721.balanceOf", "offset": [4187, 4207], "op": "SWAP1", "path": "3"}, "2314": {"fn": "ERC721.balanceOf", "offset": [4187, 4207], "op": "DUP2", "path": "3"}, "2315": {"fn": "ERC721.balanceOf", "offset": [4187, 4207], "op": "MSTORE", "path": "3"}, "2316": {"fn": "ERC721.balanceOf", "offset": [4187, 4200], "op": "PUSH1", "path": "3", "value": "0x1"}, "2318": {"fn": "ERC721.balanceOf", "offset": [4187, 4207], "op": "PUSH1", "path": "3", "value": "0x20"}, "2320": {"fn": "ERC721.balanceOf", "offset": [4187, 4207], "op": "MSTORE", "path": "3"}, "2321": {"fn": "ERC721.balanceOf", "offset": [4187, 4207], "op": "PUSH1", "path": "3", "value": "0x40"}, "2323": {"fn": "ERC721.balanceOf", "offset": [4187, 4207], "op": "SWAP1", "path": "3"}, "2324": {"fn": "ERC721.balanceOf", "offset": [4187, 4207], "op": "KECCAK256", "path": "3"}, "2325": {"fn": "ERC721.balanceOf", "offset": [4187, 4216], "op": "PUSH2", "path": "3", "value": "0x7E9"}, "2328": {"fn": "ERC721.balanceOf", "offset": [4187, 4216], "op": "SWAP1", "path": "3"}, "2329": {"fn": "ERC721.balanceOf", "offset": [4187, 4214], "op": "PUSH2", "path": "3", "value": "0xE47"}, "2332": {"fn": "ERC721.balanceOf", "jump": "i", "offset": [4187, 4216], "op": "JUMP", "path": "3"}, "2333": {"fn": "ERC721.symbol", "offset": [4679, 4781], "op": "JUMPDEST", "path": "3"}, "2334": {"fn": "ERC721.symbol", "offset": [4767, 4774], "op": "PUSH1", "path": "3", "statement": 16, "value": "0x7"}, "2336": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP1", "path": "3"}, "2337": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "SLOAD", "path": "3"}, "2338": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "PUSH1", "path": "3", "value": "0x40"}, "2340": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP1", "path": "3"}, "2341": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "MLOAD", "path": "3"}, "2342": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "PUSH1", "path": "3", "value": "0x20"}, "2344": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "PUSH1", "path": "3", "value": "0x1F"}, "2346": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "PUSH1", "path": "3", "value": "0x2"}, "2348": {"op": "PUSH1", "value": "0x0"}, "2350": {"op": "NOT"}, "2351": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "PUSH2", "path": "3", "value": "0x100"}, "2354": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "PUSH1", "path": "3", "value": "0x1"}, "2356": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP9", "path": "3"}, "2357": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "AND", "path": "3"}, "2358": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "ISZERO", "path": "3"}, "2359": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "MUL", "path": "3"}, "2360": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "ADD", "path": "3"}, "2361": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "SWAP1", "path": "3"}, "2362": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "SWAP6", "path": "3"}, "2363": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "AND", "path": "3"}, "2364": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "SWAP5", "path": "3"}, "2365": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "SWAP1", "path": "3"}, "2366": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "SWAP5", "path": "3"}, "2367": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DIV", "path": "3"}, "2368": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "SWAP4", "path": "3"}, "2369": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP5", "path": "3"}, "2370": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "ADD", "path": "3"}, "2371": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP2", "path": "3"}, "2372": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "SWAP1", "path": "3"}, "2373": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DIV", "path": "3"}, "2374": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP2", "path": "3"}, "2375": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "MUL", "path": "3"}, "2376": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP3", "path": "3"}, "2377": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "ADD", "path": "3"}, "2378": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP2", "path": "3"}, "2379": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "ADD", "path": "3"}, "2380": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "SWAP1", "path": "3"}, "2381": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "SWAP3", "path": "3"}, "2382": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "MSTORE", "path": "3"}, "2383": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP3", "path": "3"}, "2384": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP2", "path": "3"}, "2385": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "MSTORE", "path": "3"}, "2386": {"fn": "ERC721.symbol", "offset": [4735, 4748], "op": "PUSH1", "path": "3", "value": "0x60"}, "2388": {"fn": "ERC721.symbol", "offset": [4735, 4748], "op": "SWAP4", "path": "3"}, "2389": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "SWAP1", "path": "3"}, "2390": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "SWAP3", "path": "3"}, "2391": {"fn": "ERC721.symbol", "offset": [4767, 4774], "op": "SWAP1", "path": "3"}, "2392": {"fn": "ERC721.symbol", "offset": [4767, 4774], "op": "SWAP2", "path": "3"}, "2393": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP4", "path": "3"}, "2394": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "ADD", "path": "3"}, "2395": {"fn": "ERC721.symbol", "offset": [4767, 4774], "op": "DUP3", "path": "3"}, "2396": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP3", "path": "3"}, "2397": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP1", "path": "3"}, "2398": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "ISZERO", "path": "3"}, "2399": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "PUSH2", "path": "3", "value": "0x60E"}, "2402": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "JUMPI", "path": "3"}, "2403": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP1", "path": "3"}, "2404": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "PUSH1", "path": "3", "value": "0x1F"}, "2406": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "LT", "path": "3"}, "2407": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "PUSH2", "path": "3", "value": "0x5E3"}, "2410": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "JUMPI", "path": "3"}, "2411": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "PUSH2", "path": "3", "value": "0x100"}, "2414": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP1", "path": "3"}, "2415": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP4", "path": "3"}, "2416": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "SLOAD", "path": "3"}, "2417": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DIV", "path": "3"}, "2418": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "MUL", "path": "3"}, "2419": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "DUP4", "path": "3"}, "2420": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "MSTORE", "path": "3"}, "2421": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "SWAP2", "path": "3"}, "2422": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "PUSH1", "path": "3", "value": "0x20"}, "2424": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "ADD", "path": "3"}, "2425": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "SWAP2", "path": "3"}, "2426": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "PUSH2", "path": "3", "value": "0x60E"}, "2429": {"fn": "ERC721.symbol", "offset": [4760, 4774], "op": "JUMP", "path": "3"}, "2430": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "JUMPDEST", "path": "3"}, "2431": {"fn": "ERC721.setApprovalForAll", "offset": [7620, 7632], "op": "PUSH2", "path": "3", "statement": 17, "value": "0x986"}, "2434": {"fn": "ERC721.setApprovalForAll", "offset": [7620, 7630], "op": "PUSH2", "path": "3", "value": "0xDD5"}, "2437": {"fn": "ERC721.setApprovalForAll", "jump": "i", "offset": [7620, 7632], "op": "JUMP", "path": "3"}, "2438": {"fn": "ERC721.setApprovalForAll", "offset": [7620, 7632], "op": "JUMPDEST", "path": "3"}, "2439": {"op": "PUSH1", "value": "0x1"}, "2441": {"op": "PUSH1", "value": "0x1"}, "2443": {"op": "PUSH1", "value": "0xA0"}, "2445": {"op": "SHL"}, "2446": {"op": "SUB"}, "2447": {"fn": "ERC721.setApprovalForAll", "offset": [7608, 7632], "op": "AND", "path": "3"}, "2448": {"fn": "ERC721.setApprovalForAll", "offset": [7608, 7616], "op": "DUP3", "path": "3"}, "2449": {"op": "PUSH1", "value": "0x1"}, "2451": {"op": "PUSH1", "value": "0x1"}, "2453": {"op": "PUSH1", "value": "0xA0"}, "2455": {"op": "SHL"}, "2456": {"op": "SUB"}, "2457": {"fn": "ERC721.setApprovalForAll", "offset": [7608, 7632], "op": "AND", "path": "3"}, "2458": {"fn": "ERC721.setApprovalForAll", "offset": [7608, 7632], "op": "EQ", "path": "3"}, "2459": {"branch": 112, "fn": "ERC721.setApprovalForAll", "offset": [7608, 7632], "op": "ISZERO", "path": "3"}, "2460": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "PUSH2", "path": "3", "value": "0x9EC"}, "2463": {"branch": 112, "fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "JUMPI", "path": "3"}, "2464": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "PUSH1", "path": "3", "value": "0x40"}, "2466": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "DUP1", "path": "3"}, "2467": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "MLOAD", "path": "3"}, "2468": {"op": "PUSH3", "value": "0x461BCD"}, "2472": {"op": "PUSH1", "value": "0xE5"}, "2474": {"op": "SHL"}, "2475": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "DUP2", "path": "3"}, "2476": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "MSTORE", "path": "3"}, "2477": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "PUSH1", "path": "3", "value": "0x20"}, "2479": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "PUSH1", "path": "3", "value": "0x4"}, "2481": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "DUP3", "path": "3"}, "2482": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "ADD", "path": "3"}, "2483": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "MSTORE", "path": "3"}, "2484": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "PUSH1", "path": "3", "value": "0x19"}, "2486": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "PUSH1", "path": "3", "value": "0x24"}, "2488": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "DUP3", "path": "3"}, "2489": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "ADD", "path": "3"}, "2490": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "MSTORE", "path": "3"}, "2491": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "PUSH32", "path": "3", "value": "0x4552433732313A20617070726F766520746F2063616C6C657200000000000000"}, "2524": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "PUSH1", "path": "3", "value": "0x44"}, "2526": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "DUP3", "path": "3"}, "2527": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "ADD", "path": "3"}, "2528": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "MSTORE", "path": "3"}, "2529": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "SWAP1", "path": "3"}, "2530": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "MLOAD", "path": "3"}, "2531": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "SWAP1", "path": "3"}, "2532": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "DUP2", "path": "3"}, "2533": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "SWAP1", "path": "3"}, "2534": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "SUB", "path": "3"}, "2535": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "PUSH1", "path": "3", "value": "0x64"}, "2537": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "ADD", "path": "3"}, "2538": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "SWAP1", "path": "3"}, "2539": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "REVERT", "path": "3"}, "2540": {"fn": "ERC721.setApprovalForAll", "offset": [7600, 7662], "op": "JUMPDEST", "path": "3"}, "2541": {"fn": "ERC721.setApprovalForAll", "offset": [7718, 7726], "op": "DUP1", "path": "3", "statement": 18}, "2542": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7691], "op": "PUSH1", "path": "3", "value": "0x5"}, "2544": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "PUSH1", "path": "3", "value": "0x0"}, "2546": {"fn": "ERC721.setApprovalForAll", "offset": [7692, 7704], "op": "PUSH2", "path": "3", "value": "0x9F9"}, "2549": {"fn": "ERC721.setApprovalForAll", "offset": [7692, 7702], "op": "PUSH2", "path": "3", "value": "0xDD5"}, "2552": {"fn": "ERC721.setApprovalForAll", "jump": "i", "offset": [7692, 7704], "op": "JUMP", "path": "3"}, "2553": {"fn": "ERC721.setApprovalForAll", "offset": [7692, 7704], "op": "JUMPDEST", "path": "3"}, "2554": {"op": "PUSH1", "value": "0x1"}, "2556": {"op": "PUSH1", "value": "0x1"}, "2558": {"op": "PUSH1", "value": "0xA0"}, "2560": {"op": "SHL"}, "2561": {"op": "SUB"}, "2562": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "SWAP1", "path": "3"}, "2563": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "DUP2", "path": "3"}, "2564": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "AND", "path": "3"}, "2565": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "DUP3", "path": "3"}, "2566": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "MSTORE", "path": "3"}, "2567": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "PUSH1", "path": "3", "value": "0x20"}, "2569": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "DUP1", "path": "3"}, "2570": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "DUP4", "path": "3"}, "2571": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "ADD", "path": "3"}, "2572": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "SWAP4", "path": "3"}, "2573": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "SWAP1", "path": "3"}, "2574": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "SWAP4", "path": "3"}, "2575": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "MSTORE", "path": "3"}, "2576": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "PUSH1", "path": "3", "value": "0x40"}, "2578": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "SWAP2", "path": "3"}, "2579": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "DUP3", "path": "3"}, "2580": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "ADD", "path": "3"}, "2581": {"op": "PUSH1", "value": "0x0"}, "2583": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "SWAP1", "path": "3"}, "2584": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "DUP2", "path": "3"}, "2585": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7705], "op": "KECCAK256", "path": "3"}, "2586": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7715], "op": "SWAP2", "path": "3"}, "2587": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7715], "op": "DUP8", "path": "3"}, "2588": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7715], "op": "AND", "path": "3"}, "2589": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7715], "op": "DUP1", "path": "3"}, "2590": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7715], "op": "DUP3", "path": "3"}, "2591": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7715], "op": "MSTORE", "path": "3"}, "2592": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7715], "op": "SWAP2", "path": "3"}, "2593": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7715], "op": "SWAP1", "path": "3"}, "2594": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7715], "op": "SWAP4", "path": "3"}, "2595": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7715], "op": "MSTORE", "path": "3"}, "2596": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7715], "op": "SWAP2", "path": "3"}, "2597": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7715], "op": "KECCAK256", "path": "3"}, "2598": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7726], "op": "DUP1", "path": "3"}, "2599": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7726], "op": "SLOAD", "path": "3"}, "2600": {"op": "PUSH1", "value": "0xFF"}, "2602": {"op": "NOT"}, "2603": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7726], "op": "AND", "path": "3"}, "2604": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7726], "op": "SWAP3", "path": "3"}, "2605": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7726], "op": "ISZERO", "path": "3"}, "2606": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7726], "op": "ISZERO", "path": "3"}, "2607": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7726], "op": "SWAP3", "path": "3"}, "2608": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7726], "op": "SWAP1", "path": "3"}, "2609": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7726], "op": "SWAP3", "path": "3"}, "2610": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7726], "op": "OR", "path": "3"}, "2611": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7726], "op": "SWAP1", "path": "3"}, "2612": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7726], "op": "SWAP2", "path": "3"}, "2613": {"fn": "ERC721.setApprovalForAll", "offset": [7673, 7726], "op": "SSTORE", "path": "3"}, "2614": {"fn": "ERC721.setApprovalForAll", "offset": [7756, 7768], "op": "PUSH2", "path": "3", "statement": 19, "value": "0xA3D"}, "2617": {"fn": "ERC721.setApprovalForAll", "offset": [7756, 7766], "op": "PUSH2", "path": "3", "value": "0xDD5"}, "2620": {"fn": "ERC721.setApprovalForAll", "jump": "i", "offset": [7756, 7768], "op": "JUMP", "path": "3"}, "2621": {"fn": "ERC721.setApprovalForAll", "offset": [7756, 7768], "op": "JUMPDEST", "path": "3"}, "2622": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "PUSH1", "path": "3", "value": "0x40"}, "2624": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "DUP1", "path": "3"}, "2625": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "MLOAD", "path": "3"}, "2626": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "DUP5", "path": "3"}, "2627": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "ISZERO", "path": "3"}, "2628": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "ISZERO", "path": "3"}, "2629": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "DUP2", "path": "3"}, "2630": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "MSTORE", "path": "3"}, "2631": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "SWAP1", "path": "3"}, "2632": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "MLOAD", "path": "3"}, "2633": {"op": "PUSH1", "value": "0x1"}, "2635": {"op": "PUSH1", "value": "0x1"}, "2637": {"op": "PUSH1", "value": "0xA0"}, "2639": {"op": "SHL"}, "2640": {"op": "SUB"}, "2641": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "SWAP3", "path": "3"}, "2642": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "SWAP1", "path": "3"}, "2643": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "SWAP3", "path": "3"}, "2644": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "AND", "path": "3"}, "2645": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "SWAP2", "path": "3"}, "2646": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "PUSH32", "path": "3", "value": "0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31"}, "2679": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "SWAP2", "path": "3"}, "2680": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "DUP2", "path": "3"}, "2681": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "SWAP1", "path": "3"}, "2682": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "SUB", "path": "3"}, "2683": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "PUSH1", "path": "3", "value": "0x20"}, "2685": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "ADD", "path": "3"}, "2686": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "SWAP1", "path": "3"}, "2687": {"fn": "ERC721.setApprovalForAll", "offset": [7741, 7789], "op": "LOG3", "path": "3"}, "2688": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "POP", "path": "3"}, "2689": {"fn": "ERC721.setApprovalForAll", "offset": [7506, 7796], "op": "POP", "path": "3"}, "2690": {"fn": "ERC721.setApprovalForAll", "jump": "o", "offset": [7506, 7796], "op": "JUMP", "path": "3"}, "2691": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "JUMPDEST", "path": "13"}, "2692": {"fn": "SimpleCollectible.createCollectible", "offset": [447, 459], "op": "PUSH1", "path": "13", "value": "0xA"}, "2694": {"fn": "SimpleCollectible.createCollectible", "offset": [447, 459], "op": "SLOAD", "path": "13"}, "2695": {"fn": "SimpleCollectible.createCollectible", "offset": [407, 414], "op": "PUSH1", "path": "13", "value": "0x0"}, "2697": {"fn": "SimpleCollectible.createCollectible", "offset": [407, 414], "op": "SWAP1", "path": "13"}, "2698": {"fn": "SimpleCollectible.createCollectible", "offset": [469, 510], "op": "PUSH2", "path": "13", "statement": 20, "value": "0xA93"}, "2701": {"fn": "SimpleCollectible.createCollectible", "offset": [487, 496], "op": "DUP4", "path": "13"}, "2702": {"fn": "SimpleCollectible.createCollectible", "offset": [447, 459], "op": "DUP3", "path": "13"}, "2703": {"fn": "SimpleCollectible.createCollectible", "offset": [469, 478], "op": "PUSH2", "path": "13", "value": "0x1093"}, "2706": {"fn": "SimpleCollectible.createCollectible", "jump": "i", "offset": [469, 510], "op": "JUMP", "path": "13"}, "2707": {"fn": "SimpleCollectible.createCollectible", "offset": [469, 510], "op": "JUMPDEST", "path": "13"}, "2708": {"fn": "SimpleCollectible.createCollectible", "offset": [520, 554], "op": "PUSH2", "path": "13", "statement": 21, "value": "0xA9D"}, "2711": {"fn": "SimpleCollectible.createCollectible", "offset": [533, 543], "op": "DUP2", "path": "13"}, "2712": {"fn": "SimpleCollectible.createCollectible", "offset": [545, 553], "op": "DUP6", "path": "13"}, "2713": {"fn": "SimpleCollectible.createCollectible", "offset": [520, 532], "op": "PUSH2", "path": "13", "value": "0x10B1"}, "2716": {"fn": "SimpleCollectible.createCollectible", "jump": "i", "offset": [520, 554], "op": "JUMP", "path": "13"}, "2717": {"fn": "SimpleCollectible.createCollectible", "offset": [520, 554], "op": "JUMPDEST", "path": "13"}, "2718": {"fn": "SimpleCollectible.createCollectible", "offset": [579, 591], "op": "PUSH1", "path": "13", "statement": 22, "value": "0xA"}, "2720": {"fn": "SimpleCollectible.createCollectible", "offset": [579, 591], "op": "DUP1", "path": "13"}, "2721": {"fn": "SimpleCollectible.createCollectible", "offset": [579, 591], "op": "SLOAD", "path": "13"}, "2722": {"fn": "SimpleCollectible.createCollectible", "offset": [594, 595], "op": "PUSH1", "path": "13", "value": "0x1"}, "2724": {"fn": "SimpleCollectible.createCollectible", "offset": [579, 595], "op": "ADD", "path": "13"}, "2725": {"fn": "SimpleCollectible.createCollectible", "offset": [564, 595], "op": "SWAP1", "path": "13"}, "2726": {"fn": "SimpleCollectible.createCollectible", "offset": [564, 595], "op": "SSTORE", "path": "13"}, "2727": {"fn": "SimpleCollectible.createCollectible", "offset": [612, 622], "op": "SWAP4", "path": "13", "statement": 23}, "2728": {"fn": "SimpleCollectible.createCollectible", "offset": [299, 629], "op": "SWAP3", "path": "13"}, "2729": {"op": "POP"}, "2730": {"op": "POP"}, "2731": {"op": "POP"}, "2732": {"fn": "SimpleCollectible.createCollectible", "jump": "o", "offset": [299, 629], "op": "JUMP", "path": "13"}, "2733": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "JUMPDEST", "path": "3"}, "2734": {"fn": "ERC721.safeTransferFrom", "offset": [8798, 8839], "op": "PUSH2", "path": "3", "statement": 24, "value": "0xABE"}, "2737": {"fn": "ERC721.safeTransferFrom", "offset": [8817, 8829], "op": "PUSH2", "path": "3", "value": "0xAB8"}, "2740": {"fn": "ERC721.safeTransferFrom", "offset": [8817, 8827], "op": "PUSH2", "path": "3", "value": "0xDD5"}, "2743": {"fn": "ERC721.safeTransferFrom", "jump": "i", "offset": [8817, 8829], "op": "JUMP", "path": "3"}, "2744": {"fn": "ERC721.safeTransferFrom", "offset": [8817, 8829], "op": "JUMPDEST", "path": "3"}, "2745": {"fn": "ERC721.safeTransferFrom", "offset": [8831, 8838], "op": "DUP4", "path": "3"}, "2746": {"fn": "ERC721.safeTransferFrom", "offset": [8798, 8816], "op": "PUSH2", "path": "3", "value": "0xE52"}, "2749": {"fn": "ERC721.safeTransferFrom", "jump": "i", "offset": [8798, 8839], "op": "JUMP", "path": "3"}, "2750": {"branch": 113, "fn": "ERC721.safeTransferFrom", "offset": [8798, 8839], "op": "JUMPDEST", "path": "3"}, "2751": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "PUSH2", "path": "3", "value": "0xAF9"}, "2754": {"branch": 113, "fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "JUMPI", "path": "3"}, "2755": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "PUSH1", "path": "3", "value": "0x40"}, "2757": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "MLOAD", "path": "3"}, "2758": {"op": "PUSH3", "value": "0x461BCD"}, "2762": {"op": "PUSH1", "value": "0xE5"}, "2764": {"op": "SHL"}, "2765": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "DUP2", "path": "3"}, "2766": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "MSTORE", "path": "3"}, "2767": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "PUSH1", "path": "3", "value": "0x4"}, "2769": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "ADD", "path": "3"}, "2770": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "DUP1", "path": "3"}, "2771": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "DUP1", "path": "3"}, "2772": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "PUSH1", "path": "3", "value": "0x20"}, "2774": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "ADD", "path": "3"}, "2775": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "DUP3", "path": "3"}, "2776": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "DUP2", "path": "3"}, "2777": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "SUB", "path": "3"}, "2778": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "DUP3", "path": "3"}, "2779": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "MSTORE", "path": "3"}, "2780": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "PUSH1", "path": "3", "value": "0x31"}, "2782": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "DUP2", "path": "3"}, "2783": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "MSTORE", "path": "3"}, "2784": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "PUSH1", "path": "3", "value": "0x20"}, "2786": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "ADD", "path": "3"}, "2787": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "DUP1", "path": "3"}, "2788": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "PUSH2", "path": "3", "value": "0x1D40"}, "2791": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "PUSH1", "path": "3", "value": "0x31"}, "2793": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "SWAP2", "path": "3"}, "2794": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "CODECOPY", "path": "3"}, "2795": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "PUSH1", "path": "3", "value": "0x40"}, "2797": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "ADD", "path": "3"}, "2798": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "SWAP2", "path": "3"}, "2799": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "POP", "path": "3"}, "2800": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "POP", "path": "3"}, "2801": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "PUSH1", "path": "3", "value": "0x40"}, "2803": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "MLOAD", "path": "3"}, "2804": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "DUP1", "path": "3"}, "2805": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "SWAP2", "path": "3"}, "2806": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "SUB", "path": "3"}, "2807": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "SWAP1", "path": "3"}, "2808": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "REVERT", "path": "3"}, "2809": {"fn": "ERC721.safeTransferFrom", "offset": [8790, 8893], "op": "JUMPDEST", "path": "3"}, "2810": {"fn": "ERC721.safeTransferFrom", "offset": [8903, 8942], "op": "PUSH2", "path": "3", "statement": 25, "value": "0xB05"}, "2813": {"fn": "ERC721.safeTransferFrom", "offset": [8917, 8921], "op": "DUP5", "path": "3"}, "2814": {"fn": "ERC721.safeTransferFrom", "offset": [8923, 8925], "op": "DUP5", "path": "3"}, "2815": {"fn": "ERC721.safeTransferFrom", "offset": [8927, 8934], "op": "DUP5", "path": "3"}, "2816": {"fn": "ERC721.safeTransferFrom", "offset": [8936, 8941], "op": "DUP5", "path": "3"}, "2817": {"fn": "ERC721.safeTransferFrom", "offset": [8903, 8916], "op": "PUSH2", "path": "3", "value": "0x1114"}, "2820": {"fn": "ERC721.safeTransferFrom", "jump": "i", "offset": [8903, 8942], "op": "JUMP", "path": "3"}, "2821": {"fn": "ERC721.safeTransferFrom", "offset": [8903, 8942], "op": "JUMPDEST", "path": "3"}, "2822": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "POP", "path": "3"}, "2823": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "POP", "path": "3"}, "2824": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "POP", "path": "3"}, "2825": {"fn": "ERC721.safeTransferFrom", "offset": [8667, 8949], "op": "POP", "path": "3"}, "2826": {"fn": "ERC721.safeTransferFrom", "jump": "o", "offset": [8667, 8949], "op": "JUMP", "path": "3"}, "2827": {"fn": "ERC721.tokenURI", "offset": [4847, 5623], "op": "JUMPDEST", "path": "3"}, "2828": {"fn": "ERC721.tokenURI", "offset": [4920, 4933], "op": "PUSH1", "path": "3", "value": "0x60"}, "2830": {"fn": "ERC721.tokenURI", "offset": [4953, 4969], "op": "PUSH2", "path": "3", "statement": 26, "value": "0xB16"}, "2833": {"fn": "ERC721.tokenURI", "offset": [4961, 4968], "op": "DUP3", "path": "3"}, "2834": {"fn": "ERC721.tokenURI", "offset": [4953, 4960], "op": "PUSH2", "path": "3", "value": "0xDC2"}, "2837": {"fn": "ERC721.tokenURI", "jump": "i", "offset": [4953, 4969], "op": "JUMP", "path": "3"}, "2838": {"branch": 114, "fn": "ERC721.tokenURI", "offset": [4953, 4969], "op": "JUMPDEST", "path": "3"}, "2839": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "PUSH2", "path": "3", "value": "0xB51"}, "2842": {"branch": 114, "fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "JUMPI", "path": "3"}, "2843": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "PUSH1", "path": "3", "value": "0x40"}, "2845": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "MLOAD", "path": "3"}, "2846": {"op": "PUSH3", "value": "0x461BCD"}, "2850": {"op": "PUSH1", "value": "0xE5"}, "2852": {"op": "SHL"}, "2853": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "DUP2", "path": "3"}, "2854": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "MSTORE", "path": "3"}, "2855": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "PUSH1", "path": "3", "value": "0x4"}, "2857": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "ADD", "path": "3"}, "2858": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "DUP1", "path": "3"}, "2859": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "DUP1", "path": "3"}, "2860": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "PUSH1", "path": "3", "value": "0x20"}, "2862": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "ADD", "path": "3"}, "2863": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "DUP3", "path": "3"}, "2864": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "DUP2", "path": "3"}, "2865": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "SUB", "path": "3"}, "2866": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "DUP3", "path": "3"}, "2867": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "MSTORE", "path": "3"}, "2868": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "PUSH1", "path": "3", "value": "0x2F"}, "2870": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "DUP2", "path": "3"}, "2871": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "MSTORE", "path": "3"}, "2872": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "PUSH1", "path": "3", "value": "0x20"}, "2874": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "ADD", "path": "3"}, "2875": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "DUP1", "path": "3"}, "2876": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "PUSH2", "path": "3", "value": "0x1CF0"}, "2879": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "PUSH1", "path": "3", "value": "0x2F"}, "2881": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "SWAP2", "path": "3"}, "2882": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "CODECOPY", "path": "3"}, "2883": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "PUSH1", "path": "3", "value": "0x40"}, "2885": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "ADD", "path": "3"}, "2886": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "SWAP2", "path": "3"}, "2887": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "POP", "path": "3"}, "2888": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "POP", "path": "3"}, "2889": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "PUSH1", "path": "3", "value": "0x40"}, "2891": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "MLOAD", "path": "3"}, "2892": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "DUP1", "path": "3"}, "2893": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "SWAP2", "path": "3"}, "2894": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "SUB", "path": "3"}, "2895": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "SWAP1", "path": "3"}, "2896": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "REVERT", "path": "3"}, "2897": {"fn": "ERC721.tokenURI", "offset": [4945, 5021], "op": "JUMPDEST", "path": "3"}, "2898": {"fn": "ERC721.tokenURI", "offset": [5058, 5077], "op": "PUSH1", "path": "3", "value": "0x0"}, "2900": {"fn": "ERC721.tokenURI", "offset": [5058, 5077], "op": "DUP3", "path": "3"}, "2901": {"fn": "ERC721.tokenURI", "offset": [5058, 5077], "op": "DUP2", "path": "3"}, "2902": {"fn": "ERC721.tokenURI", "offset": [5058, 5077], "op": "MSTORE", "path": "3"}, "2903": {"fn": "ERC721.tokenURI", "offset": [5058, 5068], "op": "PUSH1", "path": "3", "value": "0x8"}, "2905": {"fn": "ERC721.tokenURI", "offset": [5058, 5077], "op": "PUSH1", "path": "3", "value": "0x20"}, "2907": {"fn": "ERC721.tokenURI", "offset": [5058, 5077], "op": "SWAP1", "path": "3"}, "2908": {"fn": "ERC721.tokenURI", "offset": [5058, 5077], "op": "DUP2", "path": "3"}, "2909": {"fn": "ERC721.tokenURI", "offset": [5058, 5077], "op": "MSTORE", "path": "3"}, "2910": {"fn": "ERC721.tokenURI", "offset": [5058, 5077], "op": "PUSH1", "path": "3", "value": "0x40"}, "2912": {"fn": "ERC721.tokenURI", "offset": [5058, 5077], "op": "SWAP2", "path": "3"}, "2913": {"fn": "ERC721.tokenURI", "offset": [5058, 5077], "op": "DUP3", "path": "3"}, "2914": {"fn": "ERC721.tokenURI", "offset": [5058, 5077], "op": "SWAP1", "path": "3"}, "2915": {"fn": "ERC721.tokenURI", "offset": [5058, 5077], "op": "KECCAK256", "path": "3"}, "2916": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP1", "path": "3"}, "2917": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SLOAD", "path": "3"}, "2918": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP4", "path": "3"}, "2919": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "MLOAD", "path": "3"}, "2920": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH1", "path": "3", "value": "0x1F"}, "2922": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH1", "path": "3", "value": "0x2"}, "2924": {"op": "PUSH1", "value": "0x0"}, "2926": {"op": "NOT"}, "2927": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH2", "path": "3", "value": "0x100"}, "2930": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH1", "path": "3", "value": "0x1"}, "2932": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP7", "path": "3"}, "2933": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "AND", "path": "3"}, "2934": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "ISZERO", "path": "3"}, "2935": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "MUL", "path": "3"}, "2936": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "ADD", "path": "3"}, "2937": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP1", "path": "3"}, "2938": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP4", "path": "3"}, "2939": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "AND", "path": "3"}, "2940": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP3", "path": "3"}, "2941": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP1", "path": "3"}, "2942": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP3", "path": "3"}, "2943": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DIV", "path": "3"}, "2944": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP2", "path": "3"}, "2945": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP3", "path": "3"}, "2946": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "ADD", "path": "3"}, "2947": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP5", "path": "3"}, "2948": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP1", "path": "3"}, "2949": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DIV", "path": "3"}, "2950": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP5", "path": "3"}, "2951": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "MUL", "path": "3"}, "2952": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP2", "path": "3"}, "2953": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "ADD", "path": "3"}, "2954": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP5", "path": "3"}, "2955": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "ADD", "path": "3"}, "2956": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP1", "path": "3"}, "2957": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP5", "path": "3"}, "2958": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "MSTORE", "path": "3"}, "2959": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP1", "path": "3"}, "2960": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP5", "path": "3"}, "2961": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "MSTORE", "path": "3"}, "2962": {"fn": "ERC721.tokenURI", "offset": [5032, 5055], "op": "PUSH1", "path": "3", "value": "0x60"}, "2964": {"fn": "ERC721.tokenURI", "offset": [5032, 5055], "op": "SWAP4", "path": "3"}, "2965": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP3", "path": "3"}, "2966": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP4", "path": "3"}, "2967": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "ADD", "path": "3"}, "2968": {"fn": "ERC721.tokenURI", "offset": [5058, 5077], "op": "DUP3", "path": "3"}, "2969": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP3", "path": "3"}, "2970": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP1", "path": "3"}, "2971": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "ISZERO", "path": "3"}, "2972": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH2", "path": "3", "value": "0xBE6"}, "2975": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "JUMPI", "path": "3"}, "2976": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP1", "path": "3"}, "2977": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH1", "path": "3", "value": "0x1F"}, "2979": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "LT", "path": "3"}, "2980": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH2", "path": "3", "value": "0xBBB"}, "2983": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "JUMPI", "path": "3"}, "2984": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH2", "path": "3", "value": "0x100"}, "2987": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP1", "path": "3"}, "2988": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP4", "path": "3"}, "2989": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SLOAD", "path": "3"}, "2990": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DIV", "path": "3"}, "2991": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "MUL", "path": "3"}, "2992": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP4", "path": "3"}, "2993": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "MSTORE", "path": "3"}, "2994": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP2", "path": "3"}, "2995": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH1", "path": "3", "value": "0x20"}, "2997": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "ADD", "path": "3"}, "2998": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP2", "path": "3"}, "2999": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH2", "path": "3", "value": "0xBE6"}, "3002": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "JUMP", "path": "3"}, "3003": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "JUMPDEST", "path": "3"}, "3004": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP3", "path": "3"}, "3005": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "ADD", "path": "3"}, "3006": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP2", "path": "3"}, "3007": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP1", "path": "3"}, "3008": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH1", "path": "3", "value": "0x0"}, "3010": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "MSTORE", "path": "3"}, "3011": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH1", "path": "3", "value": "0x20"}, "3013": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH1", "path": "3", "value": "0x0"}, "3015": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "KECCAK256", "path": "3"}, "3016": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP1", "path": "3"}, "3017": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "JUMPDEST", "path": "3"}, "3018": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP2", "path": "3"}, "3019": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SLOAD", "path": "3"}, "3020": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP2", "path": "3"}, "3021": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "MSTORE", "path": "3"}, "3022": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP1", "path": "3"}, "3023": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH1", "path": "3", "value": "0x1"}, "3025": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "ADD", "path": "3"}, "3026": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP1", "path": "3"}, "3027": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH1", "path": "3", "value": "0x20"}, "3029": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "ADD", "path": "3"}, "3030": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP1", "path": "3"}, "3031": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP4", "path": "3"}, "3032": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "GT", "path": "3"}, "3033": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH2", "path": "3", "value": "0xBC9"}, "3036": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "JUMPI", "path": "3"}, "3037": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP3", "path": "3"}, "3038": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP1", "path": "3"}, "3039": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SUB", "path": "3"}, "3040": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "PUSH1", "path": "3", "value": "0x1F"}, "3042": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "AND", "path": "3"}, "3043": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "DUP3", "path": "3"}, "3044": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "ADD", "path": "3"}, "3045": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP2", "path": "3"}, "3046": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "JUMPDEST", "path": "3"}, "3047": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "POP", "path": "3"}, "3048": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "POP", "path": "3"}, "3049": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "POP", "path": "3"}, "3050": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "POP", "path": "3"}, "3051": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "POP", "path": "3"}, "3052": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "SWAP1", "path": "3"}, "3053": {"fn": "ERC721.tokenURI", "offset": [5032, 5077], "op": "POP", "path": "3"}, "3054": {"fn": "ERC721.tokenURI", "offset": [5087, 5105], "op": "PUSH1", "path": "3", "value": "0x60"}, "3056": {"fn": "ERC721.tokenURI", "offset": [5108, 5117], "op": "PUSH2", "path": "3", "value": "0xBF7"}, "3059": {"fn": "ERC721.tokenURI", "offset": [5108, 5115], "op": "PUSH2", "path": "3", "value": "0x854"}, "3062": {"fn": "ERC721.tokenURI", "jump": "i", "offset": [5108, 5117], "op": "JUMP", "path": "3"}, "3063": {"fn": "ERC721.tokenURI", "offset": [5108, 5117], "op": "JUMPDEST", "path": "3"}, "3064": {"fn": "ERC721.tokenURI", "offset": [5087, 5117], "op": "SWAP1", "path": "3"}, "3065": {"fn": "ERC721.tokenURI", "offset": [5087, 5117], "op": "POP", "path": "3"}, "3066": {"fn": "ERC721.tokenURI", "offset": [5196, 5200], "op": "DUP1", "path": "3"}, "3067": {"fn": "ERC721.tokenURI", "offset": [5190, 5208], "op": "MLOAD", "path": "3"}, "3068": {"fn": "ERC721.tokenURI", "offset": [5212, 5213], "op": "PUSH1", "path": "3", "value": "0x0"}, "3070": {"branch": 115, "fn": "ERC721.tokenURI", "offset": [5190, 5213], "op": "EQ", "path": "3"}, "3071": {"fn": "ERC721.tokenURI", "offset": [5186, 5256], "op": "ISZERO", "path": "3"}, "3072": {"fn": "ERC721.tokenURI", "offset": [5186, 5256], "op": "PUSH2", "path": "3", "value": "0xC0B"}, "3075": {"branch": 115, "fn": "ERC721.tokenURI", "offset": [5186, 5256], "op": "JUMPI", "path": "3"}, "3076": {"op": "POP"}, "3077": {"fn": "ERC721.tokenURI", "offset": [5236, 5245], "op": "SWAP1", "path": "3", "statement": 27}, "3078": {"op": "POP"}, "3079": {"fn": "ERC721.tokenURI", "offset": [5229, 5245], "op": "PUSH2", "path": "3", "value": "0x57D"}, "3082": {"fn": "ERC721.tokenURI", "offset": [5229, 5245], "op": "JUMP", "path": "3"}, "3083": {"fn": "ERC721.tokenURI", "offset": [5186, 5256], "op": "JUMPDEST", "path": "3"}, "3084": {"fn": "ERC721.tokenURI", "offset": [5358, 5381], "op": "DUP2", "path": "3"}, "3085": {"fn": "ERC721.tokenURI", "offset": [5358, 5381], "op": "MLOAD", "path": "3"}, "3086": {"branch": 116, "fn": "ERC721.tokenURI", "offset": [5358, 5385], "op": "ISZERO", "path": "3"}, "3087": {"fn": "ERC721.tokenURI", "offset": [5354, 5460], "op": "PUSH2", "path": "3", "value": "0xCCC"}, "3090": {"branch": 116, "fn": "ERC721.tokenURI", "offset": [5354, 5460], "op": "JUMPI", "path": "3"}, "3091": {"fn": "ERC721.tokenURI", "offset": [5432, 5436], "op": "DUP1", "path": "3", "statement": 28}, "3092": {"fn": "ERC721.tokenURI", "offset": [5438, 5447], "op": "DUP3", "path": "3"}, "3093": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "PUSH1", "path": "3", "value": "0x40"}, "3095": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "MLOAD", "path": "3"}, "3096": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "PUSH1", "path": "3", "value": "0x20"}, "3098": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "ADD", "path": "3"}, "3099": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "DUP1", "path": "3"}, "3100": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "DUP4", "path": "3"}, "3101": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "DUP1", "path": "3"}, "3102": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "MLOAD", "path": "3"}, "3103": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "SWAP1", "path": "3"}, "3104": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "PUSH1", "path": "3", "value": "0x20"}, "3106": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "ADD", "path": "3"}, "3107": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "SWAP1", "path": "3"}, "3108": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "DUP1", "path": "3"}, "3109": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "DUP4", "path": "3"}, "3110": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "DUP4", "path": "3"}, "3111": {"op": "JUMPDEST"}, "3112": {"op": "PUSH1", "value": "0x20"}, "3114": {"op": "DUP4"}, "3115": {"op": "LT"}, "3116": {"op": "PUSH2", "value": "0xC46"}, "3119": {"op": "JUMPI"}, "3120": {"op": "DUP1"}, "3121": {"op": "MLOAD"}, "3122": {"op": "DUP3"}, "3123": {"op": "MSTORE"}, "3124": {"op": "PUSH1", "value": "0x1F"}, "3126": {"op": "NOT"}, "3127": {"op": "SWAP1"}, "3128": {"op": "SWAP3"}, "3129": {"op": "ADD"}, "3130": {"op": "SWAP2"}, "3131": {"op": "PUSH1", "value": "0x20"}, "3133": {"op": "SWAP2"}, "3134": {"op": "DUP3"}, "3135": {"op": "ADD"}, "3136": {"op": "SWAP2"}, "3137": {"op": "ADD"}, "3138": {"op": "PUSH2", "value": "0xC27"}, "3141": {"op": "JUMP"}, "3142": {"op": "JUMPDEST"}, "3143": {"op": "MLOAD"}, "3144": {"op": "DUP2"}, "3145": {"op": "MLOAD"}, "3146": {"op": "PUSH1", "value": "0x20"}, "3148": {"op": "SWAP4"}, "3149": {"op": "DUP5"}, "3150": {"op": "SUB"}, "3151": {"op": "PUSH2", "value": "0x100"}, "3154": {"op": "EXP"}, "3155": {"op": "PUSH1", "value": "0x0"}, "3157": {"op": "NOT"}, "3158": {"op": "ADD"}, "3159": {"op": "DUP1"}, "3160": {"op": "NOT"}, "3161": {"op": "SWAP1"}, "3162": {"op": "SWAP3"}, "3163": {"op": "AND"}, "3164": {"op": "SWAP2"}, "3165": {"op": "AND"}, "3166": {"op": "OR"}, "3167": {"op": "SWAP1"}, "3168": {"op": "MSTORE"}, "3169": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "DUP6", "path": "3"}, "3170": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "MLOAD", "path": "3"}, "3171": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "SWAP2", "path": "3"}, "3172": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "SWAP1", "path": "3"}, "3173": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "SWAP4", "path": "3"}, "3174": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "ADD", "path": "3"}, "3175": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "SWAP3", "path": "3"}, "3176": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "DUP6", "path": "3"}, "3177": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "ADD", "path": "3"}, "3178": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "SWAP2", "path": "3"}, "3179": {"op": "POP"}, "3180": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "DUP1", "path": "3"}, "3181": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "DUP4", "path": "3"}, "3182": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "DUP4", "path": "3"}, "3183": {"op": "JUMPDEST"}, "3184": {"op": "PUSH1", "value": "0x20"}, "3186": {"op": "DUP4"}, "3187": {"op": "LT"}, "3188": {"op": "PUSH2", "value": "0xC8E"}, "3191": {"op": "JUMPI"}, "3192": {"op": "DUP1"}, "3193": {"op": "MLOAD"}, "3194": {"op": "DUP3"}, "3195": {"op": "MSTORE"}, "3196": {"op": "PUSH1", "value": "0x1F"}, "3198": {"op": "NOT"}, "3199": {"op": "SWAP1"}, "3200": {"op": "SWAP3"}, "3201": {"op": "ADD"}, "3202": {"op": "SWAP2"}, "3203": {"op": "PUSH1", "value": "0x20"}, "3205": {"op": "SWAP2"}, "3206": {"op": "DUP3"}, "3207": {"op": "ADD"}, "3208": {"op": "SWAP2"}, "3209": {"op": "ADD"}, "3210": {"op": "PUSH2", "value": "0xC6F"}, "3213": {"op": "JUMP"}, "3214": {"op": "JUMPDEST"}, "3215": {"op": "PUSH1", "value": "0x1"}, "3217": {"op": "DUP4"}, "3218": {"op": "PUSH1", "value": "0x20"}, "3220": {"op": "SUB"}, "3221": {"op": "PUSH2", "value": "0x100"}, "3224": {"op": "EXP"}, "3225": {"op": "SUB"}, "3226": {"op": "DUP1"}, "3227": {"op": "NOT"}, "3228": {"op": "DUP3"}, "3229": {"op": "MLOAD"}, "3230": {"op": "AND"}, "3231": {"op": "DUP2"}, "3232": {"op": "DUP5"}, "3233": {"op": "MLOAD"}, "3234": {"op": "AND"}, "3235": {"op": "DUP1"}, "3236": {"op": "DUP3"}, "3237": {"op": "OR"}, "3238": {"op": "DUP6"}, "3239": {"op": "MSTORE"}, "3240": {"op": "POP"}, "3241": {"op": "POP"}, "3242": {"op": "POP"}, "3243": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "POP", "path": "3"}, "3244": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "POP", "path": "3"}, "3245": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "POP", "path": "3"}, "3246": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "SWAP1", "path": "3"}, "3247": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "POP", "path": "3"}, "3248": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "ADD", "path": "3"}, "3249": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "SWAP3", "path": "3"}, "3250": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "POP", "path": "3"}, "3251": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "POP", "path": "3"}, "3252": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "POP", "path": "3"}, "3253": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "PUSH1", "path": "3", "value": "0x40"}, "3255": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "MLOAD", "path": "3"}, "3256": {"op": "PUSH1", "value": "0x20"}, "3258": {"op": "DUP2"}, "3259": {"op": "DUP4"}, "3260": {"op": "SUB"}, "3261": {"op": "SUB"}, "3262": {"op": "DUP2"}, "3263": {"op": "MSTORE"}, "3264": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "SWAP1", "path": "3"}, "3265": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "PUSH1", "path": "3", "value": "0x40"}, "3267": {"fn": "ERC721.tokenURI", "offset": [5415, 5448], "op": "MSTORE", "path": "3"}, "3268": {"fn": "ERC721.tokenURI", "offset": [5401, 5449], "op": "SWAP3", "path": "3"}, "3269": {"fn": "ERC721.tokenURI", "offset": [5401, 5449], "op": "POP", "path": "3"}, "3270": {"fn": "ERC721.tokenURI", "offset": [5401, 5449], "op": "POP", "path": "3"}, "3271": {"fn": "ERC721.tokenURI", "offset": [5401, 5449], "op": "POP", "path": "3"}, "3272": {"fn": "ERC721.tokenURI", "offset": [5401, 5449], "op": "PUSH2", "path": "3", "value": "0x57D"}, "3275": {"fn": "ERC721.tokenURI", "offset": [5401, 5449], "op": "JUMP", "path": "3"}, "3276": {"fn": "ERC721.tokenURI", "offset": [5354, 5460], "op": "JUMPDEST", "path": "3"}, "3277": {"fn": "ERC721.tokenURI", "offset": [5590, 5594], "op": "DUP1", "path": "3", "statement": 29}, "3278": {"fn": "ERC721.tokenURI", "offset": [5596, 5614], "op": "PUSH2", "path": "3", "value": "0xCD6"}, "3281": {"fn": "ERC721.tokenURI", "offset": [5596, 5603], "op": "DUP6", "path": "3"}, "3282": {"fn": "ERC721.tokenURI", "offset": [5596, 5612], "op": "PUSH2", "path": "3", "value": "0x1166"}, "3285": {"fn": "ERC721.tokenURI", "jump": "i", "offset": [5596, 5614], "op": "JUMP", "path": "3"}, "3286": {"fn": "ERC721.tokenURI", "offset": [5596, 5614], "op": "JUMPDEST", "path": "3"}, "3287": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "PUSH1", "path": "3", "value": "0x40"}, "3289": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "MLOAD", "path": "3"}, "3290": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "PUSH1", "path": "3", "value": "0x20"}, "3292": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "ADD", "path": "3"}, "3293": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "DUP1", "path": "3"}, "3294": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "DUP4", "path": "3"}, "3295": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "DUP1", "path": "3"}, "3296": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "MLOAD", "path": "3"}, "3297": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "SWAP1", "path": "3"}, "3298": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "PUSH1", "path": "3", "value": "0x20"}, "3300": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "ADD", "path": "3"}, "3301": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "SWAP1", "path": "3"}, "3302": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "DUP1", "path": "3"}, "3303": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "DUP4", "path": "3"}, "3304": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "DUP4", "path": "3"}, "3305": {"op": "JUMPDEST"}, "3306": {"op": "PUSH1", "value": "0x20"}, "3308": {"op": "DUP4"}, "3309": {"op": "LT"}, "3310": {"op": "PUSH2", "value": "0xD08"}, "3313": {"op": "JUMPI"}, "3314": {"op": "DUP1"}, "3315": {"op": "MLOAD"}, "3316": {"op": "DUP3"}, "3317": {"op": "MSTORE"}, "3318": {"op": "PUSH1", "value": "0x1F"}, "3320": {"op": "NOT"}, "3321": {"op": "SWAP1"}, "3322": {"op": "SWAP3"}, "3323": {"op": "ADD"}, "3324": {"op": "SWAP2"}, "3325": {"op": "PUSH1", "value": "0x20"}, "3327": {"op": "SWAP2"}, "3328": {"op": "DUP3"}, "3329": {"op": "ADD"}, "3330": {"op": "SWAP2"}, "3331": {"op": "ADD"}, "3332": {"op": "PUSH2", "value": "0xCE9"}, "3335": {"op": "JUMP"}, "3336": {"op": "JUMPDEST"}, "3337": {"op": "MLOAD"}, "3338": {"op": "DUP2"}, "3339": {"op": "MLOAD"}, "3340": {"op": "PUSH1", "value": "0x20"}, "3342": {"op": "SWAP4"}, "3343": {"op": "DUP5"}, "3344": {"op": "SUB"}, "3345": {"op": "PUSH2", "value": "0x100"}, "3348": {"op": "EXP"}, "3349": {"op": "PUSH1", "value": "0x0"}, "3351": {"op": "NOT"}, "3352": {"op": "ADD"}, "3353": {"op": "DUP1"}, "3354": {"op": "NOT"}, "3355": {"op": "SWAP1"}, "3356": {"op": "SWAP3"}, "3357": {"op": "AND"}, "3358": {"op": "SWAP2"}, "3359": {"op": "AND"}, "3360": {"op": "OR"}, "3361": {"op": "SWAP1"}, "3362": {"op": "MSTORE"}, "3363": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "DUP6", "path": "3"}, "3364": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "MLOAD", "path": "3"}, "3365": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "SWAP2", "path": "3"}, "3366": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "SWAP1", "path": "3"}, "3367": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "SWAP4", "path": "3"}, "3368": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "ADD", "path": "3"}, "3369": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "SWAP3", "path": "3"}, "3370": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "DUP6", "path": "3"}, "3371": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "ADD", "path": "3"}, "3372": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "SWAP2", "path": "3"}, "3373": {"op": "POP"}, "3374": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "DUP1", "path": "3"}, "3375": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "DUP4", "path": "3"}, "3376": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "DUP4", "path": "3"}, "3377": {"op": "JUMPDEST"}, "3378": {"op": "PUSH1", "value": "0x20"}, "3380": {"op": "DUP4"}, "3381": {"op": "LT"}, "3382": {"op": "PUSH2", "value": "0xD50"}, "3385": {"op": "JUMPI"}, "3386": {"op": "DUP1"}, "3387": {"op": "MLOAD"}, "3388": {"op": "DUP3"}, "3389": {"op": "MSTORE"}, "3390": {"op": "PUSH1", "value": "0x1F"}, "3392": {"op": "NOT"}, "3393": {"op": "SWAP1"}, "3394": {"op": "SWAP3"}, "3395": {"op": "ADD"}, "3396": {"op": "SWAP2"}, "3397": {"op": "PUSH1", "value": "0x20"}, "3399": {"op": "SWAP2"}, "3400": {"op": "DUP3"}, "3401": {"op": "ADD"}, "3402": {"op": "SWAP2"}, "3403": {"op": "ADD"}, "3404": {"op": "PUSH2", "value": "0xD31"}, "3407": {"op": "JUMP"}, "3408": {"op": "JUMPDEST"}, "3409": {"op": "PUSH1", "value": "0x1"}, "3411": {"op": "DUP4"}, "3412": {"op": "PUSH1", "value": "0x20"}, "3414": {"op": "SUB"}, "3415": {"op": "PUSH2", "value": "0x100"}, "3418": {"op": "EXP"}, "3419": {"op": "SUB"}, "3420": {"op": "DUP1"}, "3421": {"op": "NOT"}, "3422": {"op": "DUP3"}, "3423": {"op": "MLOAD"}, "3424": {"op": "AND"}, "3425": {"op": "DUP2"}, "3426": {"op": "DUP5"}, "3427": {"op": "MLOAD"}, "3428": {"op": "AND"}, "3429": {"op": "DUP1"}, "3430": {"op": "DUP3"}, "3431": {"op": "OR"}, "3432": {"op": "DUP6"}, "3433": {"op": "MSTORE"}, "3434": {"op": "POP"}, "3435": {"op": "POP"}, "3436": {"op": "POP"}, "3437": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "POP", "path": "3"}, "3438": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "POP", "path": "3"}, "3439": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "POP", "path": "3"}, "3440": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "SWAP1", "path": "3"}, "3441": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "POP", "path": "3"}, "3442": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "ADD", "path": "3"}, "3443": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "SWAP3", "path": "3"}, "3444": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "POP", "path": "3"}, "3445": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "POP", "path": "3"}, "3446": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "POP", "path": "3"}, "3447": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "PUSH1", "path": "3", "value": "0x40"}, "3449": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "MLOAD", "path": "3"}, "3450": {"op": "PUSH1", "value": "0x20"}, "3452": {"op": "DUP2"}, "3453": {"op": "DUP4"}, "3454": {"op": "SUB"}, "3455": {"op": "SUB"}, "3456": {"op": "DUP2"}, "3457": {"op": "MSTORE"}, "3458": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "SWAP1", "path": "3"}, "3459": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "PUSH1", "path": "3", "value": "0x40"}, "3461": {"fn": "ERC721.tokenURI", "offset": [5573, 5615], "op": "MSTORE", "path": "3"}, "3462": {"fn": "ERC721.tokenURI", "offset": [5559, 5616], "op": "SWAP3", "path": "3"}, "3463": {"fn": "ERC721.tokenURI", "offset": [5559, 5616], "op": "POP", "path": "3"}, "3464": {"fn": "ERC721.tokenURI", "offset": [5559, 5616], "op": "POP", "path": "3"}, "3465": {"fn": "ERC721.tokenURI", "offset": [5559, 5616], "op": "POP", "path": "3"}, "3466": {"fn": "ERC721.tokenURI", "offset": [4847, 5623], "op": "SWAP2", "path": "3"}, "3467": {"fn": "ERC721.tokenURI", "offset": [4847, 5623], "op": "SWAP1", "path": "3"}, "3468": {"fn": "ERC721.tokenURI", "offset": [4847, 5623], "op": "POP", "path": "3"}, "3469": {"fn": "ERC721.tokenURI", "jump": "o", "offset": [4847, 5623], "op": "JUMP", "path": "3"}, "3470": {"offset": [158, 185], "op": "JUMPDEST", "path": "13"}, "3471": {"fn": "ERC721.tokenURI", "offset": [158, 185], "op": "PUSH1", "path": "13", "value": "0xA"}, "3473": {"fn": "ERC721.tokenURI", "offset": [158, 185], "op": "SLOAD", "path": "13"}, "3474": {"fn": "ERC721.tokenURI", "offset": [158, 185], "op": "DUP2", "path": "13"}, "3475": {"fn": "ERC721.tokenURI", "jump": "o", "offset": [158, 185], "op": "JUMP", "path": "13"}, "3476": {"fn": "ERC721.isApprovedForAll", "offset": [7862, 8024], "op": "JUMPDEST", "path": "3"}, "3477": {"op": "PUSH1", "value": "0x1"}, "3479": {"op": "PUSH1", "value": "0x1"}, "3481": {"op": "PUSH1", "value": "0xA0"}, "3483": {"op": "SHL"}, "3484": {"op": "SUB"}, "3485": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8007], "op": "SWAP2", "path": "3", "statement": 30}, "3486": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8007], "op": "DUP3", "path": "3"}, "3487": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8007], "op": "AND", "path": "3"}, "3488": {"fn": "ERC721.isApprovedForAll", "offset": [7959, 7963], "op": "PUSH1", "path": "3", "value": "0x0"}, "3490": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8007], "op": "SWAP1", "path": "3"}, "3491": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8007], "op": "DUP2", "path": "3"}, "3492": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8007], "op": "MSTORE", "path": "3"}, "3493": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8000], "op": "PUSH1", "path": "3", "value": "0x5"}, "3495": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8007], "op": "PUSH1", "path": "3", "value": "0x20"}, "3497": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8007], "op": "SWAP1", "path": "3"}, "3498": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8007], "op": "DUP2", "path": "3"}, "3499": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8007], "op": "MSTORE", "path": "3"}, "3500": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8007], "op": "PUSH1", "path": "3", "value": "0x40"}, "3502": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8007], "op": "DUP1", "path": "3"}, "3503": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8007], "op": "DUP4", "path": "3"}, "3504": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8007], "op": "KECCAK256", "path": "3"}, "3505": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8017], "op": "SWAP4", "path": "3"}, "3506": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8017], "op": "SWAP1", "path": "3"}, "3507": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8017], "op": "SWAP5", "path": "3"}, "3508": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8017], "op": "AND", "path": "3"}, "3509": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8017], "op": "DUP3", "path": "3"}, "3510": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8017], "op": "MSTORE", "path": "3"}, "3511": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8017], "op": "SWAP2", "path": "3"}, "3512": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8017], "op": "SWAP1", "path": "3"}, "3513": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8017], "op": "SWAP2", "path": "3"}, "3514": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8017], "op": "MSTORE", "path": "3"}, "3515": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8017], "op": "KECCAK256", "path": "3"}, "3516": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8017], "op": "SLOAD", "path": "3"}, "3517": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8017], "op": "PUSH1", "path": "3", "value": "0xFF"}, "3519": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8017], "op": "AND", "path": "3"}, "3520": {"fn": "ERC721.isApprovedForAll", "offset": [7982, 8017], "op": "SWAP1", "path": "3"}, "3521": {"fn": "ERC721.isApprovedForAll", "jump": "o", "offset": [7862, 8024], "op": "JUMP", "path": "3"}, "3522": {"fn": "ERC721._exists", "offset": [10383, 10508], "op": "JUMPDEST", "path": "3"}, "3523": {"fn": "ERC721._exists", "offset": [10448, 10452], "op": "PUSH1", "path": "3", "value": "0x0"}, "3525": {"fn": "ERC721._exists", "offset": [10471, 10501], "op": "PUSH2", "path": "3", "statement": 31, "value": "0x7E9"}, "3528": {"fn": "ERC721._exists", "offset": [10471, 10483], "op": "PUSH1", "path": "3", "value": "0x2"}, "3530": {"fn": "ERC721._exists", "offset": [10493, 10500], "op": "DUP4", "path": "3"}, "3531": {"fn": "ERC721._exists", "offset": [10471, 10501], "op": "PUSH4", "path": "3", "value": "0xFFFFFFFF"}, "3536": {"fn": "ERC721._exists", "offset": [10471, 10492], "op": "PUSH2", "path": "3", "value": "0x1241"}, "3539": {"fn": "ERC721._exists", "offset": [10471, 10501], "op": "AND", "path": "3"}, "3540": {"fn": "ERC721._exists", "jump": "i", "offset": [10471, 10501], "op": "JUMP", "path": "3"}, "3541": {"fn": "Context._msgSender", "offset": [598, 702], "op": "JUMPDEST", "path": "9"}, "3542": {"fn": "Context._msgSender", "offset": [685, 695], "op": "CALLER", "path": "9", "statement": 32}, "3543": {"fn": "Context._msgSender", "offset": [598, 702], "op": "SWAP1", "path": "9"}, "3544": {"fn": "Context._msgSender", "jump": "o", "offset": [598, 702], "op": "JUMP", "path": "9"}, "3545": {"fn": "ERC721._approve", "offset": [16119, 16299], "op": "JUMPDEST", "path": "3"}, "3546": {"fn": "ERC721._approve", "offset": [16184, 16208], "op": "PUSH1", "path": "3", "statement": 33, "value": "0x0"}, "3548": {"fn": "ERC721._approve", "offset": [16184, 16208], "op": "DUP2", "path": "3"}, "3549": {"fn": "ERC721._approve", "offset": [16184, 16208], "op": "DUP2", "path": "3"}, "3550": {"fn": "ERC721._approve", "offset": [16184, 16208], "op": "MSTORE", "path": "3"}, "3551": {"fn": "ERC721._approve", "offset": [16184, 16199], "op": "PUSH1", "path": "3", "value": "0x4"}, "3553": {"fn": "ERC721._approve", "offset": [16184, 16208], "op": "PUSH1", "path": "3", "value": "0x20"}, "3555": {"fn": "ERC721._approve", "offset": [16184, 16208], "op": "MSTORE", "path": "3"}, "3556": {"fn": "ERC721._approve", "offset": [16184, 16208], "op": "PUSH1", "path": "3", "value": "0x40"}, "3558": {"fn": "ERC721._approve", "offset": [16184, 16208], "op": "SWAP1", "path": "3"}, "3559": {"fn": "ERC721._approve", "offset": [16184, 16208], "op": "KECCAK256", "path": "3"}, "3560": {"fn": "ERC721._approve", "offset": [16184, 16213], "op": "DUP1", "path": "3"}, "3561": {"fn": "ERC721._approve", "offset": [16184, 16213], "op": "SLOAD", "path": "3"}, "3562": {"op": "PUSH1", "value": "0x1"}, "3564": {"op": "PUSH1", "value": "0x1"}, "3566": {"op": "PUSH1", "value": "0xA0"}, "3568": {"op": "SHL"}, "3569": {"op": "SUB"}, "3570": {"op": "NOT"}, "3571": {"fn": "ERC721._approve", "offset": [16184, 16213], "op": "AND", "path": "3"}, "3572": {"op": "PUSH1", "value": "0x1"}, "3574": {"op": "PUSH1", "value": "0x1"}, "3576": {"op": "PUSH1", "value": "0xA0"}, "3578": {"op": "SHL"}, "3579": {"op": "SUB"}, "3580": {"fn": "ERC721._approve", "offset": [16184, 16213], "op": "DUP5", "path": "3"}, "3581": {"fn": "ERC721._approve", "offset": [16184, 16213], "op": "AND", "path": "3"}, "3582": {"fn": "ERC721._approve", "offset": [16184, 16213], "op": "SWAP1", "path": "3"}, "3583": {"fn": "ERC721._approve", "offset": [16184, 16213], "op": "DUP2", "path": "3"}, "3584": {"fn": "ERC721._approve", "offset": [16184, 16213], "op": "OR", "path": "3"}, "3585": {"fn": "ERC721._approve", "offset": [16184, 16213], "op": "SWAP1", "path": "3"}, "3586": {"fn": "ERC721._approve", "offset": [16184, 16213], "op": "SWAP2", "path": "3"}, "3587": {"fn": "ERC721._approve", "offset": [16184, 16213], "op": "SSTORE", "path": "3"}, "3588": {"fn": "ERC721._approve", "offset": [16184, 16208], "op": "DUP2", "path": "3"}, "3589": {"fn": "ERC721._approve", "offset": [16184, 16208], "op": "SWAP1", "path": "3"}, "3590": {"fn": "ERC721._approve", "offset": [16237, 16260], "op": "PUSH2", "path": "3", "statement": 34, "value": "0xE0E"}, "3593": {"fn": "ERC721._approve", "offset": [16184, 16208], "op": "DUP3", "path": "3"}, "3594": {"fn": "ERC721._approve", "offset": [16237, 16251], "op": "PUSH2", "path": "3", "value": "0x826"}, "3597": {"fn": "ERC721._approve", "jump": "i", "offset": [16237, 16260], "op": "JUMP", "path": "3"}, "3598": {"fn": "ERC721._approve", "offset": [16237, 16260], "op": "JUMPDEST", "path": "3"}, "3599": {"op": "PUSH1", "value": "0x1"}, "3601": {"op": "PUSH1", "value": "0x1"}, "3603": {"op": "PUSH1", "value": "0xA0"}, "3605": {"op": "SHL"}, "3606": {"op": "SUB"}, "3607": {"fn": "ERC721._approve", "offset": [16228, 16274], "op": "AND", "path": "3"}, "3608": {"fn": "ERC721._approve", "offset": [16228, 16274], "op": "PUSH32", "path": "3", "value": "0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925"}, "3641": {"fn": "ERC721._approve", "offset": [16228, 16274], "op": "PUSH1", "path": "3", "value": "0x40"}, "3643": {"fn": "ERC721._approve", "offset": [16228, 16274], "op": "MLOAD", "path": "3"}, "3644": {"fn": "ERC721._approve", "offset": [16228, 16274], "op": "PUSH1", "path": "3", "value": "0x40"}, "3646": {"fn": "ERC721._approve", "offset": [16228, 16274], "op": "MLOAD", "path": "3"}, "3647": {"fn": "ERC721._approve", "offset": [16228, 16274], "op": "DUP1", "path": "3"}, "3648": {"fn": "ERC721._approve", "offset": [16228, 16274], "op": "SWAP2", "path": "3"}, "3649": {"fn": "ERC721._approve", "offset": [16228, 16274], "op": "SUB", "path": "3"}, "3650": {"fn": "ERC721._approve", "offset": [16228, 16274], "op": "SWAP1", "path": "3"}, "3651": {"fn": "ERC721._approve", "offset": [16228, 16274], "op": "LOG4", "path": "3"}, "3652": {"fn": "ERC721._approve", "offset": [16119, 16299], "op": "POP", "path": "3"}, "3653": {"fn": "ERC721._approve", "offset": [16119, 16299], "op": "POP", "path": "3"}, "3654": {"fn": "ERC721._approve", "jump": "o", "offset": [16119, 16299], "op": "JUMP", "path": "3"}, "3655": {"fn": "EnumerableMap.length", "offset": [7820, 7941], "op": "JUMPDEST", "path": "10"}, "3656": {"fn": "EnumerableMap.length", "offset": [7889, 7896], "op": "PUSH1", "path": "10", "value": "0x0"}, "3658": {"fn": "EnumerableMap.length", "offset": [7915, 7934], "op": "PUSH2", "path": "10", "statement": 35, "value": "0x7E9"}, "3661": {"fn": "EnumerableMap.length", "offset": [7923, 7926], "op": "DUP3", "path": "10"}, "3662": {"fn": "EnumerableMap.length", "offset": [7915, 7922], "op": "PUSH2", "path": "10", "value": "0x124D"}, "3665": {"fn": "EnumerableMap.length", "jump": "i", "offset": [7915, 7934], "op": "JUMP", "path": "10"}, "3666": {"fn": "ERC721._isApprovedOrOwner", "offset": [10666, 11017], "op": "JUMPDEST", "path": "3"}, "3667": {"fn": "ERC721._isApprovedOrOwner", "offset": [10759, 10763], "op": "PUSH1", "path": "3", "value": "0x0"}, "3669": {"fn": "ERC721._isApprovedOrOwner", "offset": [10783, 10799], "op": "PUSH2", "path": "3", "statement": 36, "value": "0xE5D"}, "3672": {"fn": "ERC721._isApprovedOrOwner", "offset": [10791, 10798], "op": "DUP3", "path": "3"}, "3673": {"fn": "ERC721._isApprovedOrOwner", "offset": [10783, 10790], "op": "PUSH2", "path": "3", "value": "0xDC2"}, "3676": {"fn": "ERC721._isApprovedOrOwner", "jump": "i", "offset": [10783, 10799], "op": "JUMP", "path": "3"}, "3677": {"branch": 117, "fn": "ERC721._isApprovedOrOwner", "offset": [10783, 10799], "op": "JUMPDEST", "path": "3"}, "3678": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "PUSH2", "path": "3", "value": "0xE98"}, "3681": {"branch": 117, "fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "JUMPI", "path": "3"}, "3682": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "PUSH1", "path": "3", "value": "0x40"}, "3684": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "MLOAD", "path": "3"}, "3685": {"op": "PUSH3", "value": "0x461BCD"}, "3689": {"op": "PUSH1", "value": "0xE5"}, "3691": {"op": "SHL"}, "3692": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "DUP2", "path": "3"}, "3693": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "MSTORE", "path": "3"}, "3694": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "PUSH1", "path": "3", "value": "0x4"}, "3696": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "ADD", "path": "3"}, "3697": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "DUP1", "path": "3"}, "3698": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "DUP1", "path": "3"}, "3699": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "PUSH1", "path": "3", "value": "0x20"}, "3701": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "ADD", "path": "3"}, "3702": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "DUP3", "path": "3"}, "3703": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "DUP2", "path": "3"}, "3704": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "SUB", "path": "3"}, "3705": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "DUP3", "path": "3"}, "3706": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "MSTORE", "path": "3"}, "3707": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "PUSH1", "path": "3", "value": "0x2C"}, "3709": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "DUP2", "path": "3"}, "3710": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "MSTORE", "path": "3"}, "3711": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "PUSH1", "path": "3", "value": "0x20"}, "3713": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "ADD", "path": "3"}, "3714": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "DUP1", "path": "3"}, "3715": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "PUSH2", "path": "3", "value": "0x1B96"}, "3718": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "PUSH1", "path": "3", "value": "0x2C"}, "3720": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "SWAP2", "path": "3"}, "3721": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "CODECOPY", "path": "3"}, "3722": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "PUSH1", "path": "3", "value": "0x40"}, "3724": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "ADD", "path": "3"}, "3725": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "SWAP2", "path": "3"}, "3726": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "POP", "path": "3"}, "3727": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "POP", "path": "3"}, "3728": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "PUSH1", "path": "3", "value": "0x40"}, "3730": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "MLOAD", "path": "3"}, "3731": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "DUP1", "path": "3"}, "3732": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "SWAP2", "path": "3"}, "3733": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "SUB", "path": "3"}, "3734": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "SWAP1", "path": "3"}, "3735": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "REVERT", "path": "3"}, "3736": {"fn": "ERC721._isApprovedOrOwner", "offset": [10775, 10848], "op": "JUMPDEST", "path": "3"}, "3737": {"fn": "ERC721._isApprovedOrOwner", "offset": [10858, 10871], "op": "PUSH1", "path": "3", "value": "0x0"}, "3739": {"fn": "ERC721._isApprovedOrOwner", "offset": [10874, 10897], "op": "PUSH2", "path": "3", "value": "0xEA3"}, "3742": {"fn": "ERC721._isApprovedOrOwner", "offset": [10889, 10896], "op": "DUP4", "path": "3"}, "3743": {"fn": "ERC721._isApprovedOrOwner", "offset": [10874, 10888], "op": "PUSH2", "path": "3", "value": "0x826"}, "3746": {"fn": "ERC721._isApprovedOrOwner", "jump": "i", "offset": [10874, 10897], "op": "JUMP", "path": "3"}, "3747": {"fn": "ERC721._isApprovedOrOwner", "offset": [10874, 10897], "op": "JUMPDEST", "path": "3"}, "3748": {"fn": "ERC721._isApprovedOrOwner", "offset": [10858, 10897], "op": "SWAP1", "path": "3"}, "3749": {"fn": "ERC721._isApprovedOrOwner", "offset": [10858, 10897], "op": "POP", "path": "3"}, "3750": {"fn": "ERC721._isApprovedOrOwner", "offset": [10926, 10931], "op": "DUP1", "path": "3", "statement": 37}, "3751": {"op": "PUSH1", "value": "0x1"}, "3753": {"op": "PUSH1", "value": "0x1"}, "3755": {"op": "PUSH1", "value": "0xA0"}, "3757": {"op": "SHL"}, "3758": {"op": "SUB"}, "3759": {"fn": "ERC721._isApprovedOrOwner", "offset": [10915, 10931], "op": "AND", "path": "3"}, "3760": {"fn": "ERC721._isApprovedOrOwner", "offset": [10915, 10922], "op": "DUP5", "path": "3"}, "3761": {"op": "PUSH1", "value": "0x1"}, "3763": {"op": "PUSH1", "value": "0x1"}, "3765": {"op": "PUSH1", "value": "0xA0"}, "3767": {"op": "SHL"}, "3768": {"op": "SUB"}, "3769": {"fn": "ERC721._isApprovedOrOwner", "offset": [10915, 10931], "op": "AND", "path": "3"}, "3770": {"fn": "ERC721._isApprovedOrOwner", "offset": [10915, 10931], "op": "EQ", "path": "3"}, "3771": {"fn": "ERC721._isApprovedOrOwner", "offset": [10915, 10966], "op": "DUP1", "path": "3"}, "3772": {"fn": "ERC721._isApprovedOrOwner", "offset": [10915, 10966], "op": "PUSH2", "path": "3", "value": "0xEDE"}, "3775": {"fn": "ERC721._isApprovedOrOwner", "offset": [10915, 10966], "op": "JUMPI", "path": "3"}, "3776": {"fn": "ERC721._isApprovedOrOwner", "offset": [10915, 10966], "op": "POP", "path": "3"}, "3777": {"fn": "ERC721._isApprovedOrOwner", "offset": [10959, 10966], "op": "DUP4", "path": "3"}, "3778": {"op": "PUSH1", "value": "0x1"}, "3780": {"op": "PUSH1", "value": "0x1"}, "3782": {"op": "PUSH1", "value": "0xA0"}, "3784": {"op": "SHL"}, "3785": {"op": "SUB"}, "3786": {"fn": "ERC721._isApprovedOrOwner", "offset": [10935, 10966], "op": "AND", "path": "3"}, "3787": {"fn": "ERC721._isApprovedOrOwner", "offset": [10935, 10955], "op": "PUSH2", "path": "3", "value": "0xED3"}, "3790": {"fn": "ERC721._isApprovedOrOwner", "offset": [10947, 10954], "op": "DUP5", "path": "3"}, "3791": {"fn": "ERC721._isApprovedOrOwner", "offset": [10935, 10946], "op": "PUSH2", "path": "3", "value": "0x619"}, "3794": {"fn": "ERC721._isApprovedOrOwner", "jump": "i", "offset": [10935, 10955], "op": "JUMP", "path": "3"}, "3795": {"fn": "ERC721._isApprovedOrOwner", "offset": [10935, 10955], "op": "JUMPDEST", "path": "3"}, "3796": {"op": "PUSH1", "value": "0x1"}, "3798": {"op": "PUSH1", "value": "0x1"}, "3800": {"op": "PUSH1", "value": "0xA0"}, "3802": {"op": "SHL"}, "3803": {"op": "SUB"}, "3804": {"fn": "ERC721._isApprovedOrOwner", "offset": [10935, 10966], "op": "AND", "path": "3"}, "3805": {"fn": "ERC721._isApprovedOrOwner", "offset": [10935, 10966], "op": "EQ", "path": "3"}, "3806": {"fn": "ERC721._isApprovedOrOwner", "offset": [10915, 10966], "op": "JUMPDEST", "path": "3"}, "3807": {"fn": "ERC721._isApprovedOrOwner", "offset": [10915, 11009], "op": "DUP1", "path": "3"}, "3808": {"fn": "ERC721._isApprovedOrOwner", "offset": [10915, 11009], "op": "PUSH2", "path": "3", "value": "0xEEE"}, "3811": {"fn": "ERC721._isApprovedOrOwner", "offset": [10915, 11009], "op": "JUMPI", "path": "3"}, "3812": {"fn": "ERC721._isApprovedOrOwner", "offset": [10915, 11009], "op": "POP", "path": "3"}, "3813": {"fn": "ERC721._isApprovedOrOwner", "offset": [10970, 11009], "op": "PUSH2", "path": "3", "value": "0xEEE"}, "3816": {"fn": "ERC721._isApprovedOrOwner", "offset": [10994, 10999], "op": "DUP2", "path": "3"}, "3817": {"fn": "ERC721._isApprovedOrOwner", "offset": [11001, 11008], "op": "DUP6", "path": "3"}, "3818": {"fn": "ERC721._isApprovedOrOwner", "offset": [10970, 10993], "op": "PUSH2", "path": "3", "value": "0xD94"}, "3821": {"fn": "ERC721._isApprovedOrOwner", "jump": "i", "offset": [10970, 11009], "op": "JUMP", "path": "3"}, "3822": {"fn": "ERC721._isApprovedOrOwner", "offset": [10970, 11009], "op": "JUMPDEST", "path": "3"}, "3823": {"fn": "ERC721._isApprovedOrOwner", "offset": [10907, 11010], "op": "SWAP5", "path": "3"}, "3824": {"fn": "ERC721._isApprovedOrOwner", "offset": [10666, 11017], "op": "SWAP4", "path": "3"}, "3825": {"op": "POP"}, "3826": {"op": "POP"}, "3827": {"op": "POP"}, "3828": {"op": "POP"}, "3829": {"fn": "ERC721._isApprovedOrOwner", "jump": "o", "offset": [10666, 11017], "op": "JUMP", "path": "3"}, "3830": {"fn": "ERC721._transfer", "offset": [13707, 14291], "op": "JUMPDEST", "path": "3"}, "3831": {"fn": "ERC721._transfer", "offset": [13831, 13835], "op": "DUP3", "path": "3", "statement": 38}, "3832": {"op": "PUSH1", "value": "0x1"}, "3834": {"op": "PUSH1", "value": "0x1"}, "3836": {"op": "PUSH1", "value": "0xA0"}, "3838": {"op": "SHL"}, "3839": {"op": "SUB"}, "3840": {"fn": "ERC721._transfer", "offset": [13804, 13835], "op": "AND", "path": "3"}, "3841": {"fn": "ERC721._transfer", "offset": [13804, 13827], "op": "PUSH2", "path": "3", "value": "0xF09"}, "3844": {"fn": "ERC721._transfer", "offset": [13819, 13826], "op": "DUP3", "path": "3"}, "3845": {"fn": "ERC721._transfer", "offset": [13804, 13818], "op": "PUSH2", "path": "3", "value": "0x826"}, "3848": {"fn": "ERC721._transfer", "jump": "i", "offset": [13804, 13827], "op": "JUMP", "path": "3"}, "3849": {"fn": "ERC721._transfer", "offset": [13804, 13827], "op": "JUMPDEST", "path": "3"}, "3850": {"op": "PUSH1", "value": "0x1"}, "3852": {"op": "PUSH1", "value": "0x1"}, "3854": {"op": "PUSH1", "value": "0xA0"}, "3856": {"op": "SHL"}, "3857": {"op": "SUB"}, "3858": {"fn": "ERC721._transfer", "offset": [13804, 13835], "op": "AND", "path": "3"}, "3859": {"branch": 118, "fn": "ERC721._transfer", "offset": [13804, 13835], "op": "EQ", "path": "3"}, "3860": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "PUSH2", "path": "3", "value": "0xF4E"}, "3863": {"branch": 118, "fn": "ERC721._transfer", "offset": [13796, 13881], "op": "JUMPI", "path": "3"}, "3864": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "PUSH1", "path": "3", "value": "0x40"}, "3866": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "MLOAD", "path": "3"}, "3867": {"op": "PUSH3", "value": "0x461BCD"}, "3871": {"op": "PUSH1", "value": "0xE5"}, "3873": {"op": "SHL"}, "3874": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "DUP2", "path": "3"}, "3875": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "MSTORE", "path": "3"}, "3876": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "PUSH1", "path": "3", "value": "0x4"}, "3878": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "ADD", "path": "3"}, "3879": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "DUP1", "path": "3"}, "3880": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "DUP1", "path": "3"}, "3881": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "PUSH1", "path": "3", "value": "0x20"}, "3883": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "ADD", "path": "3"}, "3884": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "DUP3", "path": "3"}, "3885": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "DUP2", "path": "3"}, "3886": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "SUB", "path": "3"}, "3887": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "DUP3", "path": "3"}, "3888": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "MSTORE", "path": "3"}, "3889": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "PUSH1", "path": "3", "value": "0x29"}, "3891": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "DUP2", "path": "3"}, "3892": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "MSTORE", "path": "3"}, "3893": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "PUSH1", "path": "3", "value": "0x20"}, "3895": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "ADD", "path": "3"}, "3896": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "DUP1", "path": "3"}, "3897": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "PUSH2", "path": "3", "value": "0x1CC7"}, "3900": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "PUSH1", "path": "3", "value": "0x29"}, "3902": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "SWAP2", "path": "3"}, "3903": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "CODECOPY", "path": "3"}, "3904": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "PUSH1", "path": "3", "value": "0x40"}, "3906": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "ADD", "path": "3"}, "3907": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "SWAP2", "path": "3"}, "3908": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "POP", "path": "3"}, "3909": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "POP", "path": "3"}, "3910": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "PUSH1", "path": "3", "value": "0x40"}, "3912": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "MLOAD", "path": "3"}, "3913": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "DUP1", "path": "3"}, "3914": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "SWAP2", "path": "3"}, "3915": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "SUB", "path": "3"}, "3916": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "SWAP1", "path": "3"}, "3917": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "REVERT", "path": "3"}, "3918": {"fn": "ERC721._transfer", "offset": [13796, 13881], "op": "JUMPDEST", "path": "3"}, "3919": {"op": "PUSH1", "value": "0x1"}, "3921": {"op": "PUSH1", "value": "0x1"}, "3923": {"op": "PUSH1", "value": "0xA0"}, "3925": {"op": "SHL"}, "3926": {"op": "SUB"}, "3927": {"fn": "ERC721._transfer", "offset": [13917, 13933], "op": "DUP3", "path": "3", "statement": 39}, "3928": {"branch": 119, "fn": "ERC721._transfer", "offset": [13917, 13933], "op": "AND", "path": "3"}, "3929": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "PUSH2", "path": "3", "value": "0xF93"}, "3932": {"branch": 119, "fn": "ERC721._transfer", "offset": [13909, 13974], "op": "JUMPI", "path": "3"}, "3933": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "PUSH1", "path": "3", "value": "0x40"}, "3935": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "MLOAD", "path": "3"}, "3936": {"op": "PUSH3", "value": "0x461BCD"}, "3940": {"op": "PUSH1", "value": "0xE5"}, "3942": {"op": "SHL"}, "3943": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "DUP2", "path": "3"}, "3944": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "MSTORE", "path": "3"}, "3945": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "PUSH1", "path": "3", "value": "0x4"}, "3947": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "ADD", "path": "3"}, "3948": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "DUP1", "path": "3"}, "3949": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "DUP1", "path": "3"}, "3950": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "PUSH1", "path": "3", "value": "0x20"}, "3952": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "ADD", "path": "3"}, "3953": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "DUP3", "path": "3"}, "3954": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "DUP2", "path": "3"}, "3955": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "SUB", "path": "3"}, "3956": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "DUP3", "path": "3"}, "3957": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "MSTORE", "path": "3"}, "3958": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "PUSH1", "path": "3", "value": "0x24"}, "3960": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "DUP2", "path": "3"}, "3961": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "MSTORE", "path": "3"}, "3962": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "PUSH1", "path": "3", "value": "0x20"}, "3964": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "ADD", "path": "3"}, "3965": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "DUP1", "path": "3"}, "3966": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "PUSH2", "path": "3", "value": "0x1B72"}, "3969": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "PUSH1", "path": "3", "value": "0x24"}, "3971": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "SWAP2", "path": "3"}, "3972": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "CODECOPY", "path": "3"}, "3973": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "PUSH1", "path": "3", "value": "0x40"}, "3975": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "ADD", "path": "3"}, "3976": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "SWAP2", "path": "3"}, "3977": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "POP", "path": "3"}, "3978": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "POP", "path": "3"}, "3979": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "PUSH1", "path": "3", "value": "0x40"}, "3981": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "MLOAD", "path": "3"}, "3982": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "DUP1", "path": "3"}, "3983": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "SWAP2", "path": "3"}, "3984": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "SUB", "path": "3"}, "3985": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "SWAP1", "path": "3"}, "3986": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "REVERT", "path": "3"}, "3987": {"fn": "ERC721._transfer", "offset": [13909, 13974], "op": "JUMPDEST", "path": "3"}, "3988": {"fn": "ERC721._transfer", "offset": [13985, 14024], "op": "PUSH2", "path": "3", "statement": 40, "value": "0xF9E"}, "3991": {"fn": "ERC721._transfer", "offset": [14006, 14010], "op": "DUP4", "path": "3"}, "3992": {"fn": "ERC721._transfer", "offset": [14012, 14014], "op": "DUP4", "path": "3"}, "3993": {"fn": "ERC721._transfer", "offset": [14016, 14023], "op": "DUP4", "path": "3"}, "3994": {"fn": "ERC721._transfer", "offset": [13985, 14005], "op": "PUSH2", "path": "3", "value": "0x751"}, "3997": {"fn": "ERC721._transfer", "jump": "i", "offset": [13985, 14024], "op": "JUMP", "path": "3"}, "3998": {"fn": "ERC721._transfer", "offset": [13985, 14024], "op": "JUMPDEST", "path": "3"}, "3999": {"fn": "ERC721._transfer", "offset": [14086, 14115], "op": "PUSH2", "path": "3", "statement": 41, "value": "0xFA9"}, "4002": {"fn": "ERC721._transfer", "offset": [14103, 14104], "op": "PUSH1", "path": "3", "value": "0x0"}, "4004": {"fn": "ERC721._transfer", "offset": [14107, 14114], "op": "DUP3", "path": "3"}, "4005": {"fn": "ERC721._transfer", "offset": [14086, 14094], "op": "PUSH2", "path": "3", "value": "0xDD9"}, "4008": {"fn": "ERC721._transfer", "jump": "i", "offset": [14086, 14115], "op": "JUMP", "path": "3"}, "4009": {"fn": "ERC721._transfer", "offset": [14086, 14115], "op": "JUMPDEST", "path": "3"}, "4010": {"op": "PUSH1", "value": "0x1"}, "4012": {"op": "PUSH1", "value": "0x1"}, "4014": {"op": "PUSH1", "value": "0xA0"}, "4016": {"op": "SHL"}, "4017": {"op": "SUB"}, "4018": {"fn": "ERC721._transfer", "offset": [14126, 14145], "op": "DUP4", "path": "3", "statement": 42}, "4019": {"fn": "ERC721._transfer", "offset": [14126, 14145], "op": "AND", "path": "3"}, "4020": {"fn": "ERC721._transfer", "offset": [14126, 14145], "op": "PUSH1", "path": "3", "value": "0x0"}, "4022": {"fn": "ERC721._transfer", "offset": [14126, 14145], "op": "SWAP1", "path": "3"}, "4023": {"fn": "ERC721._transfer", "offset": [14126, 14145], "op": "DUP2", "path": "3"}, "4024": {"fn": "ERC721._transfer", "offset": [14126, 14145], "op": "MSTORE", "path": "3"}, "4025": {"fn": "ERC721._transfer", "offset": [14126, 14139], "op": "PUSH1", "path": "3", "value": "0x1"}, "4027": {"fn": "ERC721._transfer", "offset": [14126, 14145], "op": "PUSH1", "path": "3", "value": "0x20"}, "4029": {"fn": "ERC721._transfer", "offset": [14126, 14145], "op": "MSTORE", "path": "3"}, "4030": {"fn": "ERC721._transfer", "offset": [14126, 14145], "op": "PUSH1", "path": "3", "value": "0x40"}, "4032": {"fn": "ERC721._transfer", "offset": [14126, 14145], "op": "SWAP1", "path": "3"}, "4033": {"fn": "ERC721._transfer", "offset": [14126, 14145], "op": "KECCAK256", "path": "3"}, "4034": {"fn": "ERC721._transfer", "offset": [14126, 14161], "op": "PUSH2", "path": "3", "value": "0xFD1"}, "4037": {"fn": "ERC721._transfer", "offset": [14126, 14161], "op": "SWAP1", "path": "3"}, "4038": {"fn": "ERC721._transfer", "offset": [14153, 14160], "op": "DUP3", "path": "3"}, "4039": {"fn": "ERC721._transfer", "offset": [14126, 14161], "op": "PUSH4", "path": "3", "value": "0xFFFFFFFF"}, "4044": {"fn": "ERC721._transfer", "offset": [14126, 14152], "op": "PUSH2", "path": "3", "value": "0x1251"}, "4047": {"fn": "ERC721._transfer", "offset": [14126, 14161], "op": "AND", "path": "3"}, "4048": {"fn": "ERC721._transfer", "jump": "i", "offset": [14126, 14161], "op": "JUMP", "path": "3"}, "4049": {"fn": "ERC721._transfer", "offset": [14126, 14161], "op": "JUMPDEST", "path": "3"}, "4050": {"op": "POP"}, "4051": {"op": "PUSH1", "value": "0x1"}, "4053": {"op": "PUSH1", "value": "0x1"}, "4055": {"op": "PUSH1", "value": "0xA0"}, "4057": {"op": "SHL"}, "4058": {"op": "SUB"}, "4059": {"fn": "ERC721._transfer", "offset": [14171, 14188], "op": "DUP3", "path": "3", "statement": 43}, "4060": {"fn": "ERC721._transfer", "offset": [14171, 14188], "op": "AND", "path": "3"}, "4061": {"fn": "ERC721._transfer", "offset": [14171, 14188], "op": "PUSH1", "path": "3", "value": "0x0"}, "4063": {"fn": "ERC721._transfer", "offset": [14171, 14188], "op": "SWAP1", "path": "3"}, "4064": {"fn": "ERC721._transfer", "offset": [14171, 14188], "op": "DUP2", "path": "3"}, "4065": {"fn": "ERC721._transfer", "offset": [14171, 14188], "op": "MSTORE", "path": "3"}, "4066": {"fn": "ERC721._transfer", "offset": [14171, 14184], "op": "PUSH1", "path": "3", "value": "0x1"}, "4068": {"fn": "ERC721._transfer", "offset": [14171, 14188], "op": "PUSH1", "path": "3", "value": "0x20"}, "4070": {"fn": "ERC721._transfer", "offset": [14171, 14188], "op": "MSTORE", "path": "3"}, "4071": {"fn": "ERC721._transfer", "offset": [14171, 14188], "op": "PUSH1", "path": "3", "value": "0x40"}, "4073": {"fn": "ERC721._transfer", "offset": [14171, 14188], "op": "SWAP1", "path": "3"}, "4074": {"fn": "ERC721._transfer", "offset": [14171, 14188], "op": "KECCAK256", "path": "3"}, "4075": {"fn": "ERC721._transfer", "offset": [14171, 14201], "op": "PUSH2", "path": "3", "value": "0xFFA"}, "4078": {"fn": "ERC721._transfer", "offset": [14171, 14201], "op": "SWAP1", "path": "3"}, "4079": {"fn": "ERC721._transfer", "offset": [14193, 14200], "op": "DUP3", "path": "3"}, "4080": {"fn": "ERC721._transfer", "offset": [14171, 14201], "op": "PUSH4", "path": "3", "value": "0xFFFFFFFF"}, "4085": {"fn": "ERC721._transfer", "offset": [14171, 14192], "op": "PUSH2", "path": "3", "value": "0x125D"}, "4088": {"fn": "ERC721._transfer", "offset": [14171, 14201], "op": "AND", "path": "3"}, "4089": {"fn": "ERC721._transfer", "jump": "i", "offset": [14171, 14201], "op": "JUMP", "path": "3"}, "4090": {"fn": "ERC721._transfer", "offset": [14171, 14201], "op": "JUMPDEST", "path": "3"}, "4091": {"op": "POP"}, "4092": {"fn": "ERC721._transfer", "offset": [14212, 14241], "op": "PUSH2", "path": "3", "statement": 44, "value": "0x100D"}, "4095": {"fn": "ERC721._transfer", "offset": [14212, 14224], "op": "PUSH1", "path": "3", "value": "0x2"}, "4097": {"fn": "ERC721._transfer", "offset": [14229, 14236], "op": "DUP3", "path": "3"}, "4098": {"fn": "ERC721._transfer", "offset": [14238, 14240], "op": "DUP5", "path": "3"}, "4099": {"fn": "ERC721._transfer", "offset": [14212, 14241], "op": "PUSH4", "path": "3", "value": "0xFFFFFFFF"}, "4104": {"fn": "ERC721._transfer", "offset": [14212, 14228], "op": "PUSH2", "path": "3", "value": "0x1269"}, "4107": {"fn": "ERC721._transfer", "offset": [14212, 14241], "op": "AND", "path": "3"}, "4108": {"fn": "ERC721._transfer", "jump": "i", "offset": [14212, 14241], "op": "JUMP", "path": "3"}, "4109": {"fn": "ERC721._transfer", "offset": [14212, 14241], "op": "JUMPDEST", "path": "3"}, "4110": {"fn": "ERC721._transfer", "offset": [14212, 14241], "op": "POP", "path": "3"}, "4111": {"fn": "ERC721._transfer", "offset": [14276, 14283], "op": "DUP1", "path": "3", "statement": 45}, "4112": {"fn": "ERC721._transfer", "offset": [14272, 14274], "op": "DUP3", "path": "3"}, "4113": {"op": "PUSH1", "value": "0x1"}, "4115": {"op": "PUSH1", "value": "0x1"}, "4117": {"op": "PUSH1", "value": "0xA0"}, "4119": {"op": "SHL"}, "4120": {"op": "SUB"}, "4121": {"fn": "ERC721._transfer", "offset": [14257, 14284], "op": "AND", "path": "3"}, "4122": {"fn": "ERC721._transfer", "offset": [14266, 14270], "op": "DUP5", "path": "3"}, "4123": {"op": "PUSH1", "value": "0x1"}, "4125": {"op": "PUSH1", "value": "0x1"}, "4127": {"op": "PUSH1", "value": "0xA0"}, "4129": {"op": "SHL"}, "4130": {"op": "SUB"}, "4131": {"fn": "ERC721._transfer", "offset": [14257, 14284], "op": "AND", "path": "3"}, "4132": {"fn": "ERC721._transfer", "offset": [14257, 14284], "op": "PUSH32", "path": "3", "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF"}, "4165": {"fn": "ERC721._transfer", "offset": [14257, 14284], "op": "PUSH1", "path": "3", "value": "0x40"}, "4167": {"fn": "ERC721._transfer", "offset": [14257, 14284], "op": "MLOAD", "path": "3"}, "4168": {"fn": "ERC721._transfer", "offset": [14257, 14284], "op": "PUSH1", "path": "3", "value": "0x40"}, "4170": {"fn": "ERC721._transfer", "offset": [14257, 14284], "op": "MLOAD", "path": "3"}, "4171": {"fn": "ERC721._transfer", "offset": [14257, 14284], "op": "DUP1", "path": "3"}, "4172": {"fn": "ERC721._transfer", "offset": [14257, 14284], "op": "SWAP2", "path": "3"}, "4173": {"fn": "ERC721._transfer", "offset": [14257, 14284], "op": "SUB", "path": "3"}, "4174": {"fn": "ERC721._transfer", "offset": [14257, 14284], "op": "SWAP1", "path": "3"}, "4175": {"fn": "ERC721._transfer", "offset": [14257, 14284], "op": "LOG4", "path": "3"}, "4176": {"fn": "ERC721._transfer", "offset": [13707, 14291], "op": "POP", "path": "3"}, "4177": {"fn": "ERC721._transfer", "offset": [13707, 14291], "op": "POP", "path": "3"}, "4178": {"fn": "ERC721._transfer", "offset": [13707, 14291], "op": "POP", "path": "3"}, "4179": {"fn": "ERC721._transfer", "jump": "o", "offset": [13707, 14291], "op": "JUMP", "path": "3"}, "4180": {"fn": "EnumerableSet.at", "offset": [9250, 9385], "op": "JUMPDEST", "path": "11"}, "4181": {"fn": "EnumerableSet.at", "offset": [9321, 9328], "op": "PUSH1", "path": "11", "value": "0x0"}, "4183": {"fn": "EnumerableSet.at", "offset": [9355, 9377], "op": "PUSH2", "path": "11", "statement": 46, "value": "0x7E6"}, "4186": {"fn": "EnumerableSet.at", "offset": [9359, 9362], "op": "DUP4", "path": "11"}, "4187": {"fn": "EnumerableSet.at", "offset": [9371, 9376], "op": "DUP4", "path": "11"}, "4188": {"fn": "EnumerableSet.at", "offset": [9355, 9358], "op": "PUSH2", "path": "11", "value": "0x127F"}, "4191": {"fn": "EnumerableSet.at", "jump": "i", "offset": [9355, 9377], "op": "JUMP", "path": "11"}, "4192": {"fn": "EnumerableMap.at", "offset": [8269, 8502], "op": "JUMPDEST", "path": "10"}, "4193": {"fn": "EnumerableMap.at", "offset": [8349, 8356], "op": "PUSH1", "path": "10", "value": "0x0"}, "4195": {"fn": "EnumerableMap.at", "offset": [8349, 8356], "op": "DUP1", "path": "10"}, "4196": {"fn": "EnumerableMap.at", "offset": [8349, 8356], "op": "DUP1", "path": "10"}, "4197": {"fn": "EnumerableMap.at", "offset": [8349, 8356], "op": "DUP1", "path": "10"}, "4198": {"fn": "EnumerableMap.at", "offset": [8408, 8430], "op": "PUSH2", "path": "10", "value": "0x106F"}, "4201": {"fn": "EnumerableMap.at", "offset": [8412, 8415], "op": "DUP7", "path": "10"}, "4202": {"fn": "EnumerableMap.at", "offset": [8424, 8429], "op": "DUP7", "path": "10"}, "4203": {"fn": "EnumerableMap.at", "offset": [8408, 8411], "op": "PUSH2", "path": "10", "value": "0x12E3"}, "4206": {"fn": "EnumerableMap.at", "jump": "i", "offset": [8408, 8430], "op": "JUMP", "path": "10"}, "4207": {"fn": "EnumerableMap.at", "offset": [8408, 8430], "op": "JUMPDEST", "path": "10"}, "4208": {"fn": "EnumerableMap.at", "offset": [8377, 8430], "op": "SWAP1", "path": "10"}, "4209": {"fn": "EnumerableMap.at", "offset": [8377, 8430], "op": "SWAP8", "path": "10"}, "4210": {"fn": "EnumerableMap.at", "offset": [8377, 8430], "op": "SWAP1", "path": "10"}, "4211": {"fn": "EnumerableMap.at", "offset": [8377, 8430], "op": "SWAP7", "path": "10"}, "4212": {"op": "POP"}, "4213": {"fn": "EnumerableMap.at", "offset": [8269, 8502], "op": "SWAP5", "path": "10"}, "4214": {"op": "POP"}, "4215": {"op": "POP"}, "4216": {"op": "POP"}, "4217": {"op": "POP"}, "4218": {"op": "POP"}, "4219": {"fn": "EnumerableMap.at", "jump": "o", "offset": [8269, 8502], "op": "JUMP", "path": "10"}, "4220": {"fn": "EnumerableMap.get", "offset": [9522, 9733], "op": "JUMPDEST", "path": "10"}, "4221": {"fn": "EnumerableMap.get", "offset": [9629, 9636], "op": "PUSH1", "path": "10", "value": "0x0"}, "4223": {"fn": "EnumerableMap.get", "offset": [9679, 9723], "op": "PUSH2", "path": "10", "statement": 47, "value": "0x1089"}, "4226": {"fn": "EnumerableMap.get", "offset": [9684, 9687], "op": "DUP5", "path": "10"}, "4227": {"fn": "EnumerableMap.get", "offset": [9704, 9707], "op": "DUP5", "path": "10"}, "4228": {"fn": "EnumerableMap.get", "offset": [9710, 9722], "op": "DUP5", "path": "10"}, "4229": {"fn": "EnumerableMap.get", "offset": [9679, 9683], "op": "PUSH2", "path": "10", "value": "0x135E"}, "4232": {"fn": "EnumerableMap.get", "jump": "i", "offset": [9679, 9723], "op": "JUMP", "path": "10"}, "4233": {"fn": "EnumerableMap.get", "offset": [9679, 9723], "op": "JUMPDEST", "path": "10"}, "4234": {"fn": "EnumerableMap.get", "offset": [9671, 9724], "op": "SWAP1", "path": "10"}, "4235": {"op": "POP"}, "4236": {"fn": "EnumerableMap.get", "offset": [9522, 9733], "op": "JUMPDEST", "path": "10"}, "4237": {"fn": "EnumerableMap.get", "offset": [9522, 9733], "op": "SWAP4", "path": "10"}, "4238": {"fn": "EnumerableMap.get", "offset": [9522, 9733], "op": "SWAP3", "path": "10"}, "4239": {"fn": "EnumerableMap.get", "offset": [9522, 9733], "op": "POP", "path": "10"}, "4240": {"fn": "EnumerableMap.get", "offset": [9522, 9733], "op": "POP", "path": "10"}, "4241": {"fn": "EnumerableMap.get", "offset": [9522, 9733], "op": "POP", "path": "10"}, "4242": {"fn": "EnumerableMap.get", "jump": "o", "offset": [9522, 9733], "op": "JUMP", "path": "10"}, "4243": {"fn": "ERC721._safeMint", "offset": [11348, 11456], "op": "JUMPDEST", "path": "3"}, "4244": {"fn": "ERC721._safeMint", "offset": [11423, 11449], "op": "PUSH2", "path": "3", "statement": 48, "value": "0x10AD"}, "4247": {"fn": "ERC721._safeMint", "offset": [11433, 11435], "op": "DUP3", "path": "3"}, "4248": {"fn": "ERC721._safeMint", "offset": [11437, 11444], "op": "DUP3", "path": "3"}, "4249": {"fn": "ERC721._safeMint", "offset": [11423, 11449], "op": "PUSH1", "path": "3", "value": "0x40"}, "4251": {"fn": "ERC721._safeMint", "offset": [11423, 11449], "op": "MLOAD", "path": "3"}, "4252": {"fn": "ERC721._safeMint", "offset": [11423, 11449], "op": "DUP1", "path": "3"}, "4253": {"fn": "ERC721._safeMint", "offset": [11423, 11449], "op": "PUSH1", "path": "3", "value": "0x20"}, "4255": {"fn": "ERC721._safeMint", "offset": [11423, 11449], "op": "ADD", "path": "3"}, "4256": {"fn": "ERC721._safeMint", "offset": [11423, 11449], "op": "PUSH1", "path": "3", "value": "0x40"}, "4258": {"fn": "ERC721._safeMint", "offset": [11423, 11449], "op": "MSTORE", "path": "3"}, "4259": {"fn": "ERC721._safeMint", "offset": [11423, 11449], "op": "DUP1", "path": "3"}, "4260": {"fn": "ERC721._safeMint", "offset": [11423, 11449], "op": "PUSH1", "path": "3", "value": "0x0"}, "4262": {"fn": "ERC721._safeMint", "offset": [11423, 11449], "op": "DUP2", "path": "3"}, "4263": {"fn": "ERC721._safeMint", "offset": [11423, 11449], "op": "MSTORE", "path": "3"}, "4264": {"fn": "ERC721._safeMint", "offset": [11423, 11449], "op": "POP", "path": "3"}, "4265": {"fn": "ERC721._safeMint", "offset": [11423, 11432], "op": "PUSH2", "path": "3", "value": "0x1428"}, "4268": {"fn": "ERC721._safeMint", "jump": "i", "offset": [11423, 11449], "op": "JUMP", "path": "3"}, "4269": {"fn": "ERC721._safeMint", "offset": [11423, 11449], "op": "JUMPDEST", "path": "3"}, "4270": {"fn": "ERC721._safeMint", "offset": [11348, 11456], "op": "POP", "path": "3"}, "4271": {"fn": "ERC721._safeMint", "offset": [11348, 11456], "op": "POP", "path": "3"}, "4272": {"fn": "ERC721._safeMint", "jump": "o", "offset": [11348, 11456], "op": "JUMP", "path": "3"}, "4273": {"fn": "ERC721._setTokenURI", "offset": [14438, 14650], "op": "JUMPDEST", "path": "3"}, "4274": {"fn": "ERC721._setTokenURI", "offset": [14537, 14553], "op": "PUSH2", "path": "3", "statement": 49, "value": "0x10BA"}, "4277": {"fn": "ERC721._setTokenURI", "offset": [14545, 14552], "op": "DUP3", "path": "3"}, "4278": {"fn": "ERC721._setTokenURI", "offset": [14537, 14544], "op": "PUSH2", "path": "3", "value": "0xDC2"}, "4281": {"fn": "ERC721._setTokenURI", "jump": "i", "offset": [14537, 14553], "op": "JUMP", "path": "3"}, "4282": {"branch": 120, "fn": "ERC721._setTokenURI", "offset": [14537, 14553], "op": "JUMPDEST", "path": "3"}, "4283": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "PUSH2", "path": "3", "value": "0x10F5"}, "4286": {"branch": 120, "fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "JUMPI", "path": "3"}, "4287": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "PUSH1", "path": "3", "value": "0x40"}, "4289": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "MLOAD", "path": "3"}, "4290": {"op": "PUSH3", "value": "0x461BCD"}, "4294": {"op": "PUSH1", "value": "0xE5"}, "4296": {"op": "SHL"}, "4297": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "DUP2", "path": "3"}, "4298": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "MSTORE", "path": "3"}, "4299": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "PUSH1", "path": "3", "value": "0x4"}, "4301": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "ADD", "path": "3"}, "4302": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "DUP1", "path": "3"}, "4303": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "DUP1", "path": "3"}, "4304": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "PUSH1", "path": "3", "value": "0x20"}, "4306": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "ADD", "path": "3"}, "4307": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "DUP3", "path": "3"}, "4308": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "DUP2", "path": "3"}, "4309": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "SUB", "path": "3"}, "4310": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "DUP3", "path": "3"}, "4311": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "MSTORE", "path": "3"}, "4312": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "PUSH1", "path": "3", "value": "0x2C"}, "4314": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "DUP2", "path": "3"}, "4315": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "MSTORE", "path": "3"}, "4316": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "PUSH1", "path": "3", "value": "0x20"}, "4318": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "ADD", "path": "3"}, "4319": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "DUP1", "path": "3"}, "4320": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "PUSH2", "path": "3", "value": "0x1C9B"}, "4323": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "PUSH1", "path": "3", "value": "0x2C"}, "4325": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "SWAP2", "path": "3"}, "4326": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "CODECOPY", "path": "3"}, "4327": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "PUSH1", "path": "3", "value": "0x40"}, "4329": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "ADD", "path": "3"}, "4330": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "SWAP2", "path": "3"}, "4331": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "POP", "path": "3"}, "4332": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "POP", "path": "3"}, "4333": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "PUSH1", "path": "3", "value": "0x40"}, "4335": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "MLOAD", "path": "3"}, "4336": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "DUP1", "path": "3"}, "4337": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "SWAP2", "path": "3"}, "4338": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "SUB", "path": "3"}, "4339": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "SWAP1", "path": "3"}, "4340": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "REVERT", "path": "3"}, "4341": {"fn": "ERC721._setTokenURI", "offset": [14529, 14602], "op": "JUMPDEST", "path": "3"}, "4342": {"fn": "ERC721._setTokenURI", "offset": [14612, 14631], "op": "PUSH1", "path": "3", "statement": 50, "value": "0x0"}, "4344": {"fn": "ERC721._setTokenURI", "offset": [14612, 14631], "op": "DUP3", "path": "3"}, "4345": {"fn": "ERC721._setTokenURI", "offset": [14612, 14631], "op": "DUP2", "path": "3"}, "4346": {"fn": "ERC721._setTokenURI", "offset": [14612, 14631], "op": "MSTORE", "path": "3"}, "4347": {"fn": "ERC721._setTokenURI", "offset": [14612, 14622], "op": "PUSH1", "path": "3", "value": "0x8"}, "4349": {"fn": "ERC721._setTokenURI", "offset": [14612, 14631], "op": "PUSH1", "path": "3", "value": "0x20"}, "4351": {"fn": "ERC721._setTokenURI", "offset": [14612, 14631], "op": "SWAP1", "path": "3"}, "4352": {"fn": "ERC721._setTokenURI", "offset": [14612, 14631], "op": "DUP2", "path": "3"}, "4353": {"fn": "ERC721._setTokenURI", "offset": [14612, 14631], "op": "MSTORE", "path": "3"}, "4354": {"fn": "ERC721._setTokenURI", "offset": [14612, 14631], "op": "PUSH1", "path": "3", "value": "0x40"}, "4356": {"fn": "ERC721._setTokenURI", "offset": [14612, 14631], "op": "SWAP1", "path": "3"}, "4357": {"fn": "ERC721._setTokenURI", "offset": [14612, 14631], "op": "SWAP2", "path": "3"}, "4358": {"fn": "ERC721._setTokenURI", "offset": [14612, 14631], "op": "KECCAK256", "path": "3"}, "4359": {"fn": "ERC721._setTokenURI", "offset": [14612, 14643], "op": "DUP3", "path": "3"}, "4360": {"fn": "ERC721._setTokenURI", "offset": [14612, 14643], "op": "MLOAD", "path": "3"}, "4361": {"fn": "ERC721._setTokenURI", "offset": [14612, 14643], "op": "PUSH2", "path": "3", "value": "0x751"}, "4364": {"fn": "ERC721._setTokenURI", "offset": [14612, 14643], "op": "SWAP3", "path": "3"}, "4365": {"fn": "ERC721._setTokenURI", "offset": [14612, 14643], "op": "DUP5", "path": "3"}, "4366": {"fn": "ERC721._setTokenURI", "offset": [14612, 14643], "op": "ADD", "path": "3"}, "4367": {"fn": "ERC721._setTokenURI", "offset": [14612, 14643], "op": "SWAP1", "path": "3"}, "4368": {"fn": "ERC721._setTokenURI", "offset": [14612, 14643], "op": "PUSH2", "path": "3", "value": "0x1A85"}, "4371": {"fn": "ERC721._setTokenURI", "jump": "i", "offset": [14612, 14643], "op": "JUMP", "path": "3"}, "4372": {"fn": "ERC721._safeTransfer", "offset": [9811, 10080], "op": "JUMPDEST", "path": "3"}, "4373": {"fn": "ERC721._safeTransfer", "offset": [9924, 9952], "op": "PUSH2", "path": "3", "statement": 51, "value": "0x111F"}, "4376": {"fn": "ERC721._safeTransfer", "offset": [9934, 9938], "op": "DUP5", "path": "3"}, "4377": {"fn": "ERC721._safeTransfer", "offset": [9940, 9942], "op": "DUP5", "path": "3"}, "4378": {"fn": "ERC721._safeTransfer", "offset": [9944, 9951], "op": "DUP5", "path": "3"}, "4379": {"fn": "ERC721._safeTransfer", "offset": [9924, 9933], "op": "PUSH2", "path": "3", "value": "0xEF6"}, "4382": {"fn": "ERC721._safeTransfer", "jump": "i", "offset": [9924, 9952], "op": "JUMP", "path": "3"}, "4383": {"fn": "ERC721._safeTransfer", "offset": [9924, 9952], "op": "JUMPDEST", "path": "3"}, "4384": {"fn": "ERC721._safeTransfer", "offset": [9970, 10018], "op": "PUSH2", "path": "3", "statement": 52, "value": "0x112B"}, "4387": {"fn": "ERC721._safeTransfer", "offset": [9993, 9997], "op": "DUP5", "path": "3"}, "4388": {"fn": "ERC721._safeTransfer", "offset": [9999, 10001], "op": "DUP5", "path": "3"}, "4389": {"fn": "ERC721._safeTransfer", "offset": [10003, 10010], "op": "DUP5", "path": "3"}, "4390": {"fn": "ERC721._safeTransfer", "offset": [10012, 10017], "op": "DUP5", "path": "3"}, "4391": {"fn": "ERC721._safeTransfer", "offset": [9970, 9992], "op": "PUSH2", "path": "3", "value": "0x147A"}, "4394": {"fn": "ERC721._safeTransfer", "jump": "i", "offset": [9970, 10018], "op": "JUMP", "path": "3"}, "4395": {"branch": 121, "fn": "ERC721._safeTransfer", "offset": [9970, 10018], "op": "JUMPDEST", "path": "3"}, "4396": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "PUSH2", "path": "3", "value": "0xB05"}, "4399": {"branch": 121, "fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "JUMPI", "path": "3"}, "4400": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "PUSH1", "path": "3", "value": "0x40"}, "4402": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "MLOAD", "path": "3"}, "4403": {"op": "PUSH3", "value": "0x461BCD"}, "4407": {"op": "PUSH1", "value": "0xE5"}, "4409": {"op": "SHL"}, "4410": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "DUP2", "path": "3"}, "4411": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "MSTORE", "path": "3"}, "4412": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "PUSH1", "path": "3", "value": "0x4"}, "4414": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "ADD", "path": "3"}, "4415": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "DUP1", "path": "3"}, "4416": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "DUP1", "path": "3"}, "4417": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "PUSH1", "path": "3", "value": "0x20"}, "4419": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "ADD", "path": "3"}, "4420": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "DUP3", "path": "3"}, "4421": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "DUP2", "path": "3"}, "4422": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "SUB", "path": "3"}, "4423": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "DUP3", "path": "3"}, "4424": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "MSTORE", "path": "3"}, "4425": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "PUSH1", "path": "3", "value": "0x32"}, "4427": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "DUP2", "path": "3"}, "4428": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "MSTORE", "path": "3"}, "4429": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "PUSH1", "path": "3", "value": "0x20"}, "4431": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "ADD", "path": "3"}, "4432": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "DUP1", "path": "3"}, "4433": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "PUSH2", "path": "3", "value": "0x1B40"}, "4436": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "PUSH1", "path": "3", "value": "0x32"}, "4438": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "SWAP2", "path": "3"}, "4439": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "CODECOPY", "path": "3"}, "4440": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "PUSH1", "path": "3", "value": "0x40"}, "4442": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "ADD", "path": "3"}, "4443": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "SWAP2", "path": "3"}, "4444": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "POP", "path": "3"}, "4445": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "POP", "path": "3"}, "4446": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "PUSH1", "path": "3", "value": "0x40"}, "4448": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "MLOAD", "path": "3"}, "4449": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "DUP1", "path": "3"}, "4450": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "SWAP2", "path": "3"}, "4451": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "SUB", "path": "3"}, "4452": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "SWAP1", "path": "3"}, "4453": {"fn": "ERC721._safeTransfer", "offset": [9962, 10073], "op": "REVERT", "path": "3"}, "4454": {"fn": "Strings.toString", "offset": [210, 935], "op": "JUMPDEST", "path": "12"}, "4455": {"fn": "Strings.toString", "offset": [266, 279], "op": "PUSH1", "path": "12", "value": "0x60"}, "4457": {"branch": 132, "fn": "Strings.toString", "offset": [483, 493], "op": "DUP2", "path": "12"}, "4458": {"fn": "Strings.toString", "offset": [479, 530], "op": "PUSH2", "path": "12", "value": "0x118B"}, "4461": {"branch": 132, "fn": "Strings.toString", "offset": [479, 530], "op": "JUMPI", "path": "12"}, "4462": {"op": "POP"}, "4463": {"fn": "Strings.toString", "offset": [509, 519], "op": "PUSH1", "path": "12", "statement": 53, "value": "0x40"}, "4465": {"fn": "Strings.toString", "offset": [509, 519], "op": "DUP1", "path": "12"}, "4466": {"fn": "Strings.toString", "offset": [509, 519], "op": "MLOAD", "path": "12"}, "4467": {"fn": "Strings.toString", "offset": [509, 519], "op": "DUP1", "path": "12"}, "4468": {"fn": "Strings.toString", "offset": [509, 519], "op": "DUP3", "path": "12"}, "4469": {"fn": "Strings.toString", "offset": [509, 519], "op": "ADD", "path": "12"}, "4470": {"fn": "Strings.toString", "offset": [509, 519], "op": "SWAP1", "path": "12"}, "4471": {"fn": "Strings.toString", "offset": [509, 519], "op": "SWAP2", "path": "12"}, "4472": {"fn": "Strings.toString", "offset": [509, 519], "op": "MSTORE", "path": "12"}, "4473": {"fn": "Strings.toString", "offset": [509, 519], "op": "PUSH1", "path": "12", "value": "0x1"}, "4475": {"fn": "Strings.toString", "offset": [509, 519], "op": "DUP2", "path": "12"}, "4476": {"fn": "Strings.toString", "offset": [509, 519], "op": "MSTORE", "path": "12"}, "4477": {"op": "PUSH1", "value": "0x3"}, "4479": {"op": "PUSH1", "value": "0xFC"}, "4481": {"op": "SHL"}, "4482": {"fn": "Strings.toString", "offset": [509, 519], "op": "PUSH1", "path": "12", "value": "0x20"}, "4484": {"fn": "Strings.toString", "offset": [509, 519], "op": "DUP3", "path": "12"}, "4485": {"fn": "Strings.toString", "offset": [509, 519], "op": "ADD", "path": "12"}, "4486": {"fn": "Strings.toString", "offset": [509, 519], "op": "MSTORE", "path": "12"}, "4487": {"fn": "Strings.toString", "offset": [509, 519], "op": "PUSH2", "path": "12", "value": "0x57D"}, "4490": {"fn": "Strings.toString", "offset": [509, 519], "op": "JUMP", "path": "12"}, "4491": {"fn": "Strings.toString", "offset": [479, 530], "op": "JUMPDEST", "path": "12"}, "4492": {"fn": "Strings.toString", "offset": [554, 559], "op": "DUP2", "path": "12"}, "4493": {"fn": "Strings.toString", "offset": [539, 551], "op": "PUSH1", "path": "12", "value": "0x0"}, "4495": {"fn": "Strings.toString", "offset": [593, 668], "op": "JUMPDEST", "path": "12"}, "4496": {"fn": "Strings.toString", "offset": [600, 609], "op": "DUP2", "path": "12"}, "4497": {"fn": "Strings.toString", "offset": [600, 609], "op": "ISZERO", "path": "12"}, "4498": {"fn": "Strings.toString", "offset": [593, 668], "op": "PUSH2", "path": "12", "value": "0x11A3"}, "4501": {"fn": "Strings.toString", "offset": [593, 668], "op": "JUMPI", "path": "12"}, "4502": {"fn": "Strings.toString", "offset": [625, 633], "op": "PUSH1", "path": "12", "statement": 54, "value": "0x1"}, "4504": {"fn": "Strings.toString", "offset": [625, 633], "op": "ADD", "path": "12"}, "4505": {"fn": "Strings.toString", "offset": [655, 657], "op": "PUSH1", "path": "12", "statement": 55, "value": "0xA"}, "4507": {"fn": "Strings.toString", "offset": [647, 657], "op": "DUP3", "path": "12"}, "4508": {"fn": "Strings.toString", "offset": [647, 657], "op": "DIV", "path": "12"}, "4509": {"fn": "Strings.toString", "offset": [647, 657], "op": "SWAP2", "path": "12"}, "4510": {"fn": "Strings.toString", "offset": [647, 657], "op": "POP", "path": "12"}, "4511": {"fn": "Strings.toString", "offset": [593, 668], "op": "PUSH2", "path": "12", "value": "0x118F"}, "4514": {"fn": "Strings.toString", "offset": [593, 668], "op": "JUMP", "path": "12"}, "4515": {"fn": "Strings.toString", "offset": [593, 668], "op": "JUMPDEST", "path": "12"}, "4516": {"fn": "Strings.toString", "offset": [677, 696], "op": "PUSH1", "path": "12", "value": "0x60"}, "4518": {"fn": "Strings.toString", "offset": [709, 715], "op": "DUP2", "path": "12"}, "4519": {"fn": "Strings.toString", "offset": [699, 716], "op": "PUSH8", "path": "12", "value": "0xFFFFFFFFFFFFFFFF"}, "4528": {"fn": "Strings.toString", "offset": [699, 716], "op": "DUP2", "path": "12"}, "4529": {"fn": "Strings.toString", "offset": [699, 716], "op": "GT", "path": "12"}, "4530": {"op": "DUP1"}, "4531": {"op": "ISZERO"}, "4532": {"op": "PUSH2", "value": "0x11BC"}, "4535": {"op": "JUMPI"}, "4536": {"op": "PUSH1", "value": "0x0"}, "4538": {"op": "DUP1"}, "4539": {"op": "REVERT"}, "4540": {"op": "JUMPDEST"}, "4541": {"fn": "Strings.toString", "offset": [699, 716], "op": "POP", "path": "12"}, "4542": {"fn": "Strings.toString", "offset": [699, 716], "op": "PUSH1", "path": "12", "value": "0x40"}, "4544": {"fn": "Strings.toString", "offset": [699, 716], "op": "MLOAD", "path": "12"}, "4545": {"fn": "Strings.toString", "offset": [699, 716], "op": "SWAP1", "path": "12"}, "4546": {"fn": "Strings.toString", "offset": [699, 716], "op": "DUP1", "path": "12"}, "4547": {"fn": "Strings.toString", "offset": [699, 716], "op": "DUP3", "path": "12"}, "4548": {"fn": "Strings.toString", "offset": [699, 716], "op": "MSTORE", "path": "12"}, "4549": {"fn": "Strings.toString", "offset": [699, 716], "op": "DUP1", "path": "12"}, "4550": {"fn": "Strings.toString", "offset": [699, 716], "op": "PUSH1", "path": "12", "value": "0x1F"}, "4552": {"fn": "Strings.toString", "offset": [699, 716], "op": "ADD", "path": "12"}, "4553": {"fn": "Strings.toString", "offset": [699, 716], "op": "PUSH1", "path": "12", "value": "0x1F"}, "4555": {"fn": "Strings.toString", "offset": [699, 716], "op": "NOT", "path": "12"}, "4556": {"fn": "Strings.toString", "offset": [699, 716], "op": "AND", "path": "12"}, "4557": {"fn": "Strings.toString", "offset": [699, 716], "op": "PUSH1", "path": "12", "value": "0x20"}, "4559": {"fn": "Strings.toString", "offset": [699, 716], "op": "ADD", "path": "12"}, "4560": {"fn": "Strings.toString", "offset": [699, 716], "op": "DUP3", "path": "12"}, "4561": {"fn": "Strings.toString", "offset": [699, 716], "op": "ADD", "path": "12"}, "4562": {"fn": "Strings.toString", "offset": [699, 716], "op": "PUSH1", "path": "12", "value": "0x40"}, "4564": {"fn": "Strings.toString", "offset": [699, 716], "op": "MSTORE", "path": "12"}, "4565": {"fn": "Strings.toString", "offset": [699, 716], "op": "DUP1", "path": "12"}, "4566": {"fn": "Strings.toString", "offset": [699, 716], "op": "ISZERO", "path": "12"}, "4567": {"fn": "Strings.toString", "offset": [699, 716], "op": "PUSH2", "path": "12", "value": "0x11E7"}, "4570": {"fn": "Strings.toString", "offset": [699, 716], "op": "JUMPI", "path": "12"}, "4571": {"fn": "Strings.toString", "offset": [699, 716], "op": "PUSH1", "path": "12", "value": "0x20"}, "4573": {"fn": "Strings.toString", "offset": [699, 716], "op": "DUP3", "path": "12"}, "4574": {"fn": "Strings.toString", "offset": [699, 716], "op": "ADD", "path": "12"}, "4575": {"op": "DUP2"}, "4576": {"op": "DUP1"}, "4577": {"op": "CALLDATASIZE"}, "4578": {"fn": "Strings.toString", "offset": [699, 716], "op": "DUP4", "path": "12"}, "4579": {"op": "CALLDATACOPY"}, "4580": {"op": "ADD"}, "4581": {"op": "SWAP1"}, "4582": {"op": "POP"}, "4583": {"fn": "Strings.toString", "offset": [699, 716], "op": "JUMPDEST", "path": "12"}, "4584": {"op": "POP"}, "4585": {"fn": "Strings.toString", "offset": [769, 774], "op": "DUP6", "path": "12", "statement": 56}, "4586": {"fn": "Strings.toString", "offset": [769, 774], "op": "SWAP4", "path": "12"}, "4587": {"op": "POP"}, "4588": {"fn": "Strings.toString", "offset": [677, 716], "op": "SWAP1", "path": "12"}, "4589": {"op": "POP"}, "4590": {"op": "PUSH1", "value": "0x0"}, "4592": {"op": "NOT"}, "4593": {"fn": "Strings.toString", "offset": [742, 752], "op": "DUP3", "path": "12"}, "4594": {"fn": "Strings.toString", "offset": [742, 752], "op": "ADD", "path": "12"}, "4595": {"fn": "Strings.toString", "offset": [784, 898], "op": "JUMPDEST", "path": "12"}, "4596": {"fn": "Strings.toString", "offset": [791, 800], "op": "DUP4", "path": "12"}, "4597": {"fn": "Strings.toString", "offset": [791, 800], "op": "ISZERO", "path": "12"}, "4598": {"fn": "Strings.toString", "offset": [784, 898], "op": "PUSH2", "path": "12", "value": "0x1238"}, "4601": {"fn": "Strings.toString", "offset": [784, 898], "op": "JUMPI", "path": "12"}, "4602": {"fn": "Strings.toString", "offset": [859, 861], "op": "PUSH1", "path": "12", "statement": 57, "value": "0xA"}, "4604": {"fn": "Strings.toString", "offset": [852, 856], "op": "DUP5", "path": "12"}, "4605": {"fn": "Strings.toString", "offset": [852, 861], "op": "MOD", "path": "12"}, "4606": {"fn": "Strings.toString", "offset": [847, 849], "op": "PUSH1", "path": "12", "value": "0x30"}, "4608": {"fn": "Strings.toString", "offset": [847, 861], "op": "ADD", "path": "12"}, "4609": {"fn": "Strings.toString", "offset": [834, 863], "op": "PUSH1", "path": "12", "value": "0xF8"}, "4611": {"fn": "Strings.toString", "offset": [834, 863], "op": "SHL", "path": "12"}, "4612": {"fn": "Strings.toString", "offset": [816, 822], "op": "DUP3", "path": "12"}, "4613": {"fn": "Strings.toString", "offset": [823, 830], "op": "DUP3", "path": "12"}, "4614": {"fn": "Strings.toString", "offset": [823, 830], "op": "DUP1", "path": "12"}, "4615": {"fn": "Strings.toString", "offset": [823, 830], "op": "PUSH1", "path": "12", "value": "0x1"}, "4617": {"fn": "Strings.toString", "offset": [823, 830], "op": "SWAP1", "path": "12"}, "4618": {"fn": "Strings.toString", "offset": [823, 830], "op": "SUB", "path": "12"}, "4619": {"fn": "Strings.toString", "offset": [823, 830], "op": "SWAP4", "path": "12"}, "4620": {"fn": "Strings.toString", "offset": [823, 830], "op": "POP", "path": "12"}, "4621": {"fn": "Strings.toString", "offset": [816, 831], "op": "DUP2", "path": "12"}, "4622": {"fn": "Strings.toString", "offset": [816, 831], "op": "MLOAD", "path": "12"}, "4623": {"fn": "Strings.toString", "offset": [816, 831], "op": "DUP2", "path": "12"}, "4624": {"fn": "Strings.toString", "offset": [816, 831], "op": "LT", "path": "12"}, "4625": {"fn": "Strings.toString", "offset": [816, 831], "op": "PUSH2", "path": "12", "value": "0x1216"}, "4628": {"fn": "Strings.toString", "offset": [816, 831], "op": "JUMPI", "path": "12"}, "4629": {"dev": "Index out of range", "fn": "Strings.toString", "offset": [816, 831], "op": "INVALID", "path": "12"}, "4630": {"fn": "Strings.toString", "offset": [816, 831], "op": "JUMPDEST", "path": "12"}, "4631": {"fn": "Strings.toString", "offset": [816, 831], "op": "PUSH1", "path": "12", "value": "0x20"}, "4633": {"fn": "Strings.toString", "offset": [816, 831], "op": "ADD", "path": "12"}, "4634": {"fn": "Strings.toString", "offset": [816, 831], "op": "ADD", "path": "12"}, "4635": {"fn": "Strings.toString", "offset": [816, 863], "op": "SWAP1", "path": "12"}, "4636": {"op": "PUSH1", "value": "0x1"}, "4638": {"op": "PUSH1", "value": "0x1"}, "4640": {"op": "PUSH1", "value": "0xF8"}, "4642": {"op": "SHL"}, "4643": {"op": "SUB"}, "4644": {"fn": "Strings.toString", "offset": [816, 863], "op": "NOT", "path": "12"}, "4645": {"fn": "Strings.toString", "offset": [816, 863], "op": "AND", "path": "12"}, "4646": {"fn": "Strings.toString", "offset": [816, 863], "op": "SWAP1", "path": "12"}, "4647": {"fn": "Strings.toString", "offset": [816, 863], "op": "DUP2", "path": "12"}, "4648": {"fn": "Strings.toString", "offset": [816, 863], "op": "PUSH1", "path": "12", "value": "0x0"}, "4650": {"fn": "Strings.toString", "offset": [816, 863], "op": "BYTE", "path": "12"}, "4651": {"fn": "Strings.toString", "offset": [816, 863], "op": "SWAP1", "path": "12"}, "4652": {"fn": "Strings.toString", "offset": [816, 863], "op": "MSTORE8", "path": "12"}, "4653": {"op": "POP"}, "4654": {"fn": "Strings.toString", "offset": [885, 887], "op": "PUSH1", "path": "12", "statement": 58, "value": "0xA"}, "4656": {"fn": "Strings.toString", "offset": [877, 887], "op": "DUP5", "path": "12"}, "4657": {"fn": "Strings.toString", "offset": [877, 887], "op": "DIV", "path": "12"}, "4658": {"fn": "Strings.toString", "offset": [877, 887], "op": "SWAP4", "path": "12"}, "4659": {"fn": "Strings.toString", "offset": [877, 887], "op": "POP", "path": "12"}, "4660": {"fn": "Strings.toString", "offset": [784, 898], "op": "PUSH2", "path": "12", "value": "0x11F3"}, "4663": {"fn": "Strings.toString", "offset": [784, 898], "op": "JUMP", "path": "12"}, "4664": {"fn": "Strings.toString", "offset": [784, 898], "op": "JUMPDEST", "path": "12"}, "4665": {"op": "POP"}, "4666": {"fn": "Strings.toString", "offset": [921, 927], "op": "SWAP5", "path": "12", "statement": 59}, "4667": {"fn": "Strings.toString", "offset": [210, 935], "op": "SWAP4", "path": "12"}, "4668": {"op": "POP"}, "4669": {"op": "POP"}, "4670": {"op": "POP"}, "4671": {"op": "POP"}, "4672": {"fn": "Strings.toString", "jump": "o", "offset": [210, 935], "op": "JUMP", "path": "12"}, "4673": {"fn": "EnumerableMap.contains", "offset": [7588, 7737], "op": "JUMPDEST", "path": "10"}, "4674": {"fn": "EnumerableMap.contains", "offset": [7672, 7676], "op": "PUSH1", "path": "10", "value": "0x0"}, "4676": {"fn": "EnumerableMap.contains", "offset": [7695, 7730], "op": "PUSH2", "path": "10", "statement": 60, "value": "0x7E6"}, "4679": {"fn": "EnumerableMap.contains", "offset": [7705, 7708], "op": "DUP4", "path": "10"}, "4680": {"fn": "EnumerableMap.contains", "offset": [7725, 7728], "op": "DUP4", "path": "10"}, "4681": {"fn": "EnumerableMap.contains", "offset": [7695, 7704], "op": "PUSH2", "path": "10", "value": "0x15FA"}, "4684": {"fn": "EnumerableMap.contains", "jump": "i", "offset": [7695, 7730], "op": "JUMP", "path": "10"}, "4685": {"fn": "EnumerableMap._length", "offset": [4491, 4599], "op": "JUMPDEST", "path": "10"}, "4686": {"fn": "EnumerableMap._length", "offset": [4573, 4592], "op": "SLOAD", "path": "10", "statement": 61}, "4687": {"fn": "EnumerableMap._length", "offset": [4573, 4592], "op": "SWAP1", "path": "10"}, "4688": {"fn": "EnumerableMap._length", "jump": "o", "offset": [4491, 4599], "op": "JUMP", "path": "10"}, "4689": {"fn": "EnumerableSet.remove", "offset": [8365, 8500], "op": "JUMPDEST", "path": "11"}, "4690": {"fn": "EnumerableSet.remove", "offset": [8435, 8439], "op": "PUSH1", "path": "11", "value": "0x0"}, "4692": {"fn": "EnumerableSet.remove", "offset": [8458, 8493], "op": "PUSH2", "path": "11", "statement": 62, "value": "0x7E6"}, "4695": {"fn": "EnumerableSet.remove", "offset": [8466, 8469], "op": "DUP4", "path": "11"}, "4696": {"fn": "EnumerableSet.remove", "offset": [8486, 8491], "op": "DUP4", "path": "11"}, "4697": {"fn": "EnumerableSet.remove", "offset": [8458, 8465], "op": "PUSH2", "path": "11", "value": "0x1612"}, "4700": {"fn": "EnumerableSet.remove", "jump": "i", "offset": [8458, 8493], "op": "JUMP", "path": "11"}, "4701": {"fn": "EnumerableSet.add", "offset": [8068, 8197], "op": "JUMPDEST", "path": "11"}, "4702": {"fn": "EnumerableSet.add", "offset": [8135, 8139], "op": "PUSH1", "path": "11", "value": "0x0"}, "4704": {"fn": "EnumerableSet.add", "offset": [8158, 8190], "op": "PUSH2", "path": "11", "statement": 63, "value": "0x7E6"}, "4707": {"fn": "EnumerableSet.add", "offset": [8163, 8166], "op": "DUP4", "path": "11"}, "4708": {"fn": "EnumerableSet.add", "offset": [8183, 8188], "op": "DUP4", "path": "11"}, "4709": {"fn": "EnumerableSet.add", "offset": [8158, 8162], "op": "PUSH2", "path": "11", "value": "0x16D8"}, "4712": {"fn": "EnumerableSet.add", "jump": "i", "offset": [8158, 8190], "op": "JUMP", "path": "11"}, "4713": {"fn": "EnumerableMap.set", "offset": [7027, 7210], "op": "JUMPDEST", "path": "10"}, "4714": {"fn": "EnumerableMap.set", "offset": [7116, 7120], "op": "PUSH1", "path": "10", "value": "0x0"}, "4716": {"fn": "EnumerableMap.set", "offset": [7139, 7203], "op": "PUSH2", "path": "10", "statement": 64, "value": "0x1089"}, "4719": {"fn": "EnumerableMap.set", "offset": [7144, 7147], "op": "DUP5", "path": "10"}, "4720": {"fn": "EnumerableMap.set", "offset": [7164, 7167], "op": "DUP5", "path": "10"}, "4721": {"op": "PUSH1", "value": "0x1"}, "4723": {"op": "PUSH1", "value": "0x1"}, "4725": {"op": "PUSH1", "value": "0xA0"}, "4727": {"op": "SHL"}, "4728": {"op": "SUB"}, "4729": {"fn": "EnumerableMap.set", "offset": [7178, 7201], "op": "DUP6", "path": "10"}, "4730": {"fn": "EnumerableMap.set", "offset": [7178, 7201], "op": "AND", "path": "10"}, "4731": {"fn": "EnumerableMap.set", "offset": [7139, 7143], "op": "PUSH2", "path": "10", "value": "0x1722"}, "4734": {"fn": "EnumerableMap.set", "jump": "i", "offset": [7139, 7203], "op": "JUMP", "path": "10"}, "4735": {"fn": "EnumerableSet._at", "offset": [4452, 4653], "op": "JUMPDEST", "path": "11"}, "4736": {"fn": "EnumerableSet._at", "offset": [4546, 4564], "op": "DUP2", "path": "11", "statement": 65}, "4737": {"fn": "EnumerableSet._at", "offset": [4546, 4564], "op": "SLOAD", "path": "11"}, "4738": {"fn": "EnumerableSet._at", "offset": [4519, 4526], "op": "PUSH1", "path": "11", "value": "0x0"}, "4740": {"fn": "EnumerableSet._at", "offset": [4519, 4526], "op": "SWAP1", "path": "11"}, "4741": {"branch": 129, "fn": "EnumerableSet._at", "offset": [4546, 4572], "op": "DUP3", "path": "11"}, "4742": {"op": "LT"}, "4743": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "PUSH2", "path": "11", "value": "0x12C1"}, "4746": {"branch": 129, "fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "JUMPI", "path": "11"}, "4747": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "PUSH1", "path": "11", "value": "0x40"}, "4749": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "MLOAD", "path": "11"}, "4750": {"op": "PUSH3", "value": "0x461BCD"}, "4754": {"op": "PUSH1", "value": "0xE5"}, "4756": {"op": "SHL"}, "4757": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "DUP2", "path": "11"}, "4758": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "MSTORE", "path": "11"}, "4759": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "PUSH1", "path": "11", "value": "0x4"}, "4761": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "ADD", "path": "11"}, "4762": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "DUP1", "path": "11"}, "4763": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "DUP1", "path": "11"}, "4764": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "PUSH1", "path": "11", "value": "0x20"}, "4766": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "ADD", "path": "11"}, "4767": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "DUP3", "path": "11"}, "4768": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "DUP2", "path": "11"}, "4769": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "SUB", "path": "11"}, "4770": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "DUP3", "path": "11"}, "4771": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "MSTORE", "path": "11"}, "4772": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "PUSH1", "path": "11", "value": "0x22"}, "4774": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "DUP2", "path": "11"}, "4775": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "MSTORE", "path": "11"}, "4776": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "PUSH1", "path": "11", "value": "0x20"}, "4778": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "ADD", "path": "11"}, "4779": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "DUP1", "path": "11"}, "4780": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "PUSH2", "path": "11", "value": "0x1B1E"}, "4783": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "PUSH1", "path": "11", "value": "0x22"}, "4785": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "SWAP2", "path": "11"}, "4786": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "CODECOPY", "path": "11"}, "4787": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "PUSH1", "path": "11", "value": "0x40"}, "4789": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "ADD", "path": "11"}, "4790": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "SWAP2", "path": "11"}, "4791": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "POP", "path": "11"}, "4792": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "POP", "path": "11"}, "4793": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "PUSH1", "path": "11", "value": "0x40"}, "4795": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "MLOAD", "path": "11"}, "4796": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "DUP1", "path": "11"}, "4797": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "SWAP2", "path": "11"}, "4798": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "SUB", "path": "11"}, "4799": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "SWAP1", "path": "11"}, "4800": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "REVERT", "path": "11"}, "4801": {"fn": "EnumerableSet._at", "offset": [4538, 4611], "op": "JUMPDEST", "path": "11"}, "4802": {"fn": "EnumerableSet._at", "offset": [4628, 4631], "op": "DUP3", "path": "11", "statement": 66}, "4803": {"fn": "EnumerableSet._at", "offset": [4628, 4639], "op": "PUSH1", "path": "11", "value": "0x0"}, "4805": {"fn": "EnumerableSet._at", "offset": [4628, 4639], "op": "ADD", "path": "11"}, "4806": {"fn": "EnumerableSet._at", "offset": [4640, 4645], "op": "DUP3", "path": "11"}, "4807": {"fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "DUP2", "path": "11"}, "4808": {"fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "SLOAD", "path": "11"}, "4809": {"fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "DUP2", "path": "11"}, "4810": {"fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "LT", "path": "11"}, "4811": {"fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "PUSH2", "path": "11", "value": "0x12D0"}, "4814": {"fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "JUMPI", "path": "11"}, "4815": {"dev": "Index out of range", "fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "INVALID", "path": "11"}, "4816": {"fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "JUMPDEST", "path": "11"}, "4817": {"fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "SWAP1", "path": "11"}, "4818": {"fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "PUSH1", "path": "11", "value": "0x0"}, "4820": {"fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "MSTORE", "path": "11"}, "4821": {"fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "PUSH1", "path": "11", "value": "0x20"}, "4823": {"fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "PUSH1", "path": "11", "value": "0x0"}, "4825": {"fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "KECCAK256", "path": "11"}, "4826": {"fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "ADD", "path": "11"}, "4827": {"fn": "EnumerableSet._at", "offset": [4628, 4646], "op": "SLOAD", "path": "11"}, "4828": {"fn": "EnumerableSet._at", "offset": [4621, 4646], "op": "SWAP1", "path": "11"}, "4829": {"fn": "EnumerableSet._at", "offset": [4621, 4646], "op": "POP", "path": "11"}, "4830": {"fn": "EnumerableSet._at", "offset": [4452, 4653], "op": "SWAP3", "path": "11"}, "4831": {"fn": "EnumerableSet._at", "offset": [4452, 4653], "op": "SWAP2", "path": "11"}, "4832": {"fn": "EnumerableSet._at", "offset": [4452, 4653], "op": "POP", "path": "11"}, "4833": {"fn": "EnumerableSet._at", "offset": [4452, 4653], "op": "POP", "path": "11"}, "4834": {"fn": "EnumerableSet._at", "jump": "o", "offset": [4452, 4653], "op": "JUMP", "path": "11"}, "4835": {"fn": "EnumerableMap._at", "offset": [4942, 5216], "op": "JUMPDEST", "path": "10"}, "4836": {"fn": "EnumerableMap._at", "offset": [5045, 5064], "op": "DUP2", "path": "10", "statement": 67}, "4837": {"fn": "EnumerableMap._at", "offset": [5045, 5064], "op": "SLOAD", "path": "10"}, "4838": {"fn": "EnumerableMap._at", "offset": [5009, 5016], "op": "PUSH1", "path": "10", "value": "0x0"}, "4840": {"fn": "EnumerableMap._at", "offset": [5009, 5016], "op": "SWAP1", "path": "10"}, "4841": {"fn": "EnumerableMap._at", "offset": [5009, 5016], "op": "DUP2", "path": "10"}, "4842": {"fn": "EnumerableMap._at", "offset": [5009, 5016], "op": "SWAP1", "path": "10"}, "4843": {"branch": 126, "fn": "EnumerableMap._at", "offset": [5045, 5072], "op": "DUP4", "path": "10"}, "4844": {"op": "LT"}, "4845": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "PUSH2", "path": "10", "value": "0x1327"}, "4848": {"branch": 126, "fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "JUMPI", "path": "10"}, "4849": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "PUSH1", "path": "10", "value": "0x40"}, "4851": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "MLOAD", "path": "10"}, "4852": {"op": "PUSH3", "value": "0x461BCD"}, "4856": {"op": "PUSH1", "value": "0xE5"}, "4858": {"op": "SHL"}, "4859": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "DUP2", "path": "10"}, "4860": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "MSTORE", "path": "10"}, "4861": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "PUSH1", "path": "10", "value": "0x4"}, "4863": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "ADD", "path": "10"}, "4864": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "DUP1", "path": "10"}, "4865": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "DUP1", "path": "10"}, "4866": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "PUSH1", "path": "10", "value": "0x20"}, "4868": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "ADD", "path": "10"}, "4869": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "DUP3", "path": "10"}, "4870": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "DUP2", "path": "10"}, "4871": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "SUB", "path": "10"}, "4872": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "DUP3", "path": "10"}, "4873": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "MSTORE", "path": "10"}, "4874": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "PUSH1", "path": "10", "value": "0x22"}, "4876": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "DUP2", "path": "10"}, "4877": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "MSTORE", "path": "10"}, "4878": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "PUSH1", "path": "10", "value": "0x20"}, "4880": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "ADD", "path": "10"}, "4881": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "DUP1", "path": "10"}, "4882": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "PUSH2", "path": "10", "value": "0x1C4D"}, "4885": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "PUSH1", "path": "10", "value": "0x22"}, "4887": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "SWAP2", "path": "10"}, "4888": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "CODECOPY", "path": "10"}, "4889": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "PUSH1", "path": "10", "value": "0x40"}, "4891": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "ADD", "path": "10"}, "4892": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "SWAP2", "path": "10"}, "4893": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "POP", "path": "10"}, "4894": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "POP", "path": "10"}, "4895": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "PUSH1", "path": "10", "value": "0x40"}, "4897": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "MLOAD", "path": "10"}, "4898": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "DUP1", "path": "10"}, "4899": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "SWAP2", "path": "10"}, "4900": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "SUB", "path": "10"}, "4901": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "SWAP1", "path": "10"}, "4902": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "REVERT", "path": "10"}, "4903": {"fn": "EnumerableMap._at", "offset": [5037, 5111], "op": "JUMPDEST", "path": "10"}, "4904": {"fn": "EnumerableMap._at", "offset": [5122, 5144], "op": "PUSH1", "path": "10", "value": "0x0"}, "4906": {"fn": "EnumerableMap._at", "offset": [5147, 5150], "op": "DUP5", "path": "10"}, "4907": {"fn": "EnumerableMap._at", "offset": [5147, 5159], "op": "PUSH1", "path": "10", "value": "0x0"}, "4909": {"fn": "EnumerableMap._at", "offset": [5147, 5159], "op": "ADD", "path": "10"}, "4910": {"fn": "EnumerableMap._at", "offset": [5160, 5165], "op": "DUP5", "path": "10"}, "4911": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "DUP2", "path": "10"}, "4912": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "SLOAD", "path": "10"}, "4913": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "DUP2", "path": "10"}, "4914": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "LT", "path": "10"}, "4915": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "PUSH2", "path": "10", "value": "0x1338"}, "4918": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "JUMPI", "path": "10"}, "4919": {"dev": "Index out of range", "fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "INVALID", "path": "10"}, "4920": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "JUMPDEST", "path": "10"}, "4921": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "SWAP1", "path": "10"}, "4922": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "PUSH1", "path": "10", "value": "0x0"}, "4924": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "MSTORE", "path": "10"}, "4925": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "PUSH1", "path": "10", "value": "0x20"}, "4927": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "PUSH1", "path": "10", "value": "0x0"}, "4929": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "KECCAK256", "path": "10"}, "4930": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "SWAP1", "path": "10"}, "4931": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "PUSH1", "path": "10", "value": "0x2"}, "4933": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "MUL", "path": "10"}, "4934": {"fn": "EnumerableMap._at", "offset": [5147, 5166], "op": "ADD", "path": "10"}, "4935": {"fn": "EnumerableMap._at", "offset": [5122, 5166], "op": "SWAP1", "path": "10"}, "4936": {"fn": "EnumerableMap._at", "offset": [5122, 5166], "op": "POP", "path": "10"}, "4937": {"fn": "EnumerableMap._at", "offset": [5184, 5189], "op": "DUP1", "path": "10", "statement": 68}, "4938": {"fn": "EnumerableMap._at", "offset": [5184, 5194], "op": "PUSH1", "path": "10", "value": "0x0"}, "4940": {"fn": "EnumerableMap._at", "offset": [5184, 5194], "op": "ADD", "path": "10"}, "4941": {"fn": "EnumerableMap._at", "offset": [5184, 5194], "op": "SLOAD", "path": "10"}, "4942": {"fn": "EnumerableMap._at", "offset": [5196, 5201], "op": "DUP2", "path": "10"}, "4943": {"fn": "EnumerableMap._at", "offset": [5196, 5208], "op": "PUSH1", "path": "10", "value": "0x1"}, "4945": {"fn": "EnumerableMap._at", "offset": [5196, 5208], "op": "ADD", "path": "10"}, "4946": {"fn": "EnumerableMap._at", "offset": [5196, 5208], "op": "SLOAD", "path": "10"}, "4947": {"fn": "EnumerableMap._at", "offset": [5176, 5209], "op": "SWAP3", "path": "10"}, "4948": {"fn": "EnumerableMap._at", "offset": [5176, 5209], "op": "POP", "path": "10"}, "4949": {"fn": "EnumerableMap._at", "offset": [5176, 5209], "op": "SWAP3", "path": "10"}, "4950": {"fn": "EnumerableMap._at", "offset": [5176, 5209], "op": "POP", "path": "10"}, "4951": {"fn": "EnumerableMap._at", "offset": [5176, 5209], "op": "POP", "path": "10"}, "4952": {"fn": "EnumerableMap._at", "offset": [4942, 5216], "op": "SWAP3", "path": "10"}, "4953": {"fn": "EnumerableMap._at", "offset": [4942, 5216], "op": "POP", "path": "10"}, "4954": {"fn": "EnumerableMap._at", "offset": [4942, 5216], "op": "SWAP3", "path": "10"}, "4955": {"fn": "EnumerableMap._at", "offset": [4942, 5216], "op": "SWAP1", "path": "10"}, "4956": {"fn": "EnumerableMap._at", "offset": [4942, 5216], "op": "POP", "path": "10"}, "4957": {"fn": "EnumerableMap._at", "jump": "o", "offset": [4942, 5216], "op": "JUMP", "path": "10"}, "4958": {"fn": "EnumerableMap._get", "offset": [6403, 6718], "op": "JUMPDEST", "path": "10"}, "4959": {"fn": "EnumerableMap._get", "offset": [6497, 6504], "op": "PUSH1", "path": "10", "value": "0x0"}, "4961": {"fn": "EnumerableMap._get", "offset": [6535, 6552], "op": "DUP3", "path": "10"}, "4962": {"fn": "EnumerableMap._get", "offset": [6535, 6552], "op": "DUP2", "path": "10"}, "4963": {"fn": "EnumerableMap._get", "offset": [6535, 6552], "op": "MSTORE", "path": "10"}, "4964": {"fn": "EnumerableMap._get", "offset": [6535, 6547], "op": "PUSH1", "path": "10", "value": "0x1"}, "4966": {"fn": "EnumerableMap._get", "offset": [6535, 6547], "op": "DUP5", "path": "10"}, "4967": {"fn": "EnumerableMap._get", "offset": [6535, 6547], "op": "ADD", "path": "10"}, "4968": {"fn": "EnumerableMap._get", "offset": [6535, 6552], "op": "PUSH1", "path": "10", "value": "0x20"}, "4970": {"fn": "EnumerableMap._get", "offset": [6535, 6552], "op": "MSTORE", "path": "10"}, "4971": {"fn": "EnumerableMap._get", "offset": [6535, 6552], "op": "PUSH1", "path": "10", "value": "0x40"}, "4973": {"fn": "EnumerableMap._get", "offset": [6535, 6552], "op": "DUP2", "path": "10"}, "4974": {"fn": "EnumerableMap._get", "offset": [6535, 6552], "op": "KECCAK256", "path": "10"}, "4975": {"fn": "EnumerableMap._get", "offset": [6535, 6552], "op": "SLOAD", "path": "10"}, "4976": {"fn": "EnumerableMap._get", "offset": [6585, 6597], "op": "DUP3", "path": "10", "statement": 69}, "4977": {"branch": 127, "fn": "EnumerableMap._get", "offset": [6570, 6583], "op": "DUP2", "path": "10"}, "4978": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "PUSH2", "path": "10", "value": "0x13F9"}, "4981": {"branch": 127, "fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "JUMPI", "path": "10"}, "4982": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "PUSH1", "path": "10", "value": "0x40"}, "4984": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "MLOAD", "path": "10"}, "4985": {"op": "PUSH3", "value": "0x461BCD"}, "4989": {"op": "PUSH1", "value": "0xE5"}, "4991": {"op": "SHL"}, "4992": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP2", "path": "10"}, "4993": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "MSTORE", "path": "10"}, "4994": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "PUSH1", "path": "10", "value": "0x4"}, "4996": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "ADD", "path": "10"}, "4997": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP1", "path": "10"}, "4998": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP1", "path": "10"}, "4999": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "PUSH1", "path": "10", "value": "0x20"}, "5001": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "ADD", "path": "10"}, "5002": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP3", "path": "10"}, "5003": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP2", "path": "10"}, "5004": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "SUB", "path": "10"}, "5005": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP3", "path": "10"}, "5006": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "MSTORE", "path": "10"}, "5007": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP4", "path": "10"}, "5008": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP2", "path": "10"}, "5009": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP2", "path": "10"}, "5010": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "MLOAD", "path": "10"}, "5011": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP2", "path": "10"}, "5012": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "MSTORE", "path": "10"}, "5013": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "PUSH1", "path": "10", "value": "0x20"}, "5015": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "ADD", "path": "10"}, "5016": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "SWAP2", "path": "10"}, "5017": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "POP", "path": "10"}, "5018": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP1", "path": "10"}, "5019": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "MLOAD", "path": "10"}, "5020": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "SWAP1", "path": "10"}, "5021": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "PUSH1", "path": "10", "value": "0x20"}, "5023": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "ADD", "path": "10"}, "5024": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "SWAP1", "path": "10"}, "5025": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP1", "path": "10"}, "5026": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP4", "path": "10"}, "5027": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP4", "path": "10"}, "5028": {"op": "PUSH1", "value": "0x0"}, "5030": {"op": "JUMPDEST"}, "5031": {"op": "DUP4"}, "5032": {"op": "DUP2"}, "5033": {"op": "LT"}, "5034": {"op": "ISZERO"}, "5035": {"op": "PUSH2", "value": "0x13BE"}, "5038": {"op": "JUMPI"}, "5039": {"op": "DUP2"}, "5040": {"op": "DUP2"}, "5041": {"op": "ADD"}, "5042": {"op": "MLOAD"}, "5043": {"op": "DUP4"}, "5044": {"op": "DUP3"}, "5045": {"op": "ADD"}, "5046": {"op": "MSTORE"}, "5047": {"op": "PUSH1", "value": "0x20"}, "5049": {"op": "ADD"}, "5050": {"op": "PUSH2", "value": "0x13A6"}, "5053": {"op": "JUMP"}, "5054": {"op": "JUMPDEST"}, "5055": {"op": "POP"}, "5056": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "POP", "path": "10"}, "5057": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "POP", "path": "10"}, "5058": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "POP", "path": "10"}, "5059": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "SWAP1", "path": "10"}, "5060": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "POP", "path": "10"}, "5061": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "SWAP1", "path": "10"}, "5062": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP2", "path": "10"}, "5063": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "ADD", "path": "10"}, "5064": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "SWAP1", "path": "10"}, "5065": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "PUSH1", "path": "10", "value": "0x1F"}, "5067": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "AND", "path": "10"}, "5068": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP1", "path": "10"}, "5069": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "ISZERO", "path": "10"}, "5070": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "PUSH2", "path": "10", "value": "0x13EB"}, "5073": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "JUMPI", "path": "10"}, "5074": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP1", "path": "10"}, "5075": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP3", "path": "10"}, "5076": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "SUB", "path": "10"}, "5077": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP1", "path": "10"}, "5078": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "MLOAD", "path": "10"}, "5079": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "PUSH1", "path": "10", "value": "0x1"}, "5081": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP4", "path": "10"}, "5082": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "PUSH1", "path": "10", "value": "0x20"}, "5084": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "SUB", "path": "10"}, "5085": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "PUSH2", "path": "10", "value": "0x100"}, "5088": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "EXP", "path": "10"}, "5089": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "SUB", "path": "10"}, "5090": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "NOT", "path": "10"}, "5091": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "AND", "path": "10"}, "5092": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP2", "path": "10"}, "5093": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "MSTORE", "path": "10"}, "5094": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "PUSH1", "path": "10", "value": "0x20"}, "5096": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "ADD", "path": "10"}, "5097": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "SWAP2", "path": "10"}, "5098": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "POP", "path": "10"}, "5099": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "JUMPDEST", "path": "10"}, "5100": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "POP", "path": "10"}, "5101": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "SWAP3", "path": "10"}, "5102": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "POP", "path": "10"}, "5103": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "POP", "path": "10"}, "5104": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "POP", "path": "10"}, "5105": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "PUSH1", "path": "10", "value": "0x40"}, "5107": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "MLOAD", "path": "10"}, "5108": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "DUP1", "path": "10"}, "5109": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "SWAP2", "path": "10"}, "5110": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "SUB", "path": "10"}, "5111": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "SWAP1", "path": "10"}, "5112": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "REVERT", "path": "10"}, "5113": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "JUMPDEST", "path": "10"}, "5114": {"fn": "EnumerableMap._get", "offset": [6562, 6598], "op": "POP", "path": "10"}, "5115": {"fn": "EnumerableMap._get", "offset": [6651, 6654], "op": "DUP5", "path": "10", "statement": 70}, "5116": {"fn": "EnumerableMap._get", "offset": [6651, 6663], "op": "PUSH1", "path": "10", "value": "0x0"}, "5118": {"fn": "EnumerableMap._get", "offset": [6651, 6663], "op": "ADD", "path": "10"}, "5119": {"fn": "EnumerableMap._get", "offset": [6675, 6676], "op": "PUSH1", "path": "10", "value": "0x1"}, "5121": {"fn": "EnumerableMap._get", "offset": [6664, 6672], "op": "DUP3", "path": "10"}, "5122": {"fn": "EnumerableMap._get", "offset": [6664, 6676], "op": "SUB", "path": "10"}, "5123": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "DUP2", "path": "10"}, "5124": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "SLOAD", "path": "10"}, "5125": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "DUP2", "path": "10"}, "5126": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "LT", "path": "10"}, "5127": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "PUSH2", "path": "10", "value": "0x140C"}, "5130": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "JUMPI", "path": "10"}, "5131": {"dev": "Index out of range", "fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "INVALID", "path": "10"}, "5132": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "JUMPDEST", "path": "10"}, "5133": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "SWAP1", "path": "10"}, "5134": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "PUSH1", "path": "10", "value": "0x0"}, "5136": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "MSTORE", "path": "10"}, "5137": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "PUSH1", "path": "10", "value": "0x20"}, "5139": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "PUSH1", "path": "10", "value": "0x0"}, "5141": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "KECCAK256", "path": "10"}, "5142": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "SWAP1", "path": "10"}, "5143": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "PUSH1", "path": "10", "value": "0x2"}, "5145": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "MUL", "path": "10"}, "5146": {"fn": "EnumerableMap._get", "offset": [6651, 6677], "op": "ADD", "path": "10"}, "5147": {"fn": "EnumerableMap._get", "offset": [6651, 6684], "op": "PUSH1", "path": "10", "value": "0x1"}, "5149": {"fn": "EnumerableMap._get", "offset": [6651, 6684], "op": "ADD", "path": "10"}, "5150": {"fn": "EnumerableMap._get", "offset": [6651, 6684], "op": "SLOAD", "path": "10"}, "5151": {"fn": "EnumerableMap._get", "offset": [6644, 6684], "op": "SWAP2", "path": "10"}, "5152": {"fn": "EnumerableMap._get", "offset": [6644, 6684], "op": "POP", "path": "10"}, "5153": {"fn": "EnumerableMap._get", "offset": [6644, 6684], "op": "POP", "path": "10"}, "5154": {"fn": "EnumerableMap._get", "offset": [6403, 6718], "op": "SWAP4", "path": "10"}, "5155": {"fn": "EnumerableMap._get", "offset": [6403, 6718], "op": "SWAP3", "path": "10"}, "5156": {"fn": "EnumerableMap._get", "offset": [6403, 6718], "op": "POP", "path": "10"}, "5157": {"fn": "EnumerableMap._get", "offset": [6403, 6718], "op": "POP", "path": "10"}, "5158": {"fn": "EnumerableMap._get", "offset": [6403, 6718], "op": "POP", "path": "10"}, "5159": {"fn": "EnumerableMap._get", "jump": "o", "offset": [6403, 6718], "op": "JUMP", "path": "10"}, "5160": {"fn": "ERC721._safeMint", "offset": [11677, 11924], "op": "JUMPDEST", "path": "3"}, "5161": {"fn": "ERC721._safeMint", "offset": [11772, 11790], "op": "PUSH2", "path": "3", "statement": 71, "value": "0x1432"}, "5164": {"fn": "ERC721._safeMint", "offset": [11778, 11780], "op": "DUP4", "path": "3"}, "5165": {"fn": "ERC721._safeMint", "offset": [11782, 11789], "op": "DUP4", "path": "3"}, "5166": {"fn": "ERC721._safeMint", "offset": [11772, 11777], "op": "PUSH2", "path": "3", "value": "0x17B9"}, "5169": {"fn": "ERC721._safeMint", "jump": "i", "offset": [11772, 11790], "op": "JUMP", "path": "3"}, "5170": {"fn": "ERC721._safeMint", "offset": [11772, 11790], "op": "JUMPDEST", "path": "3"}, "5171": {"fn": "ERC721._safeMint", "offset": [11808, 11862], "op": "PUSH2", "path": "3", "statement": 72, "value": "0x143F"}, "5174": {"fn": "ERC721._safeMint", "offset": [11839, 11840], "op": "PUSH1", "path": "3", "value": "0x0"}, "5176": {"fn": "ERC721._safeMint", "offset": [11843, 11845], "op": "DUP5", "path": "3"}, "5177": {"fn": "ERC721._safeMint", "offset": [11847, 11854], "op": "DUP5", "path": "3"}, "5178": {"fn": "ERC721._safeMint", "offset": [11856, 11861], "op": "DUP5", "path": "3"}, "5179": {"fn": "ERC721._safeMint", "offset": [11808, 11830], "op": "PUSH2", "path": "3", "value": "0x147A"}, "5182": {"fn": "ERC721._safeMint", "jump": "i", "offset": [11808, 11862], "op": "JUMP", "path": "3"}, "5183": {"branch": 122, "fn": "ERC721._safeMint", "offset": [11808, 11862], "op": "JUMPDEST", "path": "3"}, "5184": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "PUSH2", "path": "3", "value": "0x751"}, "5187": {"branch": 122, "fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "JUMPI", "path": "3"}, "5188": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "PUSH1", "path": "3", "value": "0x40"}, "5190": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "MLOAD", "path": "3"}, "5191": {"op": "PUSH3", "value": "0x461BCD"}, "5195": {"op": "PUSH1", "value": "0xE5"}, "5197": {"op": "SHL"}, "5198": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "DUP2", "path": "3"}, "5199": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "MSTORE", "path": "3"}, "5200": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "PUSH1", "path": "3", "value": "0x4"}, "5202": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "ADD", "path": "3"}, "5203": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "DUP1", "path": "3"}, "5204": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "DUP1", "path": "3"}, "5205": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "PUSH1", "path": "3", "value": "0x20"}, "5207": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "ADD", "path": "3"}, "5208": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "DUP3", "path": "3"}, "5209": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "DUP2", "path": "3"}, "5210": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "SUB", "path": "3"}, "5211": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "DUP3", "path": "3"}, "5212": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "MSTORE", "path": "3"}, "5213": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "PUSH1", "path": "3", "value": "0x32"}, "5215": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "DUP2", "path": "3"}, "5216": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "MSTORE", "path": "3"}, "5217": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "PUSH1", "path": "3", "value": "0x20"}, "5219": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "ADD", "path": "3"}, "5220": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "DUP1", "path": "3"}, "5221": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "PUSH2", "path": "3", "value": "0x1B40"}, "5224": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "PUSH1", "path": "3", "value": "0x32"}, "5226": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "SWAP2", "path": "3"}, "5227": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "CODECOPY", "path": "3"}, "5228": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "PUSH1", "path": "3", "value": "0x40"}, "5230": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "ADD", "path": "3"}, "5231": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "SWAP2", "path": "3"}, "5232": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "POP", "path": "3"}, "5233": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "POP", "path": "3"}, "5234": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "PUSH1", "path": "3", "value": "0x40"}, "5236": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "MLOAD", "path": "3"}, "5237": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "DUP1", "path": "3"}, "5238": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "SWAP2", "path": "3"}, "5239": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "SUB", "path": "3"}, "5240": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "SWAP1", "path": "3"}, "5241": {"fn": "ERC721._safeMint", "offset": [11800, 11917], "op": "REVERT", "path": "3"}, "5242": {"fn": "ERC721._checkOnERC721Received", "offset": [15524, 16113], "op": "JUMPDEST", "path": "3"}, "5243": {"fn": "ERC721._checkOnERC721Received", "offset": [15644, 15648], "op": "PUSH1", "path": "3", "value": "0x0"}, "5245": {"fn": "ERC721._checkOnERC721Received", "offset": [15669, 15684], "op": "PUSH2", "path": "3", "value": "0x148E"}, "5248": {"fn": "ERC721._checkOnERC721Received", "offset": [15669, 15671], "op": "DUP5", "path": "3"}, "5249": {"op": "PUSH1", "value": "0x1"}, "5251": {"op": "PUSH1", "value": "0x1"}, "5253": {"op": "PUSH1", "value": "0xA0"}, "5255": {"op": "SHL"}, "5256": {"op": "SUB"}, "5257": {"fn": "ERC721._checkOnERC721Received", "offset": [15669, 15682], "op": "AND", "path": "3"}, "5258": {"fn": "ERC721._checkOnERC721Received", "offset": [15669, 15682], "op": "PUSH2", "path": "3", "value": "0x18F3"}, "5261": {"fn": "ERC721._checkOnERC721Received", "jump": "i", "offset": [15669, 15684], "op": "JUMP", "path": "3"}, "5262": {"branch": 123, "fn": "ERC721._checkOnERC721Received", "offset": [15669, 15684], "op": "JUMPDEST", "path": "3"}, "5263": {"fn": "ERC721._checkOnERC721Received", "offset": [15664, 15722], "op": "PUSH2", "path": "3", "value": "0x149A"}, "5266": {"branch": 123, "fn": "ERC721._checkOnERC721Received", "offset": [15664, 15722], "op": "JUMPI", "path": "3"}, "5267": {"op": "POP"}, "5268": {"fn": "ERC721._checkOnERC721Received", "offset": [15707, 15711], "op": "PUSH1", "path": "3", "statement": 73, "value": "0x1"}, "5270": {"fn": "ERC721._checkOnERC721Received", "offset": [15700, 15711], "op": "PUSH2", "path": "3", "value": "0xEEE"}, "5273": {"fn": "ERC721._checkOnERC721Received", "offset": [15700, 15711], "op": "JUMP", "path": "3"}, "5274": {"fn": "ERC721._checkOnERC721Received", "offset": [15664, 15722], "op": "JUMPDEST", "path": "3"}, "5275": {"fn": "ERC721._checkOnERC721Received", "offset": [15731, 15754], "op": "PUSH1", "path": "3", "value": "0x60"}, "5277": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "PUSH2", "path": "3", "value": "0x15C0"}, "5280": {"op": "PUSH4", "value": "0xA85BD01"}, "5285": {"op": "PUSH1", "value": "0xE1"}, "5287": {"op": "SHL"}, "5288": {"fn": "ERC721._checkOnERC721Received", "offset": [15868, 15880], "op": "PUSH2", "path": "3", "value": "0x14AF"}, "5291": {"fn": "ERC721._checkOnERC721Received", "offset": [15868, 15878], "op": "PUSH2", "path": "3", "value": "0xDD5"}, "5294": {"fn": "ERC721._checkOnERC721Received", "jump": "i", "offset": [15868, 15880], "op": "JUMP", "path": "3"}, "5295": {"fn": "ERC721._checkOnERC721Received", "offset": [15868, 15880], "op": "JUMPDEST", "path": "3"}, "5296": {"fn": "ERC721._checkOnERC721Received", "offset": [15894, 15898], "op": "DUP9", "path": "3"}, "5297": {"fn": "ERC721._checkOnERC721Received", "offset": [15912, 15919], "op": "DUP8", "path": "3"}, "5298": {"fn": "ERC721._checkOnERC721Received", "offset": [15933, 15938], "op": "DUP8", "path": "3"}, "5299": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH1", "path": "3", "value": "0x40"}, "5301": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "MLOAD", "path": "3"}, "5302": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH1", "path": "3", "value": "0x24"}, "5304": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "ADD", "path": "3"}, "5305": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP1", "path": "3"}, "5306": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP6", "path": "3"}, "5307": {"op": "PUSH1", "value": "0x1"}, "5309": {"op": "PUSH1", "value": "0x1"}, "5311": {"op": "PUSH1", "value": "0xA0"}, "5313": {"op": "SHL"}, "5314": {"op": "SUB"}, "5315": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "AND", "path": "3"}, "5316": {"op": "PUSH1", "value": "0x1"}, "5318": {"op": "PUSH1", "value": "0x1"}, "5320": {"op": "PUSH1", "value": "0xA0"}, "5322": {"op": "SHL"}, "5323": {"op": "SUB"}, "5324": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "AND", "path": "3"}, "5325": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP2", "path": "3"}, "5326": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "MSTORE", "path": "3"}, "5327": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH1", "path": "3", "value": "0x20"}, "5329": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "ADD", "path": "3"}, "5330": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP5", "path": "3"}, "5331": {"op": "PUSH1", "value": "0x1"}, "5333": {"op": "PUSH1", "value": "0x1"}, "5335": {"op": "PUSH1", "value": "0xA0"}, "5337": {"op": "SHL"}, "5338": {"op": "SUB"}, "5339": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "AND", "path": "3"}, "5340": {"op": "PUSH1", "value": "0x1"}, "5342": {"op": "PUSH1", "value": "0x1"}, "5344": {"op": "PUSH1", "value": "0xA0"}, "5346": {"op": "SHL"}, "5347": {"op": "SUB"}, "5348": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "AND", "path": "3"}, "5349": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP2", "path": "3"}, "5350": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "MSTORE", "path": "3"}, "5351": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH1", "path": "3", "value": "0x20"}, "5353": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "ADD", "path": "3"}, "5354": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP4", "path": "3"}, "5355": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP2", "path": "3"}, "5356": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "MSTORE", "path": "3"}, "5357": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH1", "path": "3", "value": "0x20"}, "5359": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "ADD", "path": "3"}, "5360": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP1", "path": "3"}, "5361": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH1", "path": "3", "value": "0x20"}, "5363": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "ADD", "path": "3"}, "5364": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP3", "path": "3"}, "5365": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP2", "path": "3"}, "5366": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "SUB", "path": "3"}, "5367": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP3", "path": "3"}, "5368": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "MSTORE", "path": "3"}, "5369": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP4", "path": "3"}, "5370": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP2", "path": "3"}, "5371": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP2", "path": "3"}, "5372": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "MLOAD", "path": "3"}, "5373": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP2", "path": "3"}, "5374": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "MSTORE", "path": "3"}, "5375": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH1", "path": "3", "value": "0x20"}, "5377": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "ADD", "path": "3"}, "5378": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "SWAP2", "path": "3"}, "5379": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "POP", "path": "3"}, "5380": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP1", "path": "3"}, "5381": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "MLOAD", "path": "3"}, "5382": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "SWAP1", "path": "3"}, "5383": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH1", "path": "3", "value": "0x20"}, "5385": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "ADD", "path": "3"}, "5386": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "SWAP1", "path": "3"}, "5387": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP1", "path": "3"}, "5388": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP4", "path": "3"}, "5389": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP4", "path": "3"}, "5390": {"op": "PUSH1", "value": "0x0"}, "5392": {"op": "JUMPDEST"}, "5393": {"op": "DUP4"}, "5394": {"op": "DUP2"}, "5395": {"op": "LT"}, "5396": {"op": "ISZERO"}, "5397": {"op": "PUSH2", "value": "0x1528"}, "5400": {"op": "JUMPI"}, "5401": {"op": "DUP2"}, "5402": {"op": "DUP2"}, "5403": {"op": "ADD"}, "5404": {"op": "MLOAD"}, "5405": {"op": "DUP4"}, "5406": {"op": "DUP3"}, "5407": {"op": "ADD"}, "5408": {"op": "MSTORE"}, "5409": {"op": "PUSH1", "value": "0x20"}, "5411": {"op": "ADD"}, "5412": {"op": "PUSH2", "value": "0x1510"}, "5415": {"op": "JUMP"}, "5416": {"op": "JUMPDEST"}, "5417": {"op": "POP"}, "5418": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "POP", "path": "3"}, "5419": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "POP", "path": "3"}, "5420": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "POP", "path": "3"}, "5421": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "SWAP1", "path": "3"}, "5422": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "POP", "path": "3"}, "5423": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "SWAP1", "path": "3"}, "5424": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP2", "path": "3"}, "5425": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "ADD", "path": "3"}, "5426": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "SWAP1", "path": "3"}, "5427": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH1", "path": "3", "value": "0x1F"}, "5429": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "AND", "path": "3"}, "5430": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP1", "path": "3"}, "5431": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "ISZERO", "path": "3"}, "5432": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH2", "path": "3", "value": "0x1555"}, "5435": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "JUMPI", "path": "3"}, "5436": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP1", "path": "3"}, "5437": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP3", "path": "3"}, "5438": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "SUB", "path": "3"}, "5439": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP1", "path": "3"}, "5440": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "MLOAD", "path": "3"}, "5441": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH1", "path": "3", "value": "0x1"}, "5443": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP4", "path": "3"}, "5444": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH1", "path": "3", "value": "0x20"}, "5446": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "SUB", "path": "3"}, "5447": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH2", "path": "3", "value": "0x100"}, "5450": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "EXP", "path": "3"}, "5451": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "SUB", "path": "3"}, "5452": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "NOT", "path": "3"}, "5453": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "AND", "path": "3"}, "5454": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "DUP2", "path": "3"}, "5455": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "MSTORE", "path": "3"}, "5456": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH1", "path": "3", "value": "0x20"}, "5458": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "ADD", "path": "3"}, "5459": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "SWAP2", "path": "3"}, "5460": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "POP", "path": "3"}, "5461": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "JUMPDEST", "path": "3"}, "5462": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "POP", "path": "3"}, "5463": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "SWAP6", "path": "3"}, "5464": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "POP", "path": "3"}, "5465": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "POP", "path": "3"}, "5466": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "POP", "path": "3"}, "5467": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "POP", "path": "3"}, "5468": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "POP", "path": "3"}, "5469": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "POP", "path": "3"}, "5470": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH1", "path": "3", "value": "0x40"}, "5472": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "MLOAD", "path": "3"}, "5473": {"op": "PUSH1", "value": "0x20"}, "5475": {"op": "DUP2"}, "5476": {"op": "DUP4"}, "5477": {"op": "SUB"}, "5478": {"op": "SUB"}, "5479": {"op": "DUP2"}, "5480": {"op": "MSTORE"}, "5481": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "SWAP1", "path": "3"}, "5482": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "PUSH1", "path": "3", "value": "0x40"}, "5484": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "MSTORE", "path": "3"}, "5485": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "SWAP1", "path": "3"}, "5486": {"op": "PUSH1", "value": "0x1"}, "5488": {"op": "PUSH1", "value": "0x1"}, "5490": {"op": "PUSH1", "value": "0xE0"}, "5492": {"op": "SHL"}, "5493": {"op": "SUB"}, "5494": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "NOT", "path": "3"}, "5495": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "AND", "path": "3"}, "5496": {"op": "PUSH1", "value": "0x20"}, "5498": {"op": "DUP3"}, "5499": {"op": "ADD"}, "5500": {"op": "DUP1"}, "5501": {"op": "MLOAD"}, "5502": {"op": "PUSH1", "value": "0x1"}, "5504": {"op": "PUSH1", "value": "0x1"}, "5506": {"op": "PUSH1", "value": "0xE0"}, "5508": {"op": "SHL"}, "5509": {"op": "SUB"}, "5510": {"op": "DUP4"}, "5511": {"op": "DUP2"}, "5512": {"op": "DUP4"}, "5513": {"op": "AND"}, "5514": {"op": "OR"}, "5515": {"op": "DUP4"}, "5516": {"op": "MSTORE"}, "5517": {"op": "POP"}, "5518": {"op": "POP"}, "5519": {"op": "POP"}, "5520": {"fn": "ERC721._checkOnERC721Received", "offset": [15773, 15948], "op": "POP", "path": "3"}, "5521": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "PUSH1", "path": "3", "value": "0x40"}, "5523": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "MLOAD", "path": "3"}, "5524": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "DUP1", "path": "3"}, "5525": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "PUSH1", "path": "3", "value": "0x60"}, "5527": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "ADD", "path": "3"}, "5528": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "PUSH1", "path": "3", "value": "0x40"}, "5530": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "MSTORE", "path": "3"}, "5531": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "DUP1", "path": "3"}, "5532": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "PUSH1", "path": "3", "value": "0x32"}, "5534": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "DUP2", "path": "3"}, "5535": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "MSTORE", "path": "3"}, "5536": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "PUSH1", "path": "3", "value": "0x20"}, "5538": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "ADD", "path": "3"}, "5539": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "PUSH2", "path": "3", "value": "0x1B40"}, "5542": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "PUSH1", "path": "3", "value": "0x32"}, "5544": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "SWAP2", "path": "3"}, "5545": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "CODECOPY", "path": "3"}, "5546": {"op": "PUSH1", "value": "0x1"}, "5548": {"op": "PUSH1", "value": "0x1"}, "5550": {"op": "PUSH1", "value": "0xA0"}, "5552": {"op": "SHL"}, "5553": {"op": "SUB"}, "5554": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 15772], "op": "DUP9", "path": "3"}, "5555": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 15772], "op": "AND", "path": "3"}, "5556": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 15772], "op": "SWAP2", "path": "3"}, "5557": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "SWAP1", "path": "3"}, "5558": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "PUSH4", "path": "3", "value": "0xFFFFFFFF"}, "5563": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 15772], "op": "PUSH2", "path": "3", "value": "0x18F9"}, "5566": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "AND", "path": "3"}, "5567": {"fn": "ERC721._checkOnERC721Received", "jump": "i", "offset": [15757, 16003], "op": "JUMP", "path": "3"}, "5568": {"fn": "ERC721._checkOnERC721Received", "offset": [15757, 16003], "op": "JUMPDEST", "path": "3"}, "5569": {"fn": "ERC721._checkOnERC721Received", "offset": [15731, 16003], "op": "SWAP1", "path": "3"}, "5570": {"fn": "ERC721._checkOnERC721Received", "offset": [15731, 16003], "op": "POP", "path": "3"}, "5571": {"fn": "ERC721._checkOnERC721Received", "offset": [16013, 16026], "op": "PUSH1", "path": "3", "value": "0x0"}, "5573": {"fn": "ERC721._checkOnERC721Received", "offset": [16040, 16050], "op": "DUP2", "path": "3"}, "5574": {"fn": "ERC721._checkOnERC721Received", "offset": [16029, 16061], "op": "DUP1", "path": "3"}, "5575": {"fn": "ERC721._checkOnERC721Received", "offset": [16029, 16061], "op": "PUSH1", "path": "3", "value": "0x20"}, "5577": {"fn": "ERC721._checkOnERC721Received", "offset": [16029, 16061], "op": "ADD", "path": "3"}, "5578": {"fn": "ERC721._checkOnERC721Received", "offset": [16029, 16061], "op": "SWAP1", "path": "3"}, "5579": {"fn": "ERC721._checkOnERC721Received", "offset": [16029, 16061], "op": "MLOAD", "path": "3"}, "5580": {"op": "PUSH1", "value": "0x20"}, "5582": {"op": "DUP2"}, "5583": {"op": "LT"}, "5584": {"op": "ISZERO"}, "5585": {"op": "PUSH2", "value": "0x15D9"}, "5588": {"op": "JUMPI"}, "5589": {"op": "PUSH1", "value": "0x0"}, "5591": {"op": "DUP1"}, "5592": {"op": "REVERT"}, "5593": {"op": "JUMPDEST"}, "5594": {"op": "POP"}, "5595": {"fn": "ERC721._checkOnERC721Received", "offset": [16029, 16061], "op": "MLOAD", "path": "3"}, "5596": {"op": "PUSH1", "value": "0x1"}, "5598": {"op": "PUSH1", "value": "0x1"}, "5600": {"op": "PUSH1", "value": "0xE0"}, "5602": {"op": "SHL"}, "5603": {"op": "SUB"}, "5604": {"op": "NOT"}, "5605": {"fn": "ERC721._checkOnERC721Received", "offset": [16079, 16105], "op": "AND", "path": "3", "statement": 74}, "5606": {"op": "PUSH4", "value": "0xA85BD01"}, "5611": {"op": "PUSH1", "value": "0xE1"}, "5613": {"op": "SHL"}, "5614": {"fn": "ERC721._checkOnERC721Received", "offset": [16079, 16105], "op": "EQ", "path": "3"}, "5615": {"fn": "ERC721._checkOnERC721Received", "offset": [16079, 16105], "op": "SWAP3", "path": "3"}, "5616": {"op": "POP"}, "5617": {"op": "POP"}, "5618": {"op": "POP"}, "5619": {"fn": "ERC721._checkOnERC721Received", "offset": [15524, 16113], "op": "SWAP5", "path": "3"}, "5620": {"fn": "ERC721._checkOnERC721Received", "offset": [15524, 16113], "op": "SWAP4", "path": "3"}, "5621": {"fn": "ERC721._checkOnERC721Received", "offset": [15524, 16113], "op": "POP", "path": "3"}, "5622": {"fn": "ERC721._checkOnERC721Received", "offset": [15524, 16113], "op": "POP", "path": "3"}, "5623": {"fn": "ERC721._checkOnERC721Received", "offset": [15524, 16113], "op": "POP", "path": "3"}, "5624": {"fn": "ERC721._checkOnERC721Received", "offset": [15524, 16113], "op": "POP", "path": "3"}, "5625": {"fn": "ERC721._checkOnERC721Received", "jump": "o", "offset": [15524, 16113], "op": "JUMP", "path": "3"}, "5626": {"fn": "EnumerableMap._contains", "offset": [4278, 4401], "op": "JUMPDEST", "path": "10"}, "5627": {"fn": "EnumerableMap._contains", "offset": [4349, 4353], "op": "PUSH1", "path": "10", "value": "0x0"}, "5629": {"fn": "EnumerableMap._contains", "offset": [4372, 4389], "op": "SWAP1", "path": "10", "statement": 75}, "5630": {"fn": "EnumerableMap._contains", "offset": [4372, 4389], "op": "DUP2", "path": "10"}, "5631": {"fn": "EnumerableMap._contains", "offset": [4372, 4389], "op": "MSTORE", "path": "10"}, "5632": {"fn": "EnumerableMap._contains", "offset": [4372, 4384], "op": "PUSH1", "path": "10", "value": "0x1"}, "5634": {"fn": "EnumerableMap._contains", "offset": [4372, 4384], "op": "SWAP2", "path": "10"}, "5635": {"fn": "EnumerableMap._contains", "offset": [4372, 4384], "op": "SWAP1", "path": "10"}, "5636": {"fn": "EnumerableMap._contains", "offset": [4372, 4384], "op": "SWAP2", "path": "10"}, "5637": {"fn": "EnumerableMap._contains", "offset": [4372, 4384], "op": "ADD", "path": "10"}, "5638": {"fn": "EnumerableMap._contains", "offset": [4372, 4389], "op": "PUSH1", "path": "10", "value": "0x20"}, "5640": {"fn": "EnumerableMap._contains", "offset": [4372, 4389], "op": "MSTORE", "path": "10"}, "5641": {"fn": "EnumerableMap._contains", "offset": [4372, 4389], "op": "PUSH1", "path": "10", "value": "0x40"}, "5643": {"fn": "EnumerableMap._contains", "offset": [4372, 4389], "op": "SWAP1", "path": "10"}, "5644": {"fn": "EnumerableMap._contains", "offset": [4372, 4389], "op": "KECCAK256", "path": "10"}, "5645": {"fn": "EnumerableMap._contains", "offset": [4372, 4389], "op": "SLOAD", "path": "10"}, "5646": {"fn": "EnumerableMap._contains", "offset": [4372, 4394], "op": "ISZERO", "path": "10"}, "5647": {"fn": "EnumerableMap._contains", "offset": [4372, 4394], "op": "ISZERO", "path": "10"}, "5648": {"fn": "EnumerableMap._contains", "offset": [4372, 4394], "op": "SWAP1", "path": "10"}, "5649": {"fn": "EnumerableMap._contains", "jump": "o", "offset": [4278, 4401], "op": "JUMP", "path": "10"}, "5650": {"fn": "EnumerableSet._remove", "offset": [2212, 3724], "op": "JUMPDEST", "path": "11"}, "5651": {"fn": "EnumerableSet._remove", "offset": [2278, 2282], "op": "PUSH1", "path": "11", "value": "0x0"}, "5653": {"fn": "EnumerableSet._remove", "offset": [2415, 2434], "op": "DUP2", "path": "11"}, "5654": {"fn": "EnumerableSet._remove", "offset": [2415, 2434], "op": "DUP2", "path": "11"}, "5655": {"fn": "EnumerableSet._remove", "offset": [2415, 2434], "op": "MSTORE", "path": "11"}, "5656": {"fn": "EnumerableSet._remove", "offset": [2415, 2427], "op": "PUSH1", "path": "11", "value": "0x1"}, "5658": {"fn": "EnumerableSet._remove", "offset": [2415, 2427], "op": "DUP4", "path": "11"}, "5659": {"fn": "EnumerableSet._remove", "offset": [2415, 2427], "op": "ADD", "path": "11"}, "5660": {"fn": "EnumerableSet._remove", "offset": [2415, 2434], "op": "PUSH1", "path": "11", "value": "0x20"}, "5662": {"fn": "EnumerableSet._remove", "offset": [2415, 2434], "op": "MSTORE", "path": "11"}, "5663": {"fn": "EnumerableSet._remove", "offset": [2415, 2434], "op": "PUSH1", "path": "11", "value": "0x40"}, "5665": {"fn": "EnumerableSet._remove", "offset": [2415, 2434], "op": "DUP2", "path": "11"}, "5666": {"fn": "EnumerableSet._remove", "offset": [2415, 2434], "op": "KECCAK256", "path": "11"}, "5667": {"fn": "EnumerableSet._remove", "offset": [2415, 2434], "op": "SLOAD", "path": "11"}, "5668": {"fn": "EnumerableSet._remove", "offset": [2449, 2464], "op": "DUP1", "path": "11"}, "5669": {"branch": 130, "fn": "EnumerableSet._remove", "offset": [2449, 2464], "op": "ISZERO", "path": "11"}, "5670": {"fn": "EnumerableSet._remove", "offset": [2445, 3718], "op": "PUSH2", "path": "11", "value": "0x16CE"}, "5673": {"branch": 130, "fn": "EnumerableSet._remove", "offset": [2445, 3718], "op": "JUMPI", "path": "11"}, "5674": {"fn": "EnumerableSet._remove", "offset": [2878, 2896], "op": "DUP4", "path": "11"}, "5675": {"fn": "EnumerableSet._remove", "offset": [2878, 2896], "op": "SLOAD", "path": "11"}, "5676": {"op": "PUSH1", "value": "0x0"}, "5678": {"op": "NOT"}, "5679": {"fn": "EnumerableSet._remove", "offset": [2830, 2844], "op": "DUP1", "path": "11"}, "5680": {"fn": "EnumerableSet._remove", "offset": [2830, 2844], "op": "DUP4", "path": "11"}, "5681": {"fn": "EnumerableSet._remove", "offset": [2830, 2844], "op": "ADD", "path": "11"}, "5682": {"fn": "EnumerableSet._remove", "offset": [2830, 2844], "op": "SWAP2", "path": "11"}, "5683": {"fn": "EnumerableSet._remove", "offset": [2878, 2900], "op": "SWAP1", "path": "11"}, "5684": {"fn": "EnumerableSet._remove", "offset": [2878, 2900], "op": "DUP2", "path": "11"}, "5685": {"fn": "EnumerableSet._remove", "offset": [2878, 2900], "op": "ADD", "path": "11"}, "5686": {"fn": "EnumerableSet._remove", "offset": [2878, 2900], "op": "SWAP1", "path": "11"}, "5687": {"fn": "EnumerableSet._remove", "offset": [2806, 2827], "op": "PUSH1", "path": "11", "value": "0x0"}, "5689": {"fn": "EnumerableSet._remove", "offset": [2806, 2827], "op": "SWAP1", "path": "11"}, "5690": {"fn": "EnumerableSet._remove", "offset": [2878, 2881], "op": "DUP8", "path": "11"}, "5691": {"fn": "EnumerableSet._remove", "offset": [2878, 2881], "op": "SWAP1", "path": "11"}, "5692": {"fn": "EnumerableSet._remove", "offset": [2878, 2900], "op": "DUP4", "path": "11"}, "5693": {"fn": "EnumerableSet._remove", "offset": [2878, 2900], "op": "SWAP1", "path": "11"}, "5694": {"fn": "EnumerableSet._remove", "offset": [3160, 3182], "op": "DUP2", "path": "11"}, "5695": {"fn": "EnumerableSet._remove", "offset": [3160, 3182], "op": "LT", "path": "11"}, "5696": {"fn": "EnumerableSet._remove", "offset": [3160, 3182], "op": "PUSH2", "path": "11", "value": "0x1645"}, "5699": {"fn": "EnumerableSet._remove", "offset": [3160, 3182], "op": "JUMPI", "path": "11"}, "5700": {"dev": "Index out of range", "fn": "EnumerableSet._remove", "offset": [3160, 3182], "op": "INVALID", "path": "11"}, "5701": {"fn": "EnumerableSet._remove", "offset": [3160, 3182], "op": "JUMPDEST", "path": "11"}, "5702": {"fn": "EnumerableSet._remove", "offset": [3160, 3182], "op": "SWAP1", "path": "11"}, "5703": {"fn": "EnumerableSet._remove", "offset": [3160, 3182], "op": "PUSH1", "path": "11", "value": "0x0"}, "5705": {"fn": "EnumerableSet._remove", "offset": [3160, 3182], "op": "MSTORE", "path": "11"}, "5706": {"fn": "EnumerableSet._remove", "offset": [3160, 3182], "op": "PUSH1", "path": "11", "value": "0x20"}, "5708": {"fn": "EnumerableSet._remove", "offset": [3160, 3182], "op": "PUSH1", "path": "11", "value": "0x0"}, "5710": {"fn": "EnumerableSet._remove", "offset": [3160, 3182], "op": "KECCAK256", "path": "11"}, "5711": {"fn": "EnumerableSet._remove", "offset": [3160, 3182], "op": "ADD", "path": "11"}, "5712": {"fn": "EnumerableSet._remove", "offset": [3160, 3182], "op": "SLOAD", "path": "11"}, "5713": {"fn": "EnumerableSet._remove", "offset": [3140, 3182], "op": "SWAP1", "path": "11"}, "5714": {"fn": "EnumerableSet._remove", "offset": [3140, 3182], "op": "POP", "path": "11"}, "5715": {"fn": "EnumerableSet._remove", "offset": [3303, 3312], "op": "DUP1", "path": "11", "statement": 76}, "5716": {"fn": "EnumerableSet._remove", "offset": [3274, 3277], "op": "DUP8", "path": "11"}, "5717": {"fn": "EnumerableSet._remove", "offset": [3274, 3285], "op": "PUSH1", "path": "11", "value": "0x0"}, "5719": {"fn": "EnumerableSet._remove", "offset": [3274, 3285], "op": "ADD", "path": "11"}, "5720": {"fn": "EnumerableSet._remove", "offset": [3286, 3299], "op": "DUP5", "path": "11"}, "5721": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "DUP2", "path": "11"}, "5722": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "SLOAD", "path": "11"}, "5723": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "DUP2", "path": "11"}, "5724": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "LT", "path": "11"}, "5725": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "PUSH2", "path": "11", "value": "0x1662"}, "5728": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "JUMPI", "path": "11"}, "5729": {"dev": "Index out of range", "fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "INVALID", "path": "11"}, "5730": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "JUMPDEST", "path": "11"}, "5731": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "PUSH1", "path": "11", "value": "0x0"}, "5733": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "SWAP2", "path": "11"}, "5734": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "DUP3", "path": "11"}, "5735": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "MSTORE", "path": "11"}, "5736": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "PUSH1", "path": "11", "value": "0x20"}, "5738": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "DUP1", "path": "11"}, "5739": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "DUP4", "path": "11"}, "5740": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "KECCAK256", "path": "11"}, "5741": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "SWAP1", "path": "11"}, "5742": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "SWAP2", "path": "11"}, "5743": {"fn": "EnumerableSet._remove", "offset": [3274, 3300], "op": "ADD", "path": "11"}, "5744": {"fn": "EnumerableSet._remove", "offset": [3274, 3312], "op": "SWAP3", "path": "11"}, "5745": {"fn": "EnumerableSet._remove", "offset": [3274, 3312], "op": "SWAP1", "path": "11"}, "5746": {"fn": "EnumerableSet._remove", "offset": [3274, 3312], "op": "SWAP3", "path": "11"}, "5747": {"fn": "EnumerableSet._remove", "offset": [3274, 3312], "op": "SSTORE", "path": "11"}, "5748": {"fn": "EnumerableSet._remove", "offset": [3378, 3401], "op": "DUP3", "path": "11", "statement": 77}, "5749": {"fn": "EnumerableSet._remove", "offset": [3378, 3401], "op": "DUP2", "path": "11"}, "5750": {"fn": "EnumerableSet._remove", "offset": [3378, 3401], "op": "MSTORE", "path": "11"}, "5751": {"fn": "EnumerableSet._remove", "offset": [3420, 3421], "op": "PUSH1", "path": "11", "value": "0x1"}, "5753": {"fn": "EnumerableSet._remove", "offset": [3378, 3390], "op": "DUP10", "path": "11"}, "5754": {"fn": "EnumerableSet._remove", "offset": [3378, 3390], "op": "DUP2", "path": "11"}, "5755": {"fn": "EnumerableSet._remove", "offset": [3378, 3390], "op": "ADD", "path": "11"}, "5756": {"fn": "EnumerableSet._remove", "offset": [3378, 3401], "op": "SWAP1", "path": "11"}, "5757": {"fn": "EnumerableSet._remove", "offset": [3378, 3401], "op": "SWAP3", "path": "11"}, "5758": {"fn": "EnumerableSet._remove", "offset": [3378, 3401], "op": "MSTORE", "path": "11"}, "5759": {"fn": "EnumerableSet._remove", "offset": [3378, 3401], "op": "PUSH1", "path": "11", "value": "0x40"}, "5761": {"fn": "EnumerableSet._remove", "offset": [3378, 3401], "op": "SWAP1", "path": "11"}, "5762": {"fn": "EnumerableSet._remove", "offset": [3378, 3401], "op": "KECCAK256", "path": "11"}, "5763": {"fn": "EnumerableSet._remove", "offset": [3404, 3421], "op": "SWAP1", "path": "11"}, "5764": {"fn": "EnumerableSet._remove", "offset": [3404, 3421], "op": "DUP5", "path": "11"}, "5765": {"fn": "EnumerableSet._remove", "offset": [3404, 3421], "op": "ADD", "path": "11"}, "5766": {"fn": "EnumerableSet._remove", "offset": [3378, 3421], "op": "SWAP1", "path": "11"}, "5767": {"fn": "EnumerableSet._remove", "offset": [3378, 3421], "op": "SSTORE", "path": "11"}, "5768": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "DUP7", "path": "11", "statement": 78}, "5769": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "SLOAD", "path": "11"}, "5770": {"fn": "EnumerableSet._remove", "offset": [3378, 3381], "op": "DUP8", "path": "11"}, "5771": {"fn": "EnumerableSet._remove", "offset": [3378, 3381], "op": "SWAP1", "path": "11"}, "5772": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "DUP1", "path": "11"}, "5773": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "PUSH2", "path": "11", "value": "0x1692"}, "5776": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "JUMPI", "path": "11"}, "5777": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "INVALID", "path": "11"}, "5778": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "JUMPDEST", "path": "11"}, "5779": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "PUSH1", "path": "11", "value": "0x1"}, "5781": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "SWAP1", "path": "11"}, "5782": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "SUB", "path": "11"}, "5783": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "DUP2", "path": "11"}, "5784": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "DUP2", "path": "11"}, "5785": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "SWAP1", "path": "11"}, "5786": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "PUSH1", "path": "11", "value": "0x0"}, "5788": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "MSTORE", "path": "11"}, "5789": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "PUSH1", "path": "11", "value": "0x20"}, "5791": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "PUSH1", "path": "11", "value": "0x0"}, "5793": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "KECCAK256", "path": "11"}, "5794": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "ADD", "path": "11"}, "5795": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "PUSH1", "path": "11", "value": "0x0"}, "5797": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "SWAP1", "path": "11"}, "5798": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "SSTORE", "path": "11"}, "5799": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "SWAP1", "path": "11"}, "5800": {"fn": "EnumerableSet._remove", "offset": [3527, 3544], "op": "SSTORE", "path": "11"}, "5801": {"fn": "EnumerableSet._remove", "offset": [3619, 3622], "op": "DUP7", "path": "11", "statement": 79}, "5802": {"fn": "EnumerableSet._remove", "offset": [3619, 3631], "op": "PUSH1", "path": "11", "value": "0x1"}, "5804": {"fn": "EnumerableSet._remove", "offset": [3619, 3631], "op": "ADD", "path": "11"}, "5805": {"fn": "EnumerableSet._remove", "offset": [3619, 3638], "op": "PUSH1", "path": "11", "value": "0x0"}, "5807": {"fn": "EnumerableSet._remove", "offset": [3632, 3637], "op": "DUP8", "path": "11"}, "5808": {"fn": "EnumerableSet._remove", "offset": [3619, 3638], "op": "DUP2", "path": "11"}, "5809": {"fn": "EnumerableSet._remove", "offset": [3619, 3638], "op": "MSTORE", "path": "11"}, "5810": {"fn": "EnumerableSet._remove", "offset": [3619, 3638], "op": "PUSH1", "path": "11", "value": "0x20"}, "5812": {"fn": "EnumerableSet._remove", "offset": [3619, 3638], "op": "ADD", "path": "11"}, "5813": {"fn": "EnumerableSet._remove", "offset": [3619, 3638], "op": "SWAP1", "path": "11"}, "5814": {"fn": "EnumerableSet._remove", "offset": [3619, 3638], "op": "DUP2", "path": "11"}, "5815": {"fn": "EnumerableSet._remove", "offset": [3619, 3638], "op": "MSTORE", "path": "11"}, "5816": {"fn": "EnumerableSet._remove", "offset": [3619, 3638], "op": "PUSH1", "path": "11", "value": "0x20"}, "5818": {"fn": "EnumerableSet._remove", "offset": [3619, 3638], "op": "ADD", "path": "11"}, "5819": {"fn": "EnumerableSet._remove", "offset": [3619, 3638], "op": "PUSH1", "path": "11", "value": "0x0"}, "5821": {"fn": "EnumerableSet._remove", "offset": [3619, 3638], "op": "KECCAK256", "path": "11"}, "5822": {"fn": "EnumerableSet._remove", "offset": [3612, 3638], "op": "PUSH1", "path": "11", "value": "0x0"}, "5824": {"fn": "EnumerableSet._remove", "offset": [3612, 3638], "op": "SWAP1", "path": "11"}, "5825": {"fn": "EnumerableSet._remove", "offset": [3612, 3638], "op": "SSTORE", "path": "11"}, "5826": {"fn": "EnumerableSet._remove", "offset": [3660, 3664], "op": "PUSH1", "path": "11", "statement": 80, "value": "0x1"}, "5828": {"fn": "EnumerableSet._remove", "offset": [3653, 3664], "op": "SWAP5", "path": "11"}, "5829": {"fn": "EnumerableSet._remove", "offset": [3653, 3664], "op": "POP", "path": "11"}, "5830": {"fn": "EnumerableSet._remove", "offset": [3653, 3664], "op": "POP", "path": "11"}, "5831": {"fn": "EnumerableSet._remove", "offset": [3653, 3664], "op": "POP", "path": "11"}, "5832": {"fn": "EnumerableSet._remove", "offset": [3653, 3664], "op": "POP", "path": "11"}, "5833": {"fn": "EnumerableSet._remove", "offset": [3653, 3664], "op": "POP", "path": "11"}, "5834": {"fn": "EnumerableSet._remove", "offset": [3653, 3664], "op": "PUSH2", "path": "11", "value": "0x7E9"}, "5837": {"fn": "EnumerableSet._remove", "offset": [3653, 3664], "op": "JUMP", "path": "11"}, "5838": {"fn": "EnumerableSet._remove", "offset": [2445, 3718], "op": "JUMPDEST", "path": "11"}, "5839": {"fn": "EnumerableSet._remove", "offset": [3702, 3707], "op": "PUSH1", "path": "11", "statement": 81, "value": "0x0"}, "5841": {"fn": "EnumerableSet._remove", "offset": [3695, 3707], "op": "SWAP2", "path": "11"}, "5842": {"fn": "EnumerableSet._remove", "offset": [3695, 3707], "op": "POP", "path": "11"}, "5843": {"fn": "EnumerableSet._remove", "offset": [3695, 3707], "op": "POP", "path": "11"}, "5844": {"fn": "EnumerableSet._remove", "offset": [3695, 3707], "op": "PUSH2", "path": "11", "value": "0x7E9"}, "5847": {"fn": "EnumerableSet._remove", "offset": [3695, 3707], "op": "JUMP", "path": "11"}, "5848": {"fn": "EnumerableSet._add", "offset": [1640, 2044], "op": "JUMPDEST", "path": "11"}, "5849": {"fn": "EnumerableSet._add", "offset": [1703, 1707], "op": "PUSH1", "path": "11", "value": "0x0"}, "5851": {"fn": "EnumerableSet._add", "offset": [1724, 1745], "op": "PUSH2", "path": "11", "value": "0x16E4"}, "5854": {"fn": "EnumerableSet._add", "offset": [1734, 1737], "op": "DUP4", "path": "11"}, "5855": {"fn": "EnumerableSet._add", "offset": [1739, 1744], "op": "DUP4", "path": "11"}, "5856": {"fn": "EnumerableSet._add", "offset": [1724, 1733], "op": "PUSH2", "path": "11", "value": "0x15FA"}, "5859": {"fn": "EnumerableSet._add", "jump": "i", "offset": [1724, 1745], "op": "JUMP", "path": "11"}, "5860": {"branch": 131, "fn": "EnumerableSet._add", "offset": [1724, 1745], "op": "JUMPDEST", "path": "11"}, "5861": {"fn": "EnumerableSet._add", "offset": [1719, 2038], "op": "PUSH2", "path": "11", "value": "0x171A"}, "5864": {"branch": 131, "fn": "EnumerableSet._add", "offset": [1719, 2038], "op": "JUMPI", "path": "11"}, "5865": {"op": "POP"}, "5866": {"op": "DUP2"}, "5867": {"op": "SLOAD"}, "5868": {"op": "PUSH1", "value": "0x1"}, "5870": {"op": "DUP2"}, "5871": {"op": "DUP2"}, "5872": {"op": "ADD"}, "5873": {"op": "DUP5"}, "5874": {"op": "SSTORE"}, "5875": {"fn": "EnumerableSet._add", "offset": [1761, 1772], "op": "PUSH1", "path": "11", "statement": 82, "value": "0x0"}, "5877": {"fn": "EnumerableSet._add", "offset": [1761, 1784], "op": "DUP5", "path": "11"}, "5878": {"fn": "EnumerableSet._add", "offset": [1761, 1784], "op": "DUP2", "path": "11"}, "5879": {"fn": "EnumerableSet._add", "offset": [1761, 1784], "op": "MSTORE", "path": "11"}, "5880": {"fn": "EnumerableSet._add", "offset": [1761, 1784], "op": "PUSH1", "path": "11", "value": "0x20"}, "5882": {"fn": "EnumerableSet._add", "offset": [1761, 1784], "op": "DUP1", "path": "11"}, "5883": {"fn": "EnumerableSet._add", "offset": [1761, 1784], "op": "DUP3", "path": "11"}, "5884": {"fn": "EnumerableSet._add", "offset": [1761, 1784], "op": "KECCAK256", "path": "11"}, "5885": {"fn": "EnumerableSet._add", "offset": [1761, 1784], "op": "SWAP1", "path": "11"}, "5886": {"fn": "EnumerableSet._add", "offset": [1761, 1784], "op": "SWAP4", "path": "11"}, "5887": {"fn": "EnumerableSet._add", "offset": [1761, 1784], "op": "ADD", "path": "11"}, "5888": {"fn": "EnumerableSet._add", "offset": [1761, 1784], "op": "DUP5", "path": "11"}, "5889": {"fn": "EnumerableSet._add", "offset": [1761, 1784], "op": "SWAP1", "path": "11"}, "5890": {"fn": "EnumerableSet._add", "offset": [1761, 1784], "op": "SSTORE", "path": "11"}, "5891": {"fn": "EnumerableSet._add", "offset": [1941, 1959], "op": "DUP5", "path": "11", "statement": 83}, "5892": {"fn": "EnumerableSet._add", "offset": [1941, 1959], "op": "SLOAD", "path": "11"}, "5893": {"fn": "EnumerableSet._add", "offset": [1919, 1938], "op": "DUP5", "path": "11"}, "5894": {"fn": "EnumerableSet._add", "offset": [1919, 1938], "op": "DUP3", "path": "11"}, "5895": {"fn": "EnumerableSet._add", "offset": [1919, 1938], "op": "MSTORE", "path": "11"}, "5896": {"fn": "EnumerableSet._add", "offset": [1919, 1931], "op": "DUP3", "path": "11"}, "5897": {"fn": "EnumerableSet._add", "offset": [1919, 1931], "op": "DUP7", "path": "11"}, "5898": {"fn": "EnumerableSet._add", "offset": [1919, 1931], "op": "ADD", "path": "11"}, "5899": {"fn": "EnumerableSet._add", "offset": [1919, 1938], "op": "SWAP1", "path": "11"}, "5900": {"fn": "EnumerableSet._add", "offset": [1919, 1938], "op": "SWAP4", "path": "11"}, "5901": {"fn": "EnumerableSet._add", "offset": [1919, 1938], "op": "MSTORE", "path": "11"}, "5902": {"fn": "EnumerableSet._add", "offset": [1919, 1938], "op": "PUSH1", "path": "11", "value": "0x40"}, "5904": {"fn": "EnumerableSet._add", "offset": [1919, 1938], "op": "SWAP1", "path": "11"}, "5905": {"fn": "EnumerableSet._add", "offset": [1919, 1938], "op": "KECCAK256", "path": "11"}, "5906": {"fn": "EnumerableSet._add", "offset": [1919, 1959], "op": "SWAP2", "path": "11"}, "5907": {"fn": "EnumerableSet._add", "offset": [1919, 1959], "op": "SWAP1", "path": "11"}, "5908": {"fn": "EnumerableSet._add", "offset": [1919, 1959], "op": "SWAP2", "path": "11"}, "5909": {"fn": "EnumerableSet._add", "offset": [1919, 1959], "op": "SSTORE", "path": "11"}, "5910": {"fn": "EnumerableSet._add", "offset": [1973, 1984], "op": "PUSH2", "path": "11", "statement": 84, "value": "0x7E9"}, "5913": {"fn": "EnumerableSet._add", "offset": [1973, 1984], "op": "JUMP", "path": "11"}, "5914": {"fn": "EnumerableSet._add", "offset": [1719, 2038], "op": "JUMPDEST", "path": "11"}, "5915": {"op": "POP"}, "5916": {"fn": "EnumerableSet._add", "offset": [2022, 2027], "op": "PUSH1", "path": "11", "statement": 85, "value": "0x0"}, "5918": {"fn": "EnumerableSet._add", "offset": [2015, 2027], "op": "PUSH2", "path": "11", "value": "0x7E9"}, "5921": {"fn": "EnumerableSet._add", "offset": [2015, 2027], "op": "JUMP", "path": "11"}, "5922": {"fn": "EnumerableMap._set", "offset": [1836, 2514], "op": "JUMPDEST", "path": "10"}, "5923": {"fn": "EnumerableMap._set", "offset": [1912, 1916], "op": "PUSH1", "path": "10", "value": "0x0"}, "5925": {"fn": "EnumerableMap._set", "offset": [2045, 2062], "op": "DUP3", "path": "10"}, "5926": {"fn": "EnumerableMap._set", "offset": [2045, 2062], "op": "DUP2", "path": "10"}, "5927": {"fn": "EnumerableMap._set", "offset": [2045, 2062], "op": "MSTORE", "path": "10"}, "5928": {"fn": "EnumerableMap._set", "offset": [2045, 2057], "op": "PUSH1", "path": "10", "value": "0x1"}, "5930": {"fn": "EnumerableMap._set", "offset": [2045, 2057], "op": "DUP5", "path": "10"}, "5931": {"fn": "EnumerableMap._set", "offset": [2045, 2057], "op": "ADD", "path": "10"}, "5932": {"fn": "EnumerableMap._set", "offset": [2045, 2062], "op": "PUSH1", "path": "10", "value": "0x20"}, "5934": {"fn": "EnumerableMap._set", "offset": [2045, 2062], "op": "MSTORE", "path": "10"}, "5935": {"fn": "EnumerableMap._set", "offset": [2045, 2062], "op": "PUSH1", "path": "10", "value": "0x40"}, "5937": {"fn": "EnumerableMap._set", "offset": [2045, 2062], "op": "DUP2", "path": "10"}, "5938": {"fn": "EnumerableMap._set", "offset": [2045, 2062], "op": "KECCAK256", "path": "10"}, "5939": {"fn": "EnumerableMap._set", "offset": [2045, 2062], "op": "SLOAD", "path": "10"}, "5940": {"branch": 128, "fn": "EnumerableMap._set", "offset": [2077, 2090], "op": "DUP1", "path": "10"}, "5941": {"fn": "EnumerableMap._set", "offset": [2073, 2508], "op": "PUSH2", "path": "10", "value": "0x1787"}, "5944": {"branch": 128, "fn": "EnumerableMap._set", "offset": [2073, 2508], "op": "JUMPI", "path": "10"}, "5945": {"op": "POP"}, "5946": {"op": "POP"}, "5947": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "PUSH1", "path": "10", "statement": 86, "value": "0x40"}, "5949": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "DUP1", "path": "10"}, "5950": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "MLOAD", "path": "10"}, "5951": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "DUP1", "path": "10"}, "5952": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "DUP3", "path": "10"}, "5953": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "ADD", "path": "10"}, "5954": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "DUP3", "path": "10"}, "5955": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "MSTORE", "path": "10"}, "5956": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "DUP4", "path": "10"}, "5957": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "DUP2", "path": "10"}, "5958": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "MSTORE", "path": "10"}, "5959": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "PUSH1", "path": "10", "value": "0x20"}, "5961": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "DUP1", "path": "10"}, "5962": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "DUP3", "path": "10"}, "5963": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "ADD", "path": "10"}, "5964": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "DUP5", "path": "10"}, "5965": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "DUP2", "path": "10"}, "5966": {"fn": "EnumerableMap._set", "offset": [2161, 2199], "op": "MSTORE", "path": "10"}, "5967": {"op": "DUP7"}, "5968": {"op": "SLOAD"}, "5969": {"op": "PUSH1", "value": "0x1"}, "5971": {"op": "DUP2"}, "5972": {"op": "DUP2"}, "5973": {"op": "ADD"}, "5974": {"op": "DUP10"}, "5975": {"op": "SSTORE"}, "5976": {"fn": "EnumerableMap._set", "offset": [2143, 2155], "op": "PUSH1", "path": "10", "value": "0x0"}, "5978": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "DUP10", "path": "10"}, "5979": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "DUP2", "path": "10"}, "5980": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "MSTORE", "path": "10"}, "5981": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "DUP5", "path": "10"}, "5982": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "DUP2", "path": "10"}, "5983": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "KECCAK256", "path": "10"}, "5984": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "SWAP6", "path": "10"}, "5985": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "MLOAD", "path": "10"}, "5986": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "PUSH1", "path": "10", "value": "0x2"}, "5988": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "SWAP1", "path": "10"}, "5989": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "SWAP4", "path": "10"}, "5990": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "MUL", "path": "10"}, "5991": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "SWAP1", "path": "10"}, "5992": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "SWAP6", "path": "10"}, "5993": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "ADD", "path": "10"}, "5994": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "SWAP2", "path": "10"}, "5995": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "DUP3", "path": "10"}, "5996": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "SSTORE", "path": "10"}, "5997": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "SWAP2", "path": "10"}, "5998": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "MLOAD", "path": "10"}, "5999": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "SWAP1", "path": "10"}, "6000": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "DUP3", "path": "10"}, "6001": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "ADD", "path": "10"}, "6002": {"fn": "EnumerableMap._set", "offset": [2143, 2200], "op": "SSTORE", "path": "10"}, "6003": {"fn": "EnumerableMap._set", "offset": [2355, 2374], "op": "DUP7", "path": "10", "statement": 87}, "6004": {"fn": "EnumerableMap._set", "offset": [2355, 2374], "op": "SLOAD", "path": "10"}, "6005": {"fn": "EnumerableMap._set", "offset": [2335, 2352], "op": "DUP7", "path": "10"}, "6006": {"fn": "EnumerableMap._set", "offset": [2335, 2352], "op": "DUP5", "path": "10"}, "6007": {"fn": "EnumerableMap._set", "offset": [2335, 2352], "op": "MSTORE", "path": "10"}, "6008": {"fn": "EnumerableMap._set", "offset": [2335, 2347], "op": "DUP2", "path": "10"}, "6009": {"fn": "EnumerableMap._set", "offset": [2335, 2347], "op": "DUP9", "path": "10"}, "6010": {"fn": "EnumerableMap._set", "offset": [2335, 2347], "op": "ADD", "path": "10"}, "6011": {"fn": "EnumerableMap._set", "offset": [2335, 2352], "op": "SWAP1", "path": "10"}, "6012": {"fn": "EnumerableMap._set", "offset": [2335, 2352], "op": "SWAP3", "path": "10"}, "6013": {"fn": "EnumerableMap._set", "offset": [2335, 2352], "op": "MSTORE", "path": "10"}, "6014": {"fn": "EnumerableMap._set", "offset": [2335, 2352], "op": "SWAP3", "path": "10"}, "6015": {"fn": "EnumerableMap._set", "offset": [2335, 2352], "op": "SWAP1", "path": "10"}, "6016": {"fn": "EnumerableMap._set", "offset": [2335, 2352], "op": "SWAP2", "path": "10"}, "6017": {"fn": "EnumerableMap._set", "offset": [2335, 2352], "op": "KECCAK256", "path": "10"}, "6018": {"fn": "EnumerableMap._set", "offset": [2335, 2374], "op": "SSTORE", "path": "10"}, "6019": {"fn": "EnumerableMap._set", "offset": [2388, 2399], "op": "PUSH2", "path": "10", "statement": 88, "value": "0x108C"}, "6022": {"fn": "EnumerableMap._set", "offset": [2388, 2399], "op": "JUMP", "path": "10"}, "6023": {"fn": "EnumerableMap._set", "offset": [2073, 2508], "op": "JUMPDEST", "path": "10"}, "6024": {"fn": "EnumerableMap._set", "offset": [2466, 2471], "op": "DUP3", "path": "10", "statement": 89}, "6025": {"fn": "EnumerableMap._set", "offset": [2430, 2433], "op": "DUP6", "path": "10"}, "6026": {"fn": "EnumerableMap._set", "offset": [2430, 2442], "op": "PUSH1", "path": "10", "value": "0x0"}, "6028": {"fn": "EnumerableMap._set", "offset": [2430, 2442], "op": "ADD", "path": "10"}, "6029": {"fn": "EnumerableMap._set", "offset": [2454, 2455], "op": "PUSH1", "path": "10", "value": "0x1"}, "6031": {"fn": "EnumerableMap._set", "offset": [2443, 2451], "op": "DUP4", "path": "10"}, "6032": {"fn": "EnumerableMap._set", "offset": [2443, 2455], "op": "SUB", "path": "10"}, "6033": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "DUP2", "path": "10"}, "6034": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "SLOAD", "path": "10"}, "6035": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "DUP2", "path": "10"}, "6036": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "LT", "path": "10"}, "6037": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "PUSH2", "path": "10", "value": "0x179A"}, "6040": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "JUMPI", "path": "10"}, "6041": {"dev": "Index out of range", "fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "INVALID", "path": "10"}, "6042": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "JUMPDEST", "path": "10"}, "6043": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "SWAP1", "path": "10"}, "6044": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "PUSH1", "path": "10", "value": "0x0"}, "6046": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "MSTORE", "path": "10"}, "6047": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "PUSH1", "path": "10", "value": "0x20"}, "6049": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "PUSH1", "path": "10", "value": "0x0"}, "6051": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "KECCAK256", "path": "10"}, "6052": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "SWAP1", "path": "10"}, "6053": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "PUSH1", "path": "10", "value": "0x2"}, "6055": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "MUL", "path": "10"}, "6056": {"fn": "EnumerableMap._set", "offset": [2430, 2456], "op": "ADD", "path": "10"}, "6057": {"fn": "EnumerableMap._set", "offset": [2430, 2463], "op": "PUSH1", "path": "10", "value": "0x1"}, "6059": {"fn": "EnumerableMap._set", "offset": [2430, 2463], "op": "ADD", "path": "10"}, "6060": {"fn": "EnumerableMap._set", "offset": [2430, 2471], "op": "DUP2", "path": "10"}, "6061": {"fn": "EnumerableMap._set", "offset": [2430, 2471], "op": "SWAP1", "path": "10"}, "6062": {"fn": "EnumerableMap._set", "offset": [2430, 2471], "op": "SSTORE", "path": "10"}, "6063": {"fn": "EnumerableMap._set", "offset": [2430, 2471], "op": "POP", "path": "10"}, "6064": {"fn": "EnumerableMap._set", "offset": [2492, 2497], "op": "PUSH1", "path": "10", "statement": 90, "value": "0x0"}, "6066": {"fn": "EnumerableMap._set", "offset": [2485, 2497], "op": "SWAP2", "path": "10"}, "6067": {"fn": "EnumerableMap._set", "offset": [2485, 2497], "op": "POP", "path": "10"}, "6068": {"fn": "EnumerableMap._set", "offset": [2485, 2497], "op": "POP", "path": "10"}, "6069": {"fn": "EnumerableMap._set", "offset": [2485, 2497], "op": "PUSH2", "path": "10", "value": "0x108C"}, "6072": {"fn": "EnumerableMap._set", "offset": [2485, 2497], "op": "JUMP", "path": "10"}, "6073": {"fn": "ERC721._mint", "offset": [12246, 12639], "op": "JUMPDEST", "path": "3"}, "6074": {"op": "PUSH1", "value": "0x1"}, "6076": {"op": "PUSH1", "value": "0x1"}, "6078": {"op": "PUSH1", "value": "0xA0"}, "6080": {"op": "SHL"}, "6081": {"op": "SUB"}, "6082": {"fn": "ERC721._mint", "offset": [12325, 12341], "op": "DUP3", "path": "3", "statement": 91}, "6083": {"branch": 124, "fn": "ERC721._mint", "offset": [12325, 12341], "op": "AND", "path": "3"}, "6084": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "PUSH2", "path": "3", "value": "0x1814"}, "6087": {"branch": 124, "fn": "ERC721._mint", "offset": [12317, 12378], "op": "JUMPI", "path": "3"}, "6088": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "PUSH1", "path": "3", "value": "0x40"}, "6090": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "DUP1", "path": "3"}, "6091": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "MLOAD", "path": "3"}, "6092": {"op": "PUSH3", "value": "0x461BCD"}, "6096": {"op": "PUSH1", "value": "0xE5"}, "6098": {"op": "SHL"}, "6099": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "DUP2", "path": "3"}, "6100": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "MSTORE", "path": "3"}, "6101": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "PUSH1", "path": "3", "value": "0x20"}, "6103": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "PUSH1", "path": "3", "value": "0x4"}, "6105": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "DUP3", "path": "3"}, "6106": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "ADD", "path": "3"}, "6107": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "DUP2", "path": "3"}, "6108": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "SWAP1", "path": "3"}, "6109": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "MSTORE", "path": "3"}, "6110": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "PUSH1", "path": "3", "value": "0x24"}, "6112": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "DUP3", "path": "3"}, "6113": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "ADD", "path": "3"}, "6114": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "MSTORE", "path": "3"}, "6115": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "PUSH32", "path": "3", "value": "0x4552433732313A206D696E7420746F20746865207A65726F2061646472657373"}, "6148": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "PUSH1", "path": "3", "value": "0x44"}, "6150": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "DUP3", "path": "3"}, "6151": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "ADD", "path": "3"}, "6152": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "MSTORE", "path": "3"}, "6153": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "SWAP1", "path": "3"}, "6154": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "MLOAD", "path": "3"}, "6155": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "SWAP1", "path": "3"}, "6156": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "DUP2", "path": "3"}, "6157": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "SWAP1", "path": "3"}, "6158": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "SUB", "path": "3"}, "6159": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "PUSH1", "path": "3", "value": "0x64"}, "6161": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "ADD", "path": "3"}, "6162": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "SWAP1", "path": "3"}, "6163": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "REVERT", "path": "3"}, "6164": {"fn": "ERC721._mint", "offset": [12317, 12378], "op": "JUMPDEST", "path": "3"}, "6165": {"fn": "ERC721._mint", "offset": [12397, 12413], "op": "PUSH2", "path": "3", "statement": 92, "value": "0x181D"}, "6168": {"fn": "ERC721._mint", "offset": [12405, 12412], "op": "DUP2", "path": "3"}, "6169": {"fn": "ERC721._mint", "offset": [12397, 12404], "op": "PUSH2", "path": "3", "value": "0xDC2"}, "6172": {"fn": "ERC721._mint", "jump": "i", "offset": [12397, 12413], "op": "JUMP", "path": "3"}, "6173": {"fn": "ERC721._mint", "offset": [12397, 12413], "op": "JUMPDEST", "path": "3"}, "6174": {"branch": 125, "fn": "ERC721._mint", "offset": [12396, 12413], "op": "ISZERO", "path": "3"}, "6175": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "PUSH2", "path": "3", "value": "0x186F"}, "6178": {"branch": 125, "fn": "ERC721._mint", "offset": [12388, 12446], "op": "JUMPI", "path": "3"}, "6179": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "PUSH1", "path": "3", "value": "0x40"}, "6181": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "DUP1", "path": "3"}, "6182": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "MLOAD", "path": "3"}, "6183": {"op": "PUSH3", "value": "0x461BCD"}, "6187": {"op": "PUSH1", "value": "0xE5"}, "6189": {"op": "SHL"}, "6190": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "DUP2", "path": "3"}, "6191": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "MSTORE", "path": "3"}, "6192": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "PUSH1", "path": "3", "value": "0x20"}, "6194": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "PUSH1", "path": "3", "value": "0x4"}, "6196": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "DUP3", "path": "3"}, "6197": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "ADD", "path": "3"}, "6198": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "MSTORE", "path": "3"}, "6199": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "PUSH1", "path": "3", "value": "0x1C"}, "6201": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "PUSH1", "path": "3", "value": "0x24"}, "6203": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "DUP3", "path": "3"}, "6204": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "ADD", "path": "3"}, "6205": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "MSTORE", "path": "3"}, "6206": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "PUSH32", "path": "3", "value": "0x4552433732313A20746F6B656E20616C7265616479206D696E74656400000000"}, "6239": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "PUSH1", "path": "3", "value": "0x44"}, "6241": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "DUP3", "path": "3"}, "6242": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "ADD", "path": "3"}, "6243": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "MSTORE", "path": "3"}, "6244": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "SWAP1", "path": "3"}, "6245": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "MLOAD", "path": "3"}, "6246": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "SWAP1", "path": "3"}, "6247": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "DUP2", "path": "3"}, "6248": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "SWAP1", "path": "3"}, "6249": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "SUB", "path": "3"}, "6250": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "PUSH1", "path": "3", "value": "0x64"}, "6252": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "ADD", "path": "3"}, "6253": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "SWAP1", "path": "3"}, "6254": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "REVERT", "path": "3"}, "6255": {"fn": "ERC721._mint", "offset": [12388, 12446], "op": "JUMPDEST", "path": "3"}, "6256": {"fn": "ERC721._mint", "offset": [12457, 12502], "op": "PUSH2", "path": "3", "statement": 93, "value": "0x187B"}, "6259": {"fn": "ERC721._mint", "offset": [12486, 12487], "op": "PUSH1", "path": "3", "value": "0x0"}, "6261": {"fn": "ERC721._mint", "offset": [12490, 12492], "op": "DUP4", "path": "3"}, "6262": {"fn": "ERC721._mint", "offset": [12494, 12501], "op": "DUP4", "path": "3"}, "6263": {"fn": "ERC721._mint", "offset": [12457, 12477], "op": "PUSH2", "path": "3", "value": "0x751"}, "6266": {"fn": "ERC721._mint", "jump": "i", "offset": [12457, 12502], "op": "JUMP", "path": "3"}, "6267": {"fn": "ERC721._mint", "offset": [12457, 12502], "op": "JUMPDEST", "path": "3"}, "6268": {"op": "PUSH1", "value": "0x1"}, "6270": {"op": "PUSH1", "value": "0x1"}, "6272": {"op": "PUSH1", "value": "0xA0"}, "6274": {"op": "SHL"}, "6275": {"op": "SUB"}, "6276": {"fn": "ERC721._mint", "offset": [12513, 12530], "op": "DUP3", "path": "3", "statement": 94}, "6277": {"fn": "ERC721._mint", "offset": [12513, 12530], "op": "AND", "path": "3"}, "6278": {"fn": "ERC721._mint", "offset": [12513, 12530], "op": "PUSH1", "path": "3", "value": "0x0"}, "6280": {"fn": "ERC721._mint", "offset": [12513, 12530], "op": "SWAP1", "path": "3"}, "6281": {"fn": "ERC721._mint", "offset": [12513, 12530], "op": "DUP2", "path": "3"}, "6282": {"fn": "ERC721._mint", "offset": [12513, 12530], "op": "MSTORE", "path": "3"}, "6283": {"fn": "ERC721._mint", "offset": [12513, 12526], "op": "PUSH1", "path": "3", "value": "0x1"}, "6285": {"fn": "ERC721._mint", "offset": [12513, 12530], "op": "PUSH1", "path": "3", "value": "0x20"}, "6287": {"fn": "ERC721._mint", "offset": [12513, 12530], "op": "MSTORE", "path": "3"}, "6288": {"fn": "ERC721._mint", "offset": [12513, 12530], "op": "PUSH1", "path": "3", "value": "0x40"}, "6290": {"fn": "ERC721._mint", "offset": [12513, 12530], "op": "SWAP1", "path": "3"}, "6291": {"fn": "ERC721._mint", "offset": [12513, 12530], "op": "KECCAK256", "path": "3"}, "6292": {"fn": "ERC721._mint", "offset": [12513, 12543], "op": "PUSH2", "path": "3", "value": "0x18A3"}, "6295": {"fn": "ERC721._mint", "offset": [12513, 12543], "op": "SWAP1", "path": "3"}, "6296": {"fn": "ERC721._mint", "offset": [12535, 12542], "op": "DUP3", "path": "3"}, "6297": {"fn": "ERC721._mint", "offset": [12513, 12543], "op": "PUSH4", "path": "3", "value": "0xFFFFFFFF"}, "6302": {"fn": "ERC721._mint", "offset": [12513, 12534], "op": "PUSH2", "path": "3", "value": "0x125D"}, "6305": {"fn": "ERC721._mint", "offset": [12513, 12543], "op": "AND", "path": "3"}, "6306": {"fn": "ERC721._mint", "jump": "i", "offset": [12513, 12543], "op": "JUMP", "path": "3"}, "6307": {"fn": "ERC721._mint", "offset": [12513, 12543], "op": "JUMPDEST", "path": "3"}, "6308": {"op": "POP"}, "6309": {"fn": "ERC721._mint", "offset": [12554, 12583], "op": "PUSH2", "path": "3", "statement": 95, "value": "0x18B6"}, "6312": {"fn": "ERC721._mint", "offset": [12554, 12566], "op": "PUSH1", "path": "3", "value": "0x2"}, "6314": {"fn": "ERC721._mint", "offset": [12571, 12578], "op": "DUP3", "path": "3"}, "6315": {"fn": "ERC721._mint", "offset": [12580, 12582], "op": "DUP5", "path": "3"}, "6316": {"fn": "ERC721._mint", "offset": [12554, 12583], "op": "PUSH4", "path": "3", "value": "0xFFFFFFFF"}, "6321": {"fn": "ERC721._mint", "offset": [12554, 12570], "op": "PUSH2", "path": "3", "value": "0x1269"}, "6324": {"fn": "ERC721._mint", "offset": [12554, 12583], "op": "AND", "path": "3"}, "6325": {"fn": "ERC721._mint", "jump": "i", "offset": [12554, 12583], "op": "JUMP", "path": "3"}, "6326": {"fn": "ERC721._mint", "offset": [12554, 12583], "op": "JUMPDEST", "path": "3"}, "6327": {"op": "POP"}, "6328": {"fn": "ERC721._mint", "offset": [12599, 12632], "op": "PUSH1", "path": "3", "statement": 96, "value": "0x40"}, "6330": {"fn": "ERC721._mint", "offset": [12599, 12632], "op": "MLOAD", "path": "3"}, "6331": {"fn": "ERC721._mint", "offset": [12624, 12631], "op": "DUP2", "path": "3"}, "6332": {"fn": "ERC721._mint", "offset": [12624, 12631], "op": "SWAP1", "path": "3"}, "6333": {"op": "PUSH1", "value": "0x1"}, "6335": {"op": "PUSH1", "value": "0x1"}, "6337": {"op": "PUSH1", "value": "0xA0"}, "6339": {"op": "SHL"}, "6340": {"op": "SUB"}, "6341": {"fn": "ERC721._mint", "offset": [12599, 12632], "op": "DUP5", "path": "3"}, "6342": {"fn": "ERC721._mint", "offset": [12599, 12632], "op": "AND", "path": "3"}, "6343": {"fn": "ERC721._mint", "offset": [12599, 12632], "op": "SWAP1", "path": "3"}, "6344": {"fn": "ERC721._mint", "offset": [12616, 12617], "op": "PUSH1", "path": "3", "value": "0x0"}, "6346": {"fn": "ERC721._mint", "offset": [12616, 12617], "op": "SWAP1", "path": "3"}, "6347": {"fn": "ERC721._mint", "offset": [12599, 12632], "op": "PUSH32", "path": "3", "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF"}, "6380": {"fn": "ERC721._mint", "offset": [12599, 12632], "op": "SWAP1", "path": "3"}, "6381": {"fn": "ERC721._mint", "offset": [12616, 12617], "op": "DUP3", "path": "3"}, "6382": {"fn": "ERC721._mint", "offset": [12616, 12617], "op": "SWAP1", "path": "3"}, "6383": {"fn": "ERC721._mint", "offset": [12599, 12632], "op": "LOG4", "path": "3"}, "6384": {"fn": "ERC721._mint", "offset": [12246, 12639], "op": "POP", "path": "3"}, "6385": {"fn": "ERC721._mint", "offset": [12246, 12639], "op": "POP", "path": "3"}, "6386": {"fn": "ERC721._mint", "jump": "o", "offset": [12246, 12639], "op": "JUMP", "path": "3"}, "6387": {"fn": "Address.isContract", "offset": [726, 1139], "op": "JUMPDEST", "path": "8"}, "6388": {"fn": "Address.isContract", "offset": [1086, 1106], "op": "EXTCODESIZE", "path": "8"}, "6389": {"fn": "Address.isContract", "offset": [1124, 1132], "op": "ISZERO", "path": "8", "statement": 97}, "6390": {"fn": "Address.isContract", "offset": [1124, 1132], "op": "ISZERO", "path": "8"}, "6391": {"fn": "Address.isContract", "offset": [1124, 1132], "op": "SWAP1", "path": "8"}, "6392": {"fn": "Address.isContract", "jump": "o", "offset": [726, 1139], "op": "JUMP", "path": "8"}, "6393": {"fn": "Address.functionCall", "offset": [3581, 3774], "op": "JUMPDEST", "path": "8"}, "6394": {"fn": "Address.functionCall", "offset": [3684, 3696], "op": "PUSH1", "path": "8", "value": "0x60"}, "6396": {"fn": "Address.functionCall", "offset": [3715, 3767], "op": "PUSH2", "path": "8", "statement": 98, "value": "0x1089"}, "6399": {"fn": "Address.functionCall", "offset": [3737, 3743], "op": "DUP5", "path": "8"}, "6400": {"fn": "Address.functionCall", "offset": [3745, 3749], "op": "DUP5", "path": "8"}, "6401": {"fn": "Address.functionCall", "offset": [3751, 3752], "op": "PUSH1", "path": "8", "value": "0x0"}, "6403": {"fn": "Address.functionCall", "offset": [3754, 3766], "op": "DUP6", "path": "8"}, "6404": {"fn": "Address.functionCall", "offset": [3684, 3696], "op": "DUP6", "path": "8"}, "6405": {"fn": "Address.functionCallWithValue", "offset": [4858, 4876], "op": "PUSH2", "path": "8", "statement": 99, "value": "0x190D"}, "6408": {"fn": "Address.functionCallWithValue", "offset": [4869, 4875], "op": "DUP6", "path": "8"}, "6409": {"fn": "Address.functionCallWithValue", "offset": [4858, 4868], "op": "PUSH2", "path": "8", "value": "0x18F3"}, "6412": {"fn": "Address.functionCallWithValue", "jump": "i", "offset": [4858, 4876], "op": "JUMP", "path": "8"}, "6413": {"branch": 103, "fn": "Address.functionCallWithValue", "offset": [4858, 4876], "op": "JUMPDEST", "path": "8"}, "6414": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "PUSH2", "path": "8", "value": "0x195E"}, "6417": {"branch": 103, "fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "JUMPI", "path": "8"}, "6418": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "PUSH1", "path": "8", "value": "0x40"}, "6420": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "DUP1", "path": "8"}, "6421": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "MLOAD", "path": "8"}, "6422": {"op": "PUSH3", "value": "0x461BCD"}, "6426": {"op": "PUSH1", "value": "0xE5"}, "6428": {"op": "SHL"}, "6429": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "DUP2", "path": "8"}, "6430": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "MSTORE", "path": "8"}, "6431": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "PUSH1", "path": "8", "value": "0x20"}, "6433": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "PUSH1", "path": "8", "value": "0x4"}, "6435": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "DUP3", "path": "8"}, "6436": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "ADD", "path": "8"}, "6437": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "MSTORE", "path": "8"}, "6438": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "PUSH1", "path": "8", "value": "0x1D"}, "6440": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "PUSH1", "path": "8", "value": "0x24"}, "6442": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "DUP3", "path": "8"}, "6443": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "ADD", "path": "8"}, "6444": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "MSTORE", "path": "8"}, "6445": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "PUSH32", "path": "8", "value": "0x416464726573733A2063616C6C20746F206E6F6E2D636F6E7472616374000000"}, "6478": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "PUSH1", "path": "8", "value": "0x44"}, "6480": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "DUP3", "path": "8"}, "6481": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "ADD", "path": "8"}, "6482": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "MSTORE", "path": "8"}, "6483": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "SWAP1", "path": "8"}, "6484": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "MLOAD", "path": "8"}, "6485": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "SWAP1", "path": "8"}, "6486": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "DUP2", "path": "8"}, "6487": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "SWAP1", "path": "8"}, "6488": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "SUB", "path": "8"}, "6489": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "PUSH1", "path": "8", "value": "0x64"}, "6491": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "ADD", "path": "8"}, "6492": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "SWAP1", "path": "8"}, "6493": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "REVERT", "path": "8"}, "6494": {"fn": "Address.functionCallWithValue", "offset": [4850, 4910], "op": "JUMPDEST", "path": "8"}, "6495": {"fn": "Address.functionCallWithValue", "offset": [4981, 4993], "op": "PUSH1", "path": "8", "value": "0x0"}, "6497": {"fn": "Address.functionCallWithValue", "offset": [4995, 5018], "op": "PUSH1", "path": "8", "value": "0x60"}, "6499": {"fn": "Address.functionCallWithValue", "offset": [5022, 5028], "op": "DUP7", "path": "8"}, "6500": {"op": "PUSH1", "value": "0x1"}, "6502": {"op": "PUSH1", "value": "0x1"}, "6504": {"op": "PUSH1", "value": "0xA0"}, "6506": {"op": "SHL"}, "6507": {"op": "SUB"}, "6508": {"fn": "Address.functionCallWithValue", "offset": [5022, 5033], "op": "AND", "path": "8"}, "6509": {"fn": "Address.functionCallWithValue", "offset": [5042, 5047], "op": "DUP6", "path": "8"}, "6510": {"fn": "Address.functionCallWithValue", "offset": [5050, 5054], "op": "DUP8", "path": "8"}, "6511": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "PUSH1", "path": "8", "value": "0x40"}, "6513": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "MLOAD", "path": "8"}, "6514": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "DUP1", "path": "8"}, "6515": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "DUP3", "path": "8"}, "6516": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "DUP1", "path": "8"}, "6517": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "MLOAD", "path": "8"}, "6518": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "SWAP1", "path": "8"}, "6519": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "PUSH1", "path": "8", "value": "0x20"}, "6521": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "ADD", "path": "8"}, "6522": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "SWAP1", "path": "8"}, "6523": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "DUP1", "path": "8"}, "6524": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "DUP4", "path": "8"}, "6525": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "DUP4", "path": "8"}, "6526": {"op": "JUMPDEST"}, "6527": {"op": "PUSH1", "value": "0x20"}, "6529": {"op": "DUP4"}, "6530": {"op": "LT"}, "6531": {"op": "PUSH2", "value": "0x199D"}, "6534": {"op": "JUMPI"}, "6535": {"op": "DUP1"}, "6536": {"op": "MLOAD"}, "6537": {"op": "DUP3"}, "6538": {"op": "MSTORE"}, "6539": {"op": "PUSH1", "value": "0x1F"}, "6541": {"op": "NOT"}, "6542": {"op": "SWAP1"}, "6543": {"op": "SWAP3"}, "6544": {"op": "ADD"}, "6545": {"op": "SWAP2"}, "6546": {"op": "PUSH1", "value": "0x20"}, "6548": {"op": "SWAP2"}, "6549": {"op": "DUP3"}, "6550": {"op": "ADD"}, "6551": {"op": "SWAP2"}, "6552": {"op": "ADD"}, "6553": {"op": "PUSH2", "value": "0x197E"}, "6556": {"op": "JUMP"}, "6557": {"op": "JUMPDEST"}, "6558": {"op": "PUSH1", "value": "0x1"}, "6560": {"op": "DUP4"}, "6561": {"op": "PUSH1", "value": "0x20"}, "6563": {"op": "SUB"}, "6564": {"op": "PUSH2", "value": "0x100"}, "6567": {"op": "EXP"}, "6568": {"op": "SUB"}, "6569": {"op": "DUP1"}, "6570": {"op": "NOT"}, "6571": {"op": "DUP3"}, "6572": {"op": "MLOAD"}, "6573": {"op": "AND"}, "6574": {"op": "DUP2"}, "6575": {"op": "DUP5"}, "6576": {"op": "MLOAD"}, "6577": {"op": "AND"}, "6578": {"op": "DUP1"}, "6579": {"op": "DUP3"}, "6580": {"op": "OR"}, "6581": {"op": "DUP6"}, "6582": {"op": "MSTORE"}, "6583": {"op": "POP"}, "6584": {"op": "POP"}, "6585": {"op": "POP"}, "6586": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "POP", "path": "8"}, "6587": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "POP", "path": "8"}, "6588": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "POP", "path": "8"}, "6589": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "SWAP1", "path": "8"}, "6590": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "POP", "path": "8"}, "6591": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "ADD", "path": "8"}, "6592": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "SWAP2", "path": "8"}, "6593": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "POP", "path": "8"}, "6594": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "POP", "path": "8"}, "6595": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "PUSH1", "path": "8", "value": "0x0"}, "6597": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "PUSH1", "path": "8", "value": "0x40"}, "6599": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "MLOAD", "path": "8"}, "6600": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "DUP1", "path": "8"}, "6601": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "DUP4", "path": "8"}, "6602": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "SUB", "path": "8"}, "6603": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "DUP2", "path": "8"}, "6604": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "DUP6", "path": "8"}, "6605": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "DUP8", "path": "8"}, "6606": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "GAS", "path": "8"}, "6607": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "CALL", "path": "8"}, "6608": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "SWAP3", "path": "8"}, "6609": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "POP", "path": "8"}, "6610": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "POP", "path": "8"}, "6611": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "POP", "path": "8"}, "6612": {"fn": "Address.functionCallWithValue", "offset": [5022, 5055], "op": "RETURNDATASIZE", "path": "8"}, "6613": {"op": "DUP1"}, "6614": {"op": "PUSH1", "value": "0x0"}, "6616": {"op": "DUP2"}, "6617": {"op": "EQ"}, "6618": {"op": "PUSH2", "value": "0x19FF"}, "6621": {"op": "JUMPI"}, "6622": {"op": "PUSH1", "value": "0x40"}, "6624": {"op": "MLOAD"}, "6625": {"op": "SWAP2"}, "6626": {"op": "POP"}, "6627": {"op": "PUSH1", "value": "0x1F"}, "6629": {"op": "NOT"}, "6630": {"op": "PUSH1", "value": "0x3F"}, "6632": {"op": "RETURNDATASIZE"}, "6633": {"op": "ADD"}, "6634": {"op": "AND"}, "6635": {"op": "DUP3"}, "6636": {"op": "ADD"}, "6637": {"op": "PUSH1", "value": "0x40"}, "6639": {"op": "MSTORE"}, "6640": {"op": "RETURNDATASIZE"}, "6641": {"op": "DUP3"}, "6642": {"op": "MSTORE"}, "6643": {"op": "RETURNDATASIZE"}, "6644": {"op": "PUSH1", "value": "0x0"}, "6646": {"op": "PUSH1", "value": "0x20"}, "6648": {"op": "DUP5"}, "6649": {"op": "ADD"}, "6650": {"op": "RETURNDATACOPY"}, "6651": {"op": "PUSH2", "value": "0x1A04"}, "6654": {"op": "JUMP"}, "6655": {"op": "JUMPDEST"}, "6656": {"op": "PUSH1", "value": "0x60"}, "6658": {"op": "SWAP2"}, "6659": {"op": "POP"}, "6660": {"op": "JUMPDEST"}, "6661": {"op": "POP"}, "6662": {"fn": "Address.functionCallWithValue", "offset": [4980, 5055], "op": "SWAP2", "path": "8"}, "6663": {"fn": "Address.functionCallWithValue", "offset": [4980, 5055], "op": "POP", "path": "8"}, "6664": {"fn": "Address.functionCallWithValue", "offset": [4980, 5055], "op": "SWAP2", "path": "8"}, "6665": {"fn": "Address.functionCallWithValue", "offset": [4980, 5055], "op": "POP", "path": "8"}, "6666": {"fn": "Address.functionCallWithValue", "offset": [5072, 5124], "op": "PUSH2", "path": "8", "statement": 100, "value": "0x1A14"}, "6669": {"fn": "Address.functionCallWithValue", "offset": [5090, 5097], "op": "DUP3", "path": "8"}, "6670": {"fn": "Address.functionCallWithValue", "offset": [5099, 5109], "op": "DUP3", "path": "8"}, "6671": {"fn": "Address.functionCallWithValue", "offset": [5111, 5123], "op": "DUP7", "path": "8"}, "6672": {"fn": "Address.functionCallWithValue", "offset": [5072, 5089], "op": "PUSH2", "path": "8", "value": "0x1A1F"}, "6675": {"fn": "Address.functionCallWithValue", "jump": "i", "offset": [5072, 5124], "op": "JUMP", "path": "8"}, "6676": {"fn": "Address.functionCallWithValue", "offset": [5072, 5124], "op": "JUMPDEST", "path": "8"}, "6677": {"fn": "Address.functionCallWithValue", "offset": [5065, 5124], "op": "SWAP8", "path": "8"}, "6678": {"fn": "Address.functionCallWithValue", "offset": [4608, 5131], "op": "SWAP7", "path": "8"}, "6679": {"op": "POP"}, "6680": {"op": "POP"}, "6681": {"op": "POP"}, "6682": {"op": "POP"}, "6683": {"op": "POP"}, "6684": {"op": "POP"}, "6685": {"op": "POP"}, "6686": {"fn": "Address.functionCallWithValue", "jump": "o", "offset": [4608, 5131], "op": "JUMP", "path": "8"}, "6687": {"fn": "Address._verifyCallResult", "offset": [7091, 7816], "op": "JUMPDEST", "path": "8"}, "6688": {"fn": "Address._verifyCallResult", "offset": [7206, 7218], "op": "PUSH1", "path": "8", "value": "0x60"}, "6690": {"branch": 104, "fn": "Address._verifyCallResult", "offset": [7234, 7241], "op": "DUP4", "path": "8"}, "6691": {"fn": "Address._verifyCallResult", "offset": [7230, 7810], "op": "ISZERO", "path": "8"}, "6692": {"fn": "Address._verifyCallResult", "offset": [7230, 7810], "op": "PUSH2", "path": "8", "value": "0x1A2E"}, "6695": {"branch": 104, "fn": "Address._verifyCallResult", "offset": [7230, 7810], "op": "JUMPI", "path": "8"}, "6696": {"op": "POP"}, "6697": {"fn": "Address._verifyCallResult", "offset": [7264, 7274], "op": "DUP2", "path": "8", "statement": 101}, "6698": {"fn": "Address._verifyCallResult", "offset": [7257, 7274], "op": "PUSH2", "path": "8", "value": "0x108C"}, "6701": {"fn": "Address._verifyCallResult", "offset": [7257, 7274], "op": "JUMP", "path": "8"}, "6702": {"fn": "Address._verifyCallResult", "offset": [7230, 7810], "op": "JUMPDEST", "path": "8"}, "6703": {"fn": "Address._verifyCallResult", "offset": [7375, 7392], "op": "DUP3", "path": "8"}, "6704": {"fn": "Address._verifyCallResult", "offset": [7375, 7392], "op": "MLOAD", "path": "8"}, "6705": {"branch": 105, "fn": "Address._verifyCallResult", "offset": [7375, 7396], "op": "ISZERO", "path": "8"}, "6706": {"fn": "Address._verifyCallResult", "offset": [7371, 7800], "op": "PUSH2", "path": "8", "value": "0x1A3E"}, "6709": {"branch": 105, "fn": "Address._verifyCallResult", "offset": [7371, 7800], "op": "JUMPI", "path": "8"}, "6710": {"fn": "Address._verifyCallResult", "offset": [7633, 7643], "op": "DUP3", "path": "8"}, "6711": {"fn": "Address._verifyCallResult", "offset": [7627, 7644], "op": "MLOAD", "path": "8"}, "6712": {"fn": "Address._verifyCallResult", "offset": [7693, 7708], "op": "DUP1", "path": "8"}, "6713": {"fn": "Address._verifyCallResult", "offset": [7680, 7690], "op": "DUP5", "path": "8"}, "6714": {"fn": "Address._verifyCallResult", "offset": [7676, 7678], "op": "PUSH1", "path": "8", "value": "0x20"}, "6716": {"fn": "Address._verifyCallResult", "offset": [7672, 7691], "op": "ADD", "path": "8"}, "6717": {"fn": "Address._verifyCallResult", "offset": [7665, 7709], "op": "REVERT", "path": "8"}, "6718": {"fn": "Address._verifyCallResult", "offset": [7582, 7727], "op": "JUMPDEST", "path": "8"}, "6719": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "PUSH1", "path": "8", "statement": 102, "value": "0x40"}, "6721": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "MLOAD", "path": "8"}, "6722": {"op": "PUSH3", "value": "0x461BCD"}, "6726": {"op": "PUSH1", "value": "0xE5"}, "6728": {"op": "SHL"}, "6729": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "DUP2", "path": "8"}, "6730": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "MSTORE", "path": "8"}, "6731": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "PUSH1", "path": "8", "value": "0x20"}, "6733": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "PUSH1", "path": "8", "value": "0x4"}, "6735": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "DUP3", "path": "8"}, "6736": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "ADD", "path": "8"}, "6737": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "DUP2", "path": "8"}, "6738": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "DUP2", "path": "8"}, "6739": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "MSTORE", "path": "8"}, "6740": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "DUP5", "path": "8"}, "6741": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "MLOAD", "path": "8"}, "6742": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "PUSH1", "path": "8", "value": "0x24"}, "6744": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "DUP5", "path": "8"}, "6745": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "ADD", "path": "8"}, "6746": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "MSTORE", "path": "8"}, "6747": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "DUP5", "path": "8"}, "6748": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "MLOAD", "path": "8"}, "6749": {"fn": "Address._verifyCallResult", "offset": [7772, 7784], "op": "DUP6", "path": "8"}, "6750": {"fn": "Address._verifyCallResult", "offset": [7772, 7784], "op": "SWAP4", "path": "8"}, "6751": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "SWAP2", "path": "8"}, "6752": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "SWAP3", "path": "8"}, "6753": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "DUP4", "path": "8"}, "6754": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "SWAP3", "path": "8"}, "6755": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "PUSH1", "path": "8", "value": "0x44"}, "6757": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "ADD", "path": "8"}, "6758": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "SWAP2", "path": "8"}, "6759": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "SWAP1", "path": "8"}, "6760": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "DUP6", "path": "8"}, "6761": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "ADD", "path": "8"}, "6762": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "SWAP1", "path": "8"}, "6763": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "DUP1", "path": "8"}, "6764": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "DUP4", "path": "8"}, "6765": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "DUP4", "path": "8"}, "6766": {"fn": "Address._verifyCallResult", "offset": [7765, 7785], "op": "PUSH1", "path": "8", "value": "0x0"}, "6768": {"op": "DUP4"}, "6769": {"op": "ISZERO"}, "6770": {"op": "PUSH2", "value": "0x13BE"}, "6773": {"op": "JUMPI"}, "6774": {"op": "DUP2"}, "6775": {"op": "DUP2"}, "6776": {"op": "ADD"}, "6777": {"op": "MLOAD"}, "6778": {"op": "DUP4"}, "6779": {"op": "DUP3"}, "6780": {"op": "ADD"}, "6781": {"op": "MSTORE"}, "6782": {"op": "PUSH1", "value": "0x20"}, "6784": {"op": "ADD"}, "6785": {"op": "PUSH2", "value": "0x13A6"}, "6788": {"op": "JUMP"}, "6789": {"offset": [115, 631], "op": "JUMPDEST", "path": "13"}, "6790": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP3", "path": "13"}, "6791": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP1", "path": "13"}, "6792": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SLOAD", "path": "13"}, "6793": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x1"}, "6795": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP2", "path": "13"}, "6796": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x1"}, "6798": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "AND", "path": "13"}, "6799": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "ISZERO", "path": "13"}, "6800": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x100"}, "6803": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "MUL", "path": "13"}, "6804": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SUB", "path": "13"}, "6805": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "AND", "path": "13"}, "6806": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x2"}, "6808": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SWAP1", "path": "13"}, "6809": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DIV", "path": "13"}, "6810": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SWAP1", "path": "13"}, "6811": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x0"}, "6813": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "MSTORE", "path": "13"}, "6814": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x20"}, "6816": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x0"}, "6818": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "KECCAK256", "path": "13"}, "6819": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SWAP1", "path": "13"}, "6820": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x1F"}, "6822": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "ADD", "path": "13"}, "6823": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x20"}, "6825": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SWAP1", "path": "13"}, "6826": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DIV", "path": "13"}, "6827": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP2", "path": "13"}, "6828": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "ADD", "path": "13"}, "6829": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SWAP3", "path": "13"}, "6830": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP3", "path": "13"}, "6831": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x1F"}, "6833": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "LT", "path": "13"}, "6834": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x1AC6"}, "6837": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "JUMPI", "path": "13"}, "6838": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP1", "path": "13"}, "6839": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "MLOAD", "path": "13"}, "6840": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0xFF"}, "6842": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "NOT", "path": "13"}, "6843": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "AND", "path": "13"}, "6844": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP4", "path": "13"}, "6845": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP1", "path": "13"}, "6846": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "ADD", "path": "13"}, "6847": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "OR", "path": "13"}, "6848": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP6", "path": "13"}, "6849": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SSTORE", "path": "13"}, "6850": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x1AF3"}, "6853": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "JUMP", "path": "13"}, "6854": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "JUMPDEST", "path": "13"}, "6855": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP3", "path": "13"}, "6856": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP1", "path": "13"}, "6857": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "ADD", "path": "13"}, "6858": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x1"}, "6860": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "ADD", "path": "13"}, "6861": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP6", "path": "13"}, "6862": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SSTORE", "path": "13"}, "6863": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP3", "path": "13"}, "6864": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "ISZERO", "path": "13"}, "6865": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x1AF3"}, "6868": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "JUMPI", "path": "13"}, "6869": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SWAP2", "path": "13"}, "6870": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP3", "path": "13"}, "6871": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "ADD", "path": "13"}, "6872": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "JUMPDEST", "path": "13"}, "6873": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP3", "path": "13"}, "6874": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP2", "path": "13"}, "6875": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "GT", "path": "13"}, "6876": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "ISZERO", "path": "13"}, "6877": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x1AF3"}, "6880": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "JUMPI", "path": "13"}, "6881": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP3", "path": "13"}, "6882": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "MLOAD", "path": "13"}, "6883": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP3", "path": "13"}, "6884": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SSTORE", "path": "13"}, "6885": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SWAP2", "path": "13"}, "6886": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x20"}, "6888": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "ADD", "path": "13"}, "6889": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SWAP2", "path": "13"}, "6890": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SWAP1", "path": "13"}, "6891": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x1"}, "6893": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "ADD", "path": "13"}, "6894": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SWAP1", "path": "13"}, "6895": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x1AD8"}, "6898": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "JUMP", "path": "13"}, "6899": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "JUMPDEST", "path": "13"}, "6900": {"op": "POP"}, "6901": {"offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x1AFF"}, "6904": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SWAP3", "path": "13"}, "6905": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SWAP2", "path": "13"}, "6906": {"op": "POP"}, "6907": {"offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x1B03"}, "6910": {"fn": "Address._verifyCallResult", "jump": "i", "offset": [115, 631], "op": "JUMP", "path": "13"}, "6911": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "JUMPDEST", "path": "13"}, "6912": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "POP", "path": "13"}, "6913": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SWAP1", "path": "13"}, "6914": {"fn": "Address._verifyCallResult", "jump": "o", "offset": [115, 631], "op": "JUMP", "path": "13"}, "6915": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "JUMPDEST", "path": "13"}, "6916": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x616"}, "6919": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SWAP2", "path": "13"}, "6920": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SWAP1", "path": "13"}, "6921": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "JUMPDEST", "path": "13"}, "6922": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP1", "path": "13"}, "6923": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP3", "path": "13"}, "6924": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "GT", "path": "13"}, "6925": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "ISZERO", "path": "13"}, "6926": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x1AFF"}, "6929": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "JUMPI", "path": "13"}, "6930": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x0"}, "6932": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "DUP2", "path": "13"}, "6933": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "SSTORE", "path": "13"}, "6934": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH1", "path": "13", "value": "0x1"}, "6936": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "ADD", "path": "13"}, "6937": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "PUSH2", "path": "13", "value": "0x1B09"}, "6940": {"fn": "Address._verifyCallResult", "offset": [115, 631], "op": "JUMP", "path": "13"}}, "sha1": "0ce9dcc0f4c3f5296c7cb2ba5fb40da0468fd664", "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.6.6;\n\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\n\ncontract SimpleCollectible is ERC721 {\n uint256 public tokenCounter;\n\n constructor() public ERC721(\"Certificate\", \"DeepFakeCertification\") {\n tokenCounter = 0;\n }\n\n function createCollectible(\n string memory tokenURI,\n address recipient\n ) public returns (uint256) {\n uint256 newTokenId = tokenCounter;\n _safeMint(address(recipient), newTokenId);\n _setTokenURI(newTokenId, tokenURI);\n tokenCounter = tokenCounter + 1;\n return newTokenId;\n }\n}", "sourceMap": "115:516:13:-:0;;;192:101;5:9:-1;2:2;;;27:1;24;17:12;2:2;-1:-1;3577:369:3;;;;;;;;;;;-1:-1:-1;;;3577:369:3;;;;;;;;;;;;;;;;;;;;;;;;;768:40:0;-1:-1:-1;;;;;;;;768:18:0;:40;:::i;:::-;3651:13:3;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;3674:17:3;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;3779:40:3;-1:-1:-1;;;;;;;;3779:18:3;:40;:::i;:::-;3829:49;-1:-1:-1;;;;;;;;3829:18:3;:49;:::i;:::-;3888:51;-1:-1:-1;;;;;;;;3888:18:3;:51;:::i;:::-;-1:-1:-1;;285:1:13::1;270:12;:16:::0;115:516;;1507:198:0;-1:-1:-1;;;;;;1590:25:0;;;;;1582:66;;;;;-1:-1:-1;;;1582:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1658:33:0;:20;:33;;;;;;;;;;:40;;-1:-1:-1;;1658:40:0;1694:4;1658:40;;;1507:198::o;115:516:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;115:516:13;;;-1:-1:-1;115:516:13;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", "sourcePath": "contracts/NFTmint.sol", "type": "contract", "deployment": {"address": "0x32Ca8501A116B39F18443D0E1F6a4077d82fdCfd", "chainid": "2442", "blockHeight": 8703032}} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/build/deployments/map.json b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/deployments/map.json new file mode 100644 index 00000000..0b8868aa --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/build/deployments/map.json @@ -0,0 +1,12 @@ +{ + "11155111": { + "SimpleCollectible": [ + "0x32Ca8501A116B39F18443D0E1F6a4077d82fdCfd" + ] + }, + "2442": { + "SimpleCollectible": [ + "0x32Ca8501A116B39F18443D0E1F6a4077d82fdCfd" + ] + } +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/contracts/FundMe.sol b/hackathon/Fam.ai (Novathon)/backend/blockchain/contracts/FundMe.sol new file mode 100644 index 00000000..393ec8f8 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/contracts/FundMe.sol @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.6.0; +import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol"; +import "@chainlink/contracts/src/v0.6/vendor/SafeMathChainlink.sol"; + +contract FundMe { + using SafeMathChainlink for uint256; + mapping(address => uint256) public addressToFund; + address public owner; + address[] public funders; + + constructor() public { + owner = payable(msg.sender); + } + + function fund() public payable { + uint256 minimumUSD = 0.000001 * 10 ** 18; + require(getPrice(msg.value) >= minimumUSD); + addressToFund[msg.sender] += msg.value; + funders.push(msg.sender); + } + + function getPrice(uint256 ethAmt) public returns (uint256) { + AggregatorV3Interface priceFeed = AggregatorV3Interface( + 0x694AA1769357215DE4FAC081bf1f309aDC325306 + ); + (, int256 answer, , , ) = priceFeed.latestRoundData(); + uint256 price = uint256(answer * 10000000000); + return (price * ethAmt) / 1000000000000000000; + } + + function withdraw() public payable { + payable(address(0x38CE0679A2e09e0e9738C702864A691A81f22e3C)).transfer( + 30000000000000 + ); + } +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/blockchain/contracts/NFTmint.sol b/hackathon/Fam.ai (Novathon)/backend/blockchain/contracts/NFTmint.sol new file mode 100644 index 00000000..596d44f6 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/blockchain/contracts/NFTmint.sol @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.6.6; + +import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; + +contract SimpleCollectible is ERC721 { + uint256 public tokenCounter; + + constructor() public ERC721("Certificate", "DeepFakeCertification") { + tokenCounter = 0; + } + + function createCollectible( + string memory tokenURI, + address recipient + ) public returns (uint256) { + uint256 newTokenId = tokenCounter; + _safeMint(address(recipient), newTokenId); + _setTokenURI(newTokenId, tokenURI); + tokenCounter = tokenCounter + 1; + return newTokenId; + } +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/chats/__init__.py b/hackathon/Fam.ai (Novathon)/backend/chats/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/hackathon/Fam.ai (Novathon)/backend/chats/api.py b/hackathon/Fam.ai (Novathon)/backend/chats/api.py new file mode 100644 index 00000000..9baa3f8c --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/chats/api.py @@ -0,0 +1,32 @@ +import json +from auth.auth import get_address +from fastapi import APIRouter, Depends +from ai_functions.llmware_utils import get_llmware_response +from global_vars import Var +from schemas import ChatData + +chats_router = APIRouter(prefix="/chat", tags=["chats"]) + + +@chats_router.post("/chat") +async def chat(chat_data: ChatData, address=Depends(get_address)): + history = chat_data.history + history.append({"query": chat_data.prompt}) + context = (f'you are a helpful medical chat bot for the query provided reply short and precisely' + f'{await get_context(address, chat_data.prfid)}') + response = get_llmware_response(str(history), context=context) + return {'res': response.split('<|eot_id|>')[0]} + + +@chats_router.post('/score') +async def scorer(prfid: str, address=Depends(get_address)): + context = ( + f'you are a medical rating bot for rating out of 100 based on a persons health and give response as json {{"overallhealthscore": "$score"}}' + f'{await get_context(address, prfid)}') + response = get_llmware_response( + 'GIVE A CUMULATIVE score based on health and documents IN FORMAT give response as json {"overallhealthscore": "$score"} nothing else otherthan the json should be sent', + context=context) + response = response.split('<|eot_id|>')[0] + print(response) + response = json.loads(response) + return response diff --git a/hackathon/Fam.ai (Novathon)/backend/chats/api.py~ b/hackathon/Fam.ai (Novathon)/backend/chats/api.py~ new file mode 100644 index 00000000..e28bd070 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/chats/api.py~ @@ -0,0 +1,38 @@ +import json +from auth.auth import get_address +from fastapi import APIRouter, Depends +from ai_functions.llmware_utils import get_llmware_response +from global_vars import Var +from schemas import ChatData + +chats_router = APIRouter(prefix="/chat", tags=["chats"]) + + +async def get_context(address, prfid): + data = await Var.db.get_documents(address, prfid) + data = [d.get('inferences') for d in data] + return data + + +@chats_router.post("/chat") +async def chat(chat_data: ChatData, address=Depends(get_address)): + history = chat_data.history + history.append({"query": chat_data.prompt}) + context = (f'you are a helpful medical chat bot for the query provided reply short and precisely' + f'{await get_context(address, chat_data.prfid)}') + response = get_llmware_response(str(history), context=context) + return {'res': response.split('<|eot_id|>')[0]} + + +@chats_router.post('/score') +async def scorer(prfid: str, address=Depends(get_address)): + context = ( + f'you are a medical rating bot for rating out of 100 based on a persons health and give response as json {{"overallhealthscore": "$score"}}' + f'{await get_context(address, prfid)}') + response = get_llmware_response( + 'GIVE A CUMULATIVE score based on health and documents IN FORMAT give response as json {"overallhealthscore": "$score"} nothing else otherthan the json should be sent', + context=context) + response = response.split('<|eot_id|>')[0] + print(response) + response = json.loads(response) + return response diff --git a/hackathon/Fam.ai (Novathon)/backend/database.py b/hackathon/Fam.ai (Novathon)/backend/database.py new file mode 100644 index 00000000..f967a382 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/database.py @@ -0,0 +1,39 @@ +import motor.motor_asyncio + +from schemas import AccountData, ProfileData, DocData + + +class FamAIDataBase: + def __init__(self): + self._client = motor.motor_asyncio.AsyncIOMotorClient('mongodb://localhost:27017/') + self.db = self._client["FamAIDataBase"] + self.usrDB = self.db["usrDB"] + self.prfDB = self.db["prfDB"] + self.docDB = self.db["docDB"] + + async def create_user(self, user: AccountData): + return await self.usrDB.insert_one(user.model_dump()) + + async def get_user(self, address: str): + return await self.usrDB.find_one({"address": address}, {'_id': 0}) + + async def create_profile(self, profile_data: ProfileData): + return await self.prfDB.insert_one(profile_data.model_dump()) + + async def delete_profile(self, address: str, prfid: str): + await self.prfDB.delete_one({'address': address, 'prfid': prfid}) + + async def get_profile(self, address: str, prfid: str): + return await self.prfDB.find_one({'address': address, 'prfid': prfid}, {'_id': 0}) + + async def get_profiles(self, address: str): + return await self.prfDB.find({'address': address}, {'_id': 0}).to_list(None) + + async def add_document(self, doc_data: DocData): + return await self.docDB.insert_one(doc_data.model_dump()) + + async def get_documents(self, address: str, prfid: str): + return await self.docDB.find({'address': address, 'prfid': prfid}, {'_id': 0}).to_list(None) + + async def delete_document(self, address: str, prfid: str, filename: str): + await self.docDB.delete_one({'address': address, 'prfid': prfid, 'filename': filename}) \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/docs/__init__.py b/hackathon/Fam.ai (Novathon)/backend/docs/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/hackathon/Fam.ai (Novathon)/backend/docs/api.py b/hackathon/Fam.ai (Novathon)/backend/docs/api.py new file mode 100644 index 00000000..9577026d --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/docs/api.py @@ -0,0 +1,65 @@ +import aiofiles +import requests +from PIL import Image +from global_vars import Var +from schemas import DocData +from utils import invoke_uid +from auth.auth import get_address +from fastapi import APIRouter, Depends, UploadFile, HTTPException +from ai_functions.detector import predictTumor +from ai_functions.vision_ai import ask_ai + +doc_router = APIRouter(prefix="/document", tags=["document"]) + + +def get_response(prompt, context): + res = requests.post('https://aecc-35-231-142-90.ngrok-free.app/chat', + json={'prompt': prompt, 'context': context}) + res = res.json() + if not res: + return False + res = res.get('llm_response') + return res + + +classifier_prompt = "Classify the image. 1 for MRI and 2 for not MRI, only send 1 or 2 without forming any sentences" +ocr_prompt = "Provide the summary from what u are seeing document it well" + + +@doc_router.post("/upload") +async def upload_file(file: UploadFile, prfid: str, address=Depends(get_address)): + extension = file.filename.split('.')[-1] + if extension not in ['jpg', 'png', 'jpeg']: + raise HTTPException(status_code=400, detail="Invalid file type") + file_name = invoke_uid(10) + '.' + extension + async with aiofiles.open('assets/' + file_name, 'wb') as out_file: + content = await file.read() + await out_file.write(content) + + pillow_img = Image.open('assets/{}'.format(file_name)) + classification = ask_ai(pillow_img, classifier_prompt) + classification = classification[0] + if classification == '1': + print('got 1') + cancer_value = predictTumor('assets/{}'.format(file_name)) + if cancer_value: + res = 'person was daignosed severe with brain tumor' + else: + res = 'person is healthy' + else: + res = ask_ai(pillow_img, ocr_prompt) + print(res) + doc_data = DocData(filename=file_name, inferences=res, address=address, prfid=prfid) + + await Var.db.add_document(doc_data) + return {'filename': file_name} + + +@doc_router.post("/list_documents") +async def list_documents(prfid: str, address=Depends(get_address)): + return await Var.db.get_documents(address, prfid) + +@doc_router.post("/delete_document") +async def delete_document(filename: str, prfid: str, address=Depends(get_address)): + return await Var.db.delete_document(address, prfid, filename) + diff --git a/hackathon/Fam.ai (Novathon)/backend/global_vars.py b/hackathon/Fam.ai (Novathon)/backend/global_vars.py new file mode 100644 index 00000000..08ed9268 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/global_vars.py @@ -0,0 +1,7 @@ +from database import FamAIDataBase + + +class Var: + db = FamAIDataBase() + use_blockchain: bool = True + kaggle_url = 'https://seriously-distinct-bear.ngrok-free.app/' diff --git a/hackathon/Fam.ai (Novathon)/backend/main.py b/hackathon/Fam.ai (Novathon)/backend/main.py new file mode 100644 index 00000000..aaaf9174 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/main.py @@ -0,0 +1,28 @@ +import nest_asyncio +from starlette.staticfiles import StaticFiles +from blockchain.api import bchain_router +from chats.api import chats_router +from server import app +from docs.api import doc_router +from users.api import user_router +from pyngrok import ngrok + +app.include_router(user_router) +app.include_router(doc_router) +app.include_router(chats_router) +app.include_router(bchain_router) + +app.mount("/assets", StaticFiles(directory="assets"), name="assets") + +try: + auth_token = "2pVo1Jfcx0mc61PMALqsa8rgALwjyxoc" + ngrok.set_auth_token(auth_token) + ngrok_tunnel = ngrok.connect(8000, hostname='thoroughly-lasting-ladybug.ngrok-free.app') + print('Public URL:', ngrok_tunnel.public_url) + nest_asyncio.apply() +except: + print("Ngrok error replace auth token and change url in frontend as well") + +if __name__ == "__main__": + import uvicorn + uvicorn.run(app, port=8000) diff --git a/hackathon/Fam.ai (Novathon)/backend/polygon_deployed_address.txt b/hackathon/Fam.ai (Novathon)/backend/polygon_deployed_address.txt new file mode 100644 index 00000000..2aa8b5c7 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/polygon_deployed_address.txt @@ -0,0 +1 @@ +0x32Ca8501A116B39F18443D0E1F6a4077d82fdCfd \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/requirements.txt b/hackathon/Fam.ai (Novathon)/backend/requirements.txt new file mode 100644 index 00000000..5ae77a53 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/requirements.txt @@ -0,0 +1,20 @@ +fastapi~=0.111.1 +uvicorn~=0.30.3 +pymongo +pymongo[srv] +motor~=3.4.0 +aiofiles~=23.2.1 +starlette~=0.37.2 +pydantic~=2.7.4 +google-generativeai +pyngrok~=7.2.1 +imutils~=0.5.4 +requests +pillow~=10.4.0 +opencv-python~=4.7.0.72 +tensorflow~=2.18.0 +google~=3.0.0 +python-dotenv~=0.16.0 +web3 +eth-brownie + diff --git a/hackathon/Fam.ai (Novathon)/backend/schemas.py b/hackathon/Fam.ai (Novathon)/backend/schemas.py new file mode 100644 index 00000000..8e9f7e2f --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/schemas.py @@ -0,0 +1,36 @@ +from typing import Union, List + +from pydantic import BaseModel + + +class AccountData(BaseModel): + address: str + + +class ProfileUID(BaseModel): + prfid: str + + +class ProfileData(BaseModel): + address: Union[str, None] = None + prfid: Union[str, None] = None + name: str + dob: str + gender: str + blood: str + + +class DocData(BaseModel): + filename: Union[str, None] = None + inferences: str + + address: Union[str, None] = None + prfid: Union[str, None] = None + + +class ChatData(BaseModel): + prfid: str + prompt: str + history: List + + diff --git a/hackathon/Fam.ai (Novathon)/backend/sepolia_deployed_address.txt b/hackathon/Fam.ai (Novathon)/backend/sepolia_deployed_address.txt new file mode 100644 index 00000000..2aa8b5c7 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/sepolia_deployed_address.txt @@ -0,0 +1 @@ +0x32Ca8501A116B39F18443D0E1F6a4077d82fdCfd \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/backend/server.py b/hackathon/Fam.ai (Novathon)/backend/server.py new file mode 100644 index 00000000..e0c882f3 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/server.py @@ -0,0 +1,23 @@ +from fastapi import FastAPI +from starlette.middleware.cors import CORSMiddleware + +from global_vars import Var +from database import FamAIDataBase +from contextlib import asynccontextmanager + + +# ON STARTUP FUNCTION +@asynccontextmanager +async def lifespan(_fastapi: FastAPI): + Var.db = FamAIDataBase() + yield + + +app = FastAPI(lifespan=lifespan) +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) diff --git a/hackathon/Fam.ai (Novathon)/backend/test.md b/hackathon/Fam.ai (Novathon)/backend/test.md new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/test.md @@ -0,0 +1 @@ + diff --git a/hackathon/Fam.ai (Novathon)/backend/users/__init__.py b/hackathon/Fam.ai (Novathon)/backend/users/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/hackathon/Fam.ai (Novathon)/backend/users/api.py b/hackathon/Fam.ai (Novathon)/backend/users/api.py new file mode 100644 index 00000000..0bbf6f19 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/users/api.py @@ -0,0 +1,52 @@ +from auth.auth import get_address +from global_vars import Var +from fastapi import APIRouter, HTTPException, Depends +from schemas import AccountData, ProfileData, ProfileUID +from utils import invoke_uid + +user_router = APIRouter(prefix="/user", tags=["users"]) + + +@user_router.post("/create_account") +async def create_user(address: str = Depends(get_address)): + user = await Var.db.get_user(address) + if user: + return user + account_data = AccountData(address=address) + await Var.db.create_user(account_data) + return account_data + + +@user_router.get("/get_account") +async def get_user(address: str = Depends(get_address)): + print(address) + user = await Var.db.get_user(address) + print(user) + return user + + +@user_router.post("/create_profile") +async def create_profile(profile_data: ProfileData, address: str = Depends(get_address)): + user = await Var.db.get_user(address) + if not user: + raise HTTPException(status_code=400, detail="User does not exist") + profile_data.address = address + profile_data.prfid = invoke_uid(10, False) + await Var.db.create_profile(profile_data) + return {'success': True} + + +@user_router.post("/delete_profile") +async def create_profile(profile_uid: ProfileUID, address=Depends(get_address)): + await Var.db.delete_profile(address, profile_uid.prfid) + return {'success': True} + + +@user_router.post("/get_profiles") +async def get_profiles(address=Depends(get_address)): + return await Var.db.get_profiles(address) + + +@user_router.get("/get_profile") +async def fetch_profile(prfid: str, address=Depends(get_address)): + return await Var.db.get_profile(address, prfid) diff --git a/hackathon/Fam.ai (Novathon)/backend/users/api.py~ b/hackathon/Fam.ai (Novathon)/backend/users/api.py~ new file mode 100644 index 00000000..3fada533 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/users/api.py~ @@ -0,0 +1,52 @@ +from auth.auth import get_address +from global_vars import Var +from fastapi import APIRouter, HTTPException, Depends +from schemas import AccountData, ProfileData, ProfileUID +from utils import invoke_uid + +user_router = APIRouter(prefix="/user", tags=["users"]) + + +@user_router.post("/create_account") +async def create_user(address: str = Depends(get_address)): + user = await Var.db.get_user(address) + if user: + return user + account_data = AccountData(address=address) + await Var.db.create_user(account_data) + return account_data + + +@user_router.get("/get_account") +async def get_user(address: str = Depends(get_address)): + print(address) + user = await Var.db.get_user(address) + print(user) + return user + + +@user_router.post("/create_profile") +async def create_profile(profile_data: ProfileData, address: str = Depends(get_address)): + user = await Var.db.get_user(address) + if not user: + raise HTTPException(status_code=400, detail="User does not exist") + profile_data.address = address + profile_data.prfid = invoke_uid(10, False) + await Var.db.create_profile(profile_data) + return {'success': True} + + +@user_router.post("/delete_profile") +async def create_profile(profile_uid: ProfileUID, address=Depends(get_address)): + await Var.db.delete_profile(address, profile_uid.prfid) + return {'success': True} + + +@user_router.post("/get_profiles") +async def get_profiles(address=Depends(get_address)): + return await Var.db.get_profiles(address) + + +@user_router.get("/get_profile") +async def get_profile(prfid: str, address=Depends(get_address)): + return await Var.db.get_profile(address, prfid) diff --git a/hackathon/Fam.ai (Novathon)/backend/utils.py b/hackathon/Fam.ai (Novathon)/backend/utils.py new file mode 100644 index 00000000..8e50ca16 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/backend/utils.py @@ -0,0 +1,8 @@ +import random +import string + + +def invoke_uid(length=10, alphanumeric=True): + char_pool = string.ascii_lowercase + string.ascii_uppercase if alphanumeric else string.digits + uid = "".join(random.choices(char_pool, k=length)) + return uid diff --git a/hackathon/Fam.ai (Novathon)/blockchain_app/blockchain/FundMe.sol b/hackathon/Fam.ai (Novathon)/blockchain_app/blockchain/FundMe.sol new file mode 100644 index 00000000..393ec8f8 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/blockchain_app/blockchain/FundMe.sol @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.6.0; +import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol"; +import "@chainlink/contracts/src/v0.6/vendor/SafeMathChainlink.sol"; + +contract FundMe { + using SafeMathChainlink for uint256; + mapping(address => uint256) public addressToFund; + address public owner; + address[] public funders; + + constructor() public { + owner = payable(msg.sender); + } + + function fund() public payable { + uint256 minimumUSD = 0.000001 * 10 ** 18; + require(getPrice(msg.value) >= minimumUSD); + addressToFund[msg.sender] += msg.value; + funders.push(msg.sender); + } + + function getPrice(uint256 ethAmt) public returns (uint256) { + AggregatorV3Interface priceFeed = AggregatorV3Interface( + 0x694AA1769357215DE4FAC081bf1f309aDC325306 + ); + (, int256 answer, , , ) = priceFeed.latestRoundData(); + uint256 price = uint256(answer * 10000000000); + return (price * ethAmt) / 1000000000000000000; + } + + function withdraw() public payable { + payable(address(0x38CE0679A2e09e0e9738C702864A691A81f22e3C)).transfer( + 30000000000000 + ); + } +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/blockchain_app/blockchain/NFTmint.sol b/hackathon/Fam.ai (Novathon)/blockchain_app/blockchain/NFTmint.sol new file mode 100644 index 00000000..596d44f6 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/blockchain_app/blockchain/NFTmint.sol @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.6.6; + +import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; + +contract SimpleCollectible is ERC721 { + uint256 public tokenCounter; + + constructor() public ERC721("Certificate", "DeepFakeCertification") { + tokenCounter = 0; + } + + function createCollectible( + string memory tokenURI, + address recipient + ) public returns (uint256) { + uint256 newTokenId = tokenCounter; + _safeMint(address(recipient), newTokenId); + _setTokenURI(newTokenId, tokenURI); + tokenCounter = tokenCounter + 1; + return newTokenId; + } +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/blockchain_app/blockchain/api.py b/hackathon/Fam.ai (Novathon)/blockchain_app/blockchain/api.py new file mode 100644 index 00000000..29a3d551 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/blockchain_app/blockchain/api.py @@ -0,0 +1,139 @@ +import os +import json +import dotenv +import datetime +from PIL import Image +from web3 import Web3 +from fastapi import APIRouter +from pydantic import BaseModel +from utils import file_to_sha256 +from brownie.project import get_loaded_projects +from brownie.network.account import LocalAccount +from brownie import project, network, accounts, Contract +from concurrent.futures import ThreadPoolExecutor, as_completed + +dotenv.load_dotenv() +bchain_router = APIRouter(tags=['bchain']) + +p = project.load('blockchain') +chain = int(input("Enter chain \n1 Polygon\n2 Etherium\n")) +sepolia_nft = "https://sepolia.etherscan.io/nft/{}/{}" +polygon_nft = "https://cardona-zkevm.polygonscan.com/nft/{}/{}" + +if chain == 1: + network.connect('polygon') + nft_url = polygon_nft + deploy_file = 'polygon_deployed_address.txt' +else: + network.connect('sepolia') + nft_url = sepolia_nft + deploy_file = 'sepolia_deployed_address.txt' + +SimpleCollectible = p.SimpleCollectible +get_loaded_projects()[0].load_config() +print(get_loaded_projects()[0]) + +def get_account() -> LocalAccount: + return accounts.add(os.environ.get('PRIVATE_KEY')) + + +account = get_account() +print(account) + + +def get_or_deploy_contract(): + # simple_collectible = SimpleCollectible.deploy({"from": account, "gas_price": Web3.to_wei("3", "gwei")}) + if os.path.exists(deploy_file): + with open(deploy_file, 'r') as f: + contract_address = f.read().strip() + print(f"Loading existing contract at {contract_address}") + return Contract.from_abi("SimpleCollectible", contract_address, SimpleCollectible.abi) + else: + print("Deploying new contract") + contract = SimpleCollectible.deploy({"from": account, "gas_price": Web3.to_wei("4", "gwei")}) + with open(deploy_file, 'w') as f: + f.write(contract.address) + return contract + + +simple_collectible = get_or_deploy_contract() +account = get_account() + + +class PostData(BaseModel): + user_address: str + img_url:str + desc:str + + + + + + +@bchain_router.post('/mint_certificate') +async def mint_certificate(post_data: PostData): + # file_hash = file_to_sha256(f'assets/{post_data.file_uid}') + client_address = post_data.user_address + uri = { + "name": f"Deep Fake Certification", + "description": post_data.desc, + "image": post_data.img_url, + # "file_hash": file_hash, + "attributes": [ + "" + ], + "info":"nl" + } + json_uri = json.dumps(uri) + tx = simple_collectible.createCollectible(json_uri, client_address, + {"from": account, "gas_price": Web3.to_wei("4", "gwei")}) + + tx.wait(1) + token_id = simple_collectible.tokenCounter() - 1 + uri = simple_collectible.tokenURI(token_id) + + nft_url_formatted = nft_url.format(simple_collectible.address, token_id) + + return { + "polygon_url": nft_url_formatted, + 'certificate_url': post_data.img_url, + 'token_id': token_id, + 'token_uri': uri + } + + +@bchain_router.get('/cert/{user_address}') +async def get_user_nfts(user_address: str): + try: + user_address = Web3.to_checksum_address(user_address) + total_supply = simple_collectible.tokenCounter() + + def check_and_get_nft(token_id): + if simple_collectible.ownerOf(token_id) == user_address: + uri = simple_collectible.tokenURI(token_id) + polygon_url = nft_url.format(simple_collectible.address, token_id) + return { + "token_id": token_id, + "uri": json.loads(uri), + "polygon_url": polygon_url + } + return None + + with ThreadPoolExecutor(max_workers=10) as executor: + futures = [executor.submit(check_and_get_nft, token_id) for token_id in range(total_supply)] + user_nfts = [nft for nft in (future.result() for future in as_completed(futures)) if nft] + + return {"user_address": user_address, "nfts": user_nfts} + except Exception as e: + return {"error": f"Error getting user NFTs: {str(e)}"} + + +@bchain_router.get('/get_token_uri/{token_id}') +async def get_token_uri(token_id: int): + try: + if not simple_collectible: + return {"error": "Contract not deployed"} + uri = simple_collectible.tokenURI(token_id) + return {"token_id": token_id, "uri": json.loads(uri)} + except Exception as e: + return {"error": f"Error getting tokenURI: {str(e)}"} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/blockchain_app/blockchain/brownie-config.yaml b/hackathon/Fam.ai (Novathon)/blockchain_app/blockchain/brownie-config.yaml new file mode 100644 index 00000000..e0fe0151 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/blockchain_app/blockchain/brownie-config.yaml @@ -0,0 +1,12 @@ +dotenv: .env +wallets: + from_key: ${PRIVATE_KEY} +dependencies: + # - @ + - smartcontractkit/chainlink-brownie-contracts@1.1.0 + - OpenZeppelin/openzeppelin-contracts@3.4.0 +compiler: + solc: + remappings: + - "@chainlink=smartcontractkit/chainlink-brownie-contracts@1.1.0" + - "@openzeppelin=OpenZeppelin/openzeppelin-contracts@3.4.0" \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/blockchain_app/blockchain/deploy.py b/hackathon/Fam.ai (Novathon)/blockchain_app/blockchain/deploy.py new file mode 100644 index 00000000..997be068 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/blockchain_app/blockchain/deploy.py @@ -0,0 +1,199 @@ +# import json +# import uvicorn +# from brownie import FundMe, SimpleCollectible, network, config, accounts +# from fastapi import FastAPI +# from starlette.middleware.cors import CORSMiddleware + + + + +# def get_account(): +# if network.show_active() == "development": +# return accounts[0] +# return accounts.add(config["wallets"]["from_key"]) + + +# def main(): +# address = get_account() +# print(address, type(address)) +# simple_collectable = SimpleCollectible.deploy({"from": address}) +# return FundMe, simple_collectable, address + + +# app = FastAPI() + +# app.add_middleware( +# CORSMiddleware, +# allow_origins=["*"], # Allow access from any origin +# allow_credentials=True, +# allow_methods=["GET", "POST", "PUT", "DELETE"], +# allow_headers=["Authorization", "Content-Type"], +# ) + + +# @app.get("/pay") +# def payment(url: str, name: str, description: str, result: str, confidense: int, to_address: str): +# uri = { +# "name": f"{name}", +# "description": f"{description}", +# "image": f"{url}", +# "attributes": [ +# { +# "Result": f"{result}", +# "value": str(confidense) +# } +# ] +# } +# json_uri = json.dumps(uri) +# # fund_me = FundMe[-1] +# # tx = fund_me.fund({"from": address, "value": 30000000000000}) +# tx = simple_collectable.createCollectible(json_uri, to_address, {"from": address}) +# print( +# f"You can view your nft at {OPENSEA_URL.format(simple_collectable.address, simple_collectable.tokenCounter() - 1)}") +# # tx = fund_me.withdraw({"from": address}) +# print("Payment Transfered") + + +# def main(): +# uvicorn.run(app, port=8000, host="0.0.0.0") +# # def main(): +# # return FundMe, simple_collectable + + + + + + + + + +import os +import json +import dotenv +import datetime +from PIL import Image +from web3 import Web3 +from fastapi import APIRouter +from pydantic import BaseModel +from utils import file_to_sha256 +from brownie.project import get_loaded_projects +from brownie.network.account import LocalAccount +from brownie import project, network, accounts, Contract +from concurrent.futures import ThreadPoolExecutor, as_completed + +dotenv.load_dotenv() +bchain_router = APIRouter(tags=['bchain']) + +p = project.load('blockchain') +network.connect('polygon') + +SimpleCollectible = p.SimpleCollectible +get_loaded_projects()[0].load_config() +print(get_loaded_projects()[0]) + +def get_account() -> LocalAccount: + return accounts.add(os.environ.get('PRIVATE_KEY')) + + +account = get_account() +print(account) + + +def get_or_deploy_contract(): + # simple_collectible = SimpleCollectible.deploy({"from": account, "gas_price": Web3.to_wei("3", "gwei")}) + deploy_file = 'deployed_address.txt' + if os.path.exists(deploy_file): + with open(deploy_file, 'r') as f: + contract_address = f.read().strip() + print(f"Loading existing contract at {contract_address}") + return Contract.from_abi("SimpleCollectible", contract_address, SimpleCollectible.abi) + else: + print("Deploying new contract") + contract = SimpleCollectible.deploy({"from": account, "gas_price": Web3.to_wei("4", "gwei")}) + with open(deploy_file, 'w') as f: + f.write(contract.address) + return contract + + +simple_collectible = get_or_deploy_contract() +account = get_account() + + +class PostData(BaseModel): + user_address: str + file_uid: str + transction_id: str = 'xxx' + + +nft_url = "https://cardona-zkevm.polygonscan.com/nft/{}/{}" + + +@bchain_router.post('/mint_certificate') +async def mint_certificate(post_data: PostData): + file_hash = file_to_sha256(f'assets/{post_data.file_uid}') + client_address = post_data.user_address + image_url = "" + uri = { + "name": f"Deep Fake Certification", + "description": f"Deep Fake Certification", + "image": image_url, + "file_hash": file_hash, + "attributes": [ + "" + ] + } + json_uri = json.dumps(uri) + tx = simple_collectible.createCollectible(json_uri, client_address, + {"from": account, "gas_price": Web3.to_wei("4", "gwei")}) + + tx.wait(1) + token_id = simple_collectible.tokenCounter() - 1 + uri = simple_collectible.tokenURI(token_id) + + nft_url_formatted = nft_url.format(simple_collectible.address, token_id) + + return { + "polygon_url": nft_url_formatted, + 'certificate_url': image_url, + 'token_id': token_id, + 'token_uri': uri + } + + +@bchain_router.get('/cert/{user_address}') +async def get_user_nfts(user_address: str): + try: + user_address = Web3.to_checksum_address(user_address) + total_supply = simple_collectible.tokenCounter() + + def check_and_get_nft(token_id): + if simple_collectible.ownerOf(token_id) == user_address: + uri = simple_collectible.tokenURI(token_id) + polygon_url = nft_url.format(simple_collectible.address, token_id) + return { + "token_id": token_id, + "uri": json.loads(uri), + "polygon_url": polygon_url + } + return None + + with ThreadPoolExecutor(max_workers=10) as executor: + futures = [executor.submit(check_and_get_nft, token_id) for token_id in range(total_supply)] + user_nfts = [nft for nft in (future.result() for future in as_completed(futures)) if nft] + + return {"user_address": user_address, "nfts": user_nfts} + except Exception as e: + return {"error": f"Error getting user NFTs: {str(e)}"} + + +@bchain_router.get('/get_token_uri/{token_id}') +async def get_token_uri(token_id: int): + try: + if not simple_collectible: + return {"error": "Contract not deployed"} + uri = simple_collectible.tokenURI(token_id) + return {"token_id": token_id, "uri": json.loads(uri)} + except Exception as e: + return {"error": f"Error getting tokenURI: {str(e)}"} + + \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/blockchain_app/main.py b/hackathon/Fam.ai (Novathon)/blockchain_app/main.py new file mode 100644 index 00000000..46ced9e6 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/blockchain_app/main.py @@ -0,0 +1,22 @@ +from fastapi import FastAPI +from starlette.staticfiles import StaticFiles +from fastapi.middleware.cors import CORSMiddleware +import uvicorn +from blockchain.api import bchain_router + +app = FastAPI() + +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) +app.include_router(bchain_router, prefix="/api") + +# app.mount("/api/dwd", StaticFiles(directory="assets"), name="download") +# app.mount("/certificate", StaticFiles(directory="certificates"), name="certificates") +# app.mount("/", StaticFiles(directory="dist"), name="index.html") + +uvicorn.run(app, host="localhost", port=8000) \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/blockchain_app/polygon_deployed_address.txt b/hackathon/Fam.ai (Novathon)/blockchain_app/polygon_deployed_address.txt new file mode 100644 index 00000000..3a0dbe48 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/blockchain_app/polygon_deployed_address.txt @@ -0,0 +1 @@ +0x7227b29635a8f8479AF6949e70DDd8fa5fae9618 \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/blockchain_app/sepolia_deployed_address.txt b/hackathon/Fam.ai (Novathon)/blockchain_app/sepolia_deployed_address.txt new file mode 100644 index 00000000..3a0dbe48 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/blockchain_app/sepolia_deployed_address.txt @@ -0,0 +1 @@ +0x7227b29635a8f8479AF6949e70DDd8fa5fae9618 \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/blockchain_app/utils.py b/hackathon/Fam.ai (Novathon)/blockchain_app/utils.py new file mode 100644 index 00000000..c10d2eab --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/blockchain_app/utils.py @@ -0,0 +1,101 @@ +import re +import cv2 +import math +import base64 +import random +import string + +import requests +import yt_dlp +import hashlib + +image_extensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'svg', 'webp'] +video_extensions = ['mp4', 'mov', 'avi', 'mkv', 'flv', 'wmv', 'm4v'] + + +def invoke_uid(length=10, alphanumeric=True): + char_pool = string.ascii_lowercase + string.ascii_uppercase if alphanumeric else string.digits + uid = "".join(random.choices(char_pool, k=length)) + return uid + + +def get_file(file_path): + with open(file_path, "rb") as file: + file = file.read() + return file + + +def file_to_base64(file_path): + file_content = get_file(file_path) + base64_encoded = base64.b64encode(file_content) + base64_string = base64_encoded.decode('utf-8') + return base64_string + + +def sha256(string): + return hashlib.sha256(string.encode()).hexdigest() + + +def file_to_sha256(fid): + return sha256(file_to_base64(fid)) + + +def get_four_screenshots(video_path): + cap = cv2.VideoCapture(video_path) + total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) + frame_indices = [math.floor(i * total_frames / 9) for i in range(1, 9)] + screenshots = [] + for idx in frame_indices: + cap.set(cv2.CAP_PROP_POS_FRAMES, idx) + ret, frame = cap.read() + if ret: + screenshots.append(frame) + cap.release() + return screenshots + + +def is_youtube_url(url): + regex = r"you|yt" + return re.search(regex, url) + + +def is_twitter_url(url): + return "twitter.com" in url or "x.com" in url + + +def is_instagram_url(url): + base_urls = ["https://www.instagram.com", "http://www.instagram.com", "https://instagram.com"] + return any(url.startswith(base) for base in base_urls) + + +def yt_downloader(url, file_uid): + ydl_opts = { + 'format': 'bestvideo[height<=360][ext=mp4]+bestaudio[ext=m4a]/best[height<=360][ext=mp4]/best[height<=360]', + 'outtmpl': f'assets/{file_uid}', + } + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + ydl.download([url]) + + +def insta_downloader(url, fid): + res = requests.post('https://v3.igdownloader.app/api/ajaxSearch', data={ + 'q': url, + 't': 'media', + 'lang': 'en', + }) + res = res.json() + print(res) + + data = res.get('data') + + url = re.findall(r'href=[\'"]?([^\'" >]+)', data) + url = url[0] + + response = requests.get(url) + file_Path = f'assets/{fid}' + + if response.status_code == 200: + with open(file_Path, 'wb') as file: + file.write(response.content) + print('File downloaded successfully') + return fid \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/frontend/README.md b/hackathon/Fam.ai (Novathon)/frontend/README.md new file mode 100644 index 00000000..f768e33f --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/README.md @@ -0,0 +1,8 @@ +# React + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh diff --git a/hackathon/Fam.ai (Novathon)/frontend/eslint.config.js b/hackathon/Fam.ai (Novathon)/frontend/eslint.config.js new file mode 100644 index 00000000..238d2e4e --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/eslint.config.js @@ -0,0 +1,38 @@ +import js from '@eslint/js' +import globals from 'globals' +import react from 'eslint-plugin-react' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' + +export default [ + { ignores: ['dist'] }, + { + files: ['**/*.{js,jsx}'], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + parserOptions: { + ecmaVersion: 'latest', + ecmaFeatures: { jsx: true }, + sourceType: 'module', + }, + }, + settings: { react: { version: '18.3' } }, + plugins: { + react, + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + rules: { + ...js.configs.recommended.rules, + ...react.configs.recommended.rules, + ...react.configs['jsx-runtime'].rules, + ...reactHooks.configs.recommended.rules, + 'react/jsx-no-target-blank': 'off', + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, + }, +] diff --git a/hackathon/Fam.ai (Novathon)/frontend/index.html b/hackathon/Fam.ai (Novathon)/frontend/index.html new file mode 100644 index 00000000..2629e451 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/index.html @@ -0,0 +1,13 @@ + + + + + + + Fam.ai + + +
+ + + diff --git a/hackathon/Fam.ai (Novathon)/frontend/package-lock.json b/hackathon/Fam.ai (Novathon)/frontend/package-lock.json new file mode 100644 index 00000000..ce9e3d02 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/package-lock.json @@ -0,0 +1,4774 @@ +{ + "name": "frontend", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "frontend", + "version": "0.0.0", + "dependencies": { + "@gsap/react": "^2.1.1", + "@metamask/detect-provider": "^2.0.0", + "gsap": "^3.12.5", + "motion": "^11.12.0", + "prop-types": "^15.8.1", + "react": "^18.3.1", + "react-circular-progressbar": "^2.1.0", + "react-dom": "^18.3.1", + "react-hot-toast": "^2.4.1", + "react-loader-spinner": "^6.1.6", + "react-router-dom": "^7.0.1", + "sass": "^1.81.0" + }, + "devDependencies": { + "@eslint/js": "^9.15.0", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.15.0", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.14", + "globals": "^15.12.0", + "vite": "^6.0.1" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.26.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", + "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", + "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", + "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", + "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", + "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", + "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", + "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", + "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", + "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", + "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", + "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", + "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", + "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", + "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", + "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", + "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", + "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", + "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", + "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", + "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", + "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", + "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", + "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", + "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", + "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.0.tgz", + "integrity": "sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==", + "dev": true, + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.0.tgz", + "integrity": "sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.15.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.15.0.tgz", + "integrity": "sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.3.tgz", + "integrity": "sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==", + "dev": true, + "dependencies": { + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@gsap/react": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@gsap/react/-/react-2.1.1.tgz", + "integrity": "sha512-apGPRrmpqxvl1T6Io1KgT8tFU+IuACI6z4zmT7t8+PASserJeLVRFJdSNUFA2Xb/eVkZI1noE8LIrY/w/oJECw==", + "dependencies": { + "gsap": "^3.12.5", + "react": ">=16" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@metamask/detect-provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@metamask/detect-provider/-/detect-provider-2.0.0.tgz", + "integrity": "sha512-sFpN+TX13E9fdBDh9lvQeZdJn4qYoRb/6QF2oZZK/Pn559IhCFacPMU1rMuqyXoFQF3JSJfii2l98B87QDPeCQ==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz", + "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.0", + "@parcel/watcher-darwin-arm64": "2.5.0", + "@parcel/watcher-darwin-x64": "2.5.0", + "@parcel/watcher-freebsd-x64": "2.5.0", + "@parcel/watcher-linux-arm-glibc": "2.5.0", + "@parcel/watcher-linux-arm-musl": "2.5.0", + "@parcel/watcher-linux-arm64-glibc": "2.5.0", + "@parcel/watcher-linux-arm64-musl": "2.5.0", + "@parcel/watcher-linux-x64-glibc": "2.5.0", + "@parcel/watcher-linux-x64-musl": "2.5.0", + "@parcel/watcher-win32-arm64": "2.5.0", + "@parcel/watcher-win32-ia32": "2.5.0", + "@parcel/watcher-win32-x64": "2.5.0" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz", + "integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz", + "integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz", + "integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz", + "integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz", + "integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz", + "integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz", + "integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz", + "integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz", + "integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz", + "integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz", + "integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz", + "integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz", + "integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.27.4.tgz", + "integrity": "sha512-2Y3JT6f5MrQkICUyRVCw4oa0sutfAsgaSsb0Lmmy1Wi2y7X5vT9Euqw4gOsCyy0YfKURBg35nhUKZS4mDcfULw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.27.4.tgz", + "integrity": "sha512-wzKRQXISyi9UdCVRqEd0H4cMpzvHYt1f/C3CoIjES6cG++RHKhrBj2+29nPF0IB5kpy9MS71vs07fvrNGAl/iA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.27.4.tgz", + "integrity": "sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.27.4.tgz", + "integrity": "sha512-o9bH2dbdgBDJaXWJCDTNDYa171ACUdzpxSZt+u/AAeQ20Nk5x+IhA+zsGmrQtpkLiumRJEYef68gcpn2ooXhSQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.27.4.tgz", + "integrity": "sha512-NBI2/i2hT9Q+HySSHTBh52da7isru4aAAo6qC3I7QFVsuhxi2gM8t/EI9EVcILiHLj1vfi+VGGPaLOUENn7pmw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.27.4.tgz", + "integrity": "sha512-wYcC5ycW2zvqtDYrE7deary2P2UFmSh85PUpAx+dwTCO9uw3sgzD6Gv9n5X4vLaQKsrfTSZZ7Z7uynQozPVvWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.27.4.tgz", + "integrity": "sha512-9OwUnK/xKw6DyRlgx8UizeqRFOfi9mf5TYCw1uolDaJSbUmBxP85DE6T4ouCMoN6pXw8ZoTeZCSEfSaYo+/s1w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.27.4.tgz", + "integrity": "sha512-Vgdo4fpuphS9V24WOV+KwkCVJ72u7idTgQaBoLRD0UxBAWTF9GWurJO9YD9yh00BzbkhpeXtm6na+MvJU7Z73A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.27.4.tgz", + "integrity": "sha512-pleyNgyd1kkBkw2kOqlBx+0atfIIkkExOTiifoODo6qKDSpnc6WzUY5RhHdmTdIJXBdSnh6JknnYTtmQyobrVg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.27.4.tgz", + "integrity": "sha512-caluiUXvUuVyCHr5DxL8ohaaFFzPGmgmMvwmqAITMpV/Q+tPoaHZ/PWa3t8B2WyoRcIIuu1hkaW5KkeTDNSnMA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.27.4.tgz", + "integrity": "sha512-FScrpHrO60hARyHh7s1zHE97u0KlT/RECzCKAdmI+LEoC1eDh/RDji9JgFqyO+wPDb86Oa/sXkily1+oi4FzJQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.27.4.tgz", + "integrity": "sha512-qyyprhyGb7+RBfMPeww9FlHwKkCXdKHeGgSqmIXw9VSUtvyFZ6WZRtnxgbuz76FK7LyoN8t/eINRbPUcvXB5fw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.27.4.tgz", + "integrity": "sha512-PFz+y2kb6tbh7m3A7nA9++eInGcDVZUACulf/KzDtovvdTizHpZaJty7Gp0lFwSQcrnebHOqxF1MaKZd7psVRg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.27.4.tgz", + "integrity": "sha512-Ni8mMtfo+o/G7DVtweXXV/Ol2TFf63KYjTtoZ5f078AUgJTmaIJnj4JFU7TK/9SVWTaSJGxPi5zMDgK4w+Ez7Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.27.4.tgz", + "integrity": "sha512-5AeeAF1PB9TUzD+3cROzFTnAJAcVUGLuR8ng0E0WXGkYhp6RD6L+6szYVX+64Rs0r72019KHZS1ka1q+zU/wUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.27.4.tgz", + "integrity": "sha512-yOpVsA4K5qVwu2CaS3hHxluWIK5HQTjNV4tWjQXluMiiiu4pJj4BN98CvxohNCpcjMeTXk/ZMJBRbgRg8HBB6A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.27.4.tgz", + "integrity": "sha512-KtwEJOaHAVJlxV92rNYiG9JQwQAdhBlrjNRp7P9L8Cb4Rer3in+0A+IPhJC9y68WAi9H0sX4AiG2NTsVlmqJeQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.27.4.tgz", + "integrity": "sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.13", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", + "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.3.12", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz", + "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/stylis": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz", + "integrity": "sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==" + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", + "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", + "dev": true, + "dependencies": { + "@babel/core": "^7.26.0", + "@babel/plugin-transform-react-jsx-self": "^7.25.9", + "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "optional": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001684", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz", + "integrity": "sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "engines": { + "node": ">=18" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.66", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.66.tgz", + "integrity": "sha512-pI2QF6+i+zjPbqRzJwkMvtvkdI7MjVbSh2g8dlMguDJIXEPw+kwasS1Jl+YGPEBfGVxsVgGUratAKymPdPo2vQ==", + "dev": true + }, + "node_modules/es-abstract": { + "version": "1.23.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.5.tgz", + "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", + "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.3", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", + "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.0", + "@esbuild/android-arm": "0.24.0", + "@esbuild/android-arm64": "0.24.0", + "@esbuild/android-x64": "0.24.0", + "@esbuild/darwin-arm64": "0.24.0", + "@esbuild/darwin-x64": "0.24.0", + "@esbuild/freebsd-arm64": "0.24.0", + "@esbuild/freebsd-x64": "0.24.0", + "@esbuild/linux-arm": "0.24.0", + "@esbuild/linux-arm64": "0.24.0", + "@esbuild/linux-ia32": "0.24.0", + "@esbuild/linux-loong64": "0.24.0", + "@esbuild/linux-mips64el": "0.24.0", + "@esbuild/linux-ppc64": "0.24.0", + "@esbuild/linux-riscv64": "0.24.0", + "@esbuild/linux-s390x": "0.24.0", + "@esbuild/linux-x64": "0.24.0", + "@esbuild/netbsd-x64": "0.24.0", + "@esbuild/openbsd-arm64": "0.24.0", + "@esbuild/openbsd-x64": "0.24.0", + "@esbuild/sunos-x64": "0.24.0", + "@esbuild/win32-arm64": "0.24.0", + "@esbuild/win32-ia32": "0.24.0", + "@esbuild/win32-x64": "0.24.0" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.15.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.15.0.tgz", + "integrity": "sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.9.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.15.0", + "@eslint/plugin-kit": "^0.2.3", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.5", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", + "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.1.0", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz", + "integrity": "sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.14.tgz", + "integrity": "sha512-aXvzCTK7ZBv1e7fahFuR3Z/fyQQSIQ711yPgYRj+Oj64tyTgO4iQIDmYXDBqvSWQ/FA4OSCsXOStlF+noU0/NA==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/eslint-scope": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "optional": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/framer-motion": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-11.12.0.tgz", + "integrity": "sha512-gZaZeqFM6pX9kMVti60hYAa75jGpSsGYWAHbBfIkuHN7DkVHVkxSxeNYnrGmHuM0zPkWTzQx10ZT+fDjn7N4SA==", + "dependencies": { + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "15.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.12.0.tgz", + "integrity": "sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/goober": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.16.tgz", + "integrity": "sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==", + "peerDependencies": { + "csstype": "^3.0.10" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gsap": { + "version": "3.12.5", + "resolved": "https://registry.npmjs.org/gsap/-/gsap-3.12.5.tgz", + "integrity": "sha512-srBfnk4n+Oe/ZnMIOXt3gT605BX9x5+rh/prT2F1SsNJsU1XuMiP0E2aptW481OnonOGACZWBqseH5Z7csHxhQ==" + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz", + "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz", + "integrity": "sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "devOptional": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "optional": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/iterator.prototype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", + "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "optional": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/motion": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/motion/-/motion-11.12.0.tgz", + "integrity": "sha512-BFH9vwCs4dI9t1W1/1HonahOCnTxcKfzBR8D310wHFdx7oIwlP/51OqLNGO74lxOdCpTLf5BLe233k6yRqJo9Q==", + "dependencies": { + "framer-motion": "^11.12.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "optional": true + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "optional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-circular-progressbar": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/react-circular-progressbar/-/react-circular-progressbar-2.1.0.tgz", + "integrity": "sha512-xp4THTrod4aLpGy68FX/k1Q3nzrfHUjUe5v6FsdwXBl3YVMwgeXYQKDrku7n/D6qsJA9CuunarAboC2xCiKs1g==", + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-hot-toast": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.1.tgz", + "integrity": "sha512-j8z+cQbWIM5LY37pR6uZR6D4LfseplqnuAO4co4u8917hBUvXlEqyP1ZzqVLcqoyUesZZv/ImreoCeHVDpE5pQ==", + "dependencies": { + "goober": "^2.1.10" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-loader-spinner": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/react-loader-spinner/-/react-loader-spinner-6.1.6.tgz", + "integrity": "sha512-x5h1Jcit7Qn03MuKlrWcMG9o12cp9SNDVHVJTNRi9TgtGPKcjKiXkou4NRfLAtXaFB3+Z8yZsVzONmPzhv2ErA==", + "dependencies": { + "react-is": "^18.2.0", + "styled-components": "^6.1.2" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-loader-spinner/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.0.1.tgz", + "integrity": "sha512-WVAhv9oWCNsja5AkK6KLpXJDSJCQizOIyOd4vvB/+eHGbYx5vkhcmcmwWjQ9yqkRClogi+xjEg9fNEOd5EX/tw==", + "dependencies": { + "@types/cookie": "^0.6.0", + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0", + "turbo-stream": "2.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.0.1.tgz", + "integrity": "sha512-duBzwAAiIabhFPZfDjcYpJ+f08TMbPMETgq254GWne2NW1ZwRHhZLj7tpSp8KGb7JvZzlLcjGUnqLxpZQVEPng==", + "dependencies": { + "react-router": "7.0.1" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/readdirp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.7.tgz", + "integrity": "sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "which-builtin-type": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup": { + "version": "4.27.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.27.4.tgz", + "integrity": "sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.27.4", + "@rollup/rollup-android-arm64": "4.27.4", + "@rollup/rollup-darwin-arm64": "4.27.4", + "@rollup/rollup-darwin-x64": "4.27.4", + "@rollup/rollup-freebsd-arm64": "4.27.4", + "@rollup/rollup-freebsd-x64": "4.27.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.27.4", + "@rollup/rollup-linux-arm-musleabihf": "4.27.4", + "@rollup/rollup-linux-arm64-gnu": "4.27.4", + "@rollup/rollup-linux-arm64-musl": "4.27.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.27.4", + "@rollup/rollup-linux-riscv64-gnu": "4.27.4", + "@rollup/rollup-linux-s390x-gnu": "4.27.4", + "@rollup/rollup-linux-x64-gnu": "4.27.4", + "@rollup/rollup-linux-x64-musl": "4.27.4", + "@rollup/rollup-win32-arm64-msvc": "4.27.4", + "@rollup/rollup-win32-ia32-msvc": "4.27.4", + "@rollup/rollup-win32-x64-msvc": "4.27.4", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sass": { + "version": "1.81.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.81.0.tgz", + "integrity": "sha512-Q4fOxRfhmv3sqCLoGfvrC9pRV8btc0UtqL9mN6Yrv6Qi9ScL55CVH1vlPP863ISLEEMNLLuu9P+enCeGHlnzhA==", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-components": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.13.tgz", + "integrity": "sha512-M0+N2xSnAtwcVAQeFEsGWFFxXDftHUD7XrKla06QbpUMmbmtFBMMTcKWvFXtWxuD5qQkB8iU5gk6QASlx2ZRMw==", + "dependencies": { + "@emotion/is-prop-valid": "1.2.2", + "@emotion/unitless": "0.8.1", + "@types/stylis": "4.2.5", + "css-to-react-native": "3.2.0", + "csstype": "3.1.3", + "postcss": "8.4.38", + "shallowequal": "1.1.0", + "stylis": "4.3.2", + "tslib": "2.6.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/styled-components" + }, + "peerDependencies": { + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0" + } + }, + "node_modules/styled-components/node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/styled-components/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/stylis": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz", + "integrity": "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "optional": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "node_modules/turbo-stream": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", + "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz", + "integrity": "sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.1.tgz", + "integrity": "sha512-Ldn6gorLGr4mCdFnmeAOLweJxZ34HjKnDm4HGo6P66IEqTxQb36VEdFJQENKxWjupNfoIjvRUnswjn1hpYEpjQ==", + "dev": true, + "dependencies": { + "esbuild": "^0.24.0", + "postcss": "^8.4.49", + "rollup": "^4.23.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.0.tgz", + "integrity": "sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.16.tgz", + "integrity": "sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/hackathon/Fam.ai (Novathon)/frontend/package.json b/hackathon/Fam.ai (Novathon)/frontend/package.json new file mode 100644 index 00000000..c60a75d6 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/package.json @@ -0,0 +1,38 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "@gsap/react": "^2.1.1", + "@metamask/detect-provider": "^2.0.0", + "gsap": "^3.12.5", + "motion": "^11.12.0", + "prop-types": "^15.8.1", + "react": "^18.3.1", + "react-circular-progressbar": "^2.1.0", + "react-dom": "^18.3.1", + "react-hot-toast": "^2.4.1", + "react-loader-spinner": "^6.1.6", + "react-router-dom": "^7.0.1", + "sass": "^1.81.0" + }, + "devDependencies": { + "@eslint/js": "^9.15.0", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.15.0", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.14", + "globals": "^15.12.0", + "vite": "^6.0.1" + } +} diff --git a/hackathon/Fam.ai (Novathon)/frontend/public/vite.svg b/hackathon/Fam.ai (Novathon)/frontend/public/vite.svg new file mode 100644 index 00000000..e7b8dfb1 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/App.css b/hackathon/Fam.ai (Novathon)/frontend/src/App.css new file mode 100644 index 00000000..6c913dfd --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/App.css @@ -0,0 +1,188 @@ +/*google fonts*/ +@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap"); + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: var(--poppins); + -webkit-tap-highlight-color: transparent; +} + +a { + text-decoration: none; +} +/* for home page */ +.wrapper { + width: 100%; + display: flex; + flex-direction: column; + + .img-container { + width: 100%; + display: flex; + align-items: center; + justify-content: center; + } + .dashboard-img { + width: 90vw; + height: 60vw; + } + .features-sec { + padding: 60px 160px; + display: flex; + flex-direction: column; + gap: 80px; + } +} + +/*for page not found page*/ +.page-not-found-page { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + z-index: 999; + background: var(--ui-background); + + .main-head { + font-size: 40px; + } + .sub-txt { + font-size: 14px; + padding: 10px; + margin-bottom: 40px; + } +} + +/**/ +.error-msg { + color: var(--eventzo-feedback-error); +} + +/*for outlet routing in events*/ +.outlet-page{ + width: 100%; + height: 100%; + display: flex; + justify-content: center; +} +.outlet-wrapper { + max-width: 840px; + width: 100%; + height: 100%; + padding: 28px; + display: flex; + flex-direction: column; + gap: 10px; +} +.outlet { + padding-top: 16px; +} + +@media (max-width: 480px) { + .outlet-wrapper { + padding: 16px; + } +} +:root { + --poppins: "Poppins", sans-serif; + --inter: "Inter", sans-serif; + + /* Font Weights */ + --fw-thin: 100; + --fw-extra-light: 200; + --fw-light: 300; + --fw-regular: 400; + --fw-medium: 500; + --fw-semi-bold: 600; + --fw-bold: 700; + --fw-extra-bold: 800; + --fw-black: 900; + + /* Brand Colors */ + --ui-brand-color: #121212; + --ui-blue: rgba(87, 235, 255, 0.38); + + /* UI Colors */ + --ui-background: #ffffff; + --ui-dark-bg: #121212; + --ui-gray-bg: #f1f1f1; + --home-card: #f4f4f4; + + --input-border: #cccccc; + --input-title: #0b0b0b; + /* Text Colors */ + --ui-text-color: #323232; + --ui-secondary-txt: #6c6c6c; + --ui-sub-text: #656565; + --ui-text-inverse: #ffffff; + --tab-switcher-border: rgba(0, 0, 0, 0.08); + + /* Feedback Colors */ + --ui-feedback-error: #ff4d4d; + --ui-feedback-success: rgba(0, 197, 126, 1); + + /*colors for create event page*/ + --light-placeholder: #d0d0d0da; + --icon-color-static: #656565; + --caret-color: #77777791; + --tab-color: #f5f5f5; + --selected-tab-color: #222834; + --tab-txt-color: #787878; + --tab-icon-color: #656565; + --tab-border: #e3e3e5; + --light-btn: #f5f5f5; + --dark-btn: #121212; + + /* space or gap variables */ + + --space-0: 4px; + --space-1: 8px; + --space-2: 16px; + --space-3: 24px; + --space-4: 32px; + --space-5: 40px; + --space-6: 48px; + --space-7: 56px; + --space-8: 64px; + --space-10: 80px; + + /* Text sizes */ + --text-xs: clamp(0.625rem, 0.6rem + 0.125vw, 0.75rem); /* ~10px to 12px */ + --text-sm: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem); /* ~12px to 14px */ + --text-base: clamp(0.875rem, 0.8rem + 0.375vw, 1rem); /* ~14px to 16px */ + --text-md: clamp(1rem, 0.9rem + 0.5vw, 1.125rem); /* ~16px to 18px */ + --text-lg: clamp(1.125rem, 1rem + 0.625vw, 1.25rem); /* ~18px to 20px */ + + /* Heading sizes */ + --heading-sm: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem); /* ~20px to 24px */ + --heading-md: clamp(1.5rem, 1.3rem + 1vw, 1.875rem); /* ~24px to 30px */ + --heading-lg: clamp(1.875rem, 1.6rem + 1.375vw, 2.25rem); /* ~30px to 36px */ + --heading-xl: clamp(2.25rem, 1.9rem + 1.75vw, 3rem); /* ~36px to 48px */ + + /* Display sizes (for very large text) */ + --display-sm: clamp(2.5rem, 2rem + 2.5vw, 3.5rem); /* ~40px to 56px */ + --display-md: clamp(3rem, 2.5rem + 2.5vw, 4rem); /* ~48px to 64px */ + --display-lg: clamp(3.5rem, 3rem + 2.5vw, 4.5rem); /* ~56px to 72px */ + + /* Specialized sizes */ + --text-tiny: clamp(0.5rem, 0.475rem + 0.125vw, 0.625rem); /* ~8px to 10px */ + --text-huge: clamp(4rem, 3.5rem + 2.5vw, 5rem); /* ~64px to 80px */ + + /* Breakpoints */ + --bp-small: 320px; /* Small mobile devices */ + --bp-mobile: 480px; /* Larger mobile devices */ + --bp-tablet: 768px; /* Tablets */ + --bp-laptop: 1024px; /* Laptops/smaller desktops */ + --bp-desktop: 1440px; /* Larger desktops */ +} + diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/App.jsx b/hackathon/Fam.ai (Novathon)/frontend/src/App.jsx new file mode 100644 index 00000000..a31132bc --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/App.jsx @@ -0,0 +1,11 @@ +import './App.css' +import Hero from './components/Hero/Hero' +function App() { + return ( + <> + + + ) +} + +export default App diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/DotWhite.png b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/DotWhite.png new file mode 100644 index 00000000..f4feb3a2 Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/DotWhite.png differ diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/card.png b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/card.png new file mode 100644 index 00000000..da04f710 Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/card.png differ diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/dotbgpng.png b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/dotbgpng.png new file mode 100644 index 00000000..e918accb Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/dotbgpng.png differ diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/eth.png b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/eth.png new file mode 100644 index 00000000..3b4575d9 Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/eth.png differ diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/ethlogo.svg b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/ethlogo.svg new file mode 100644 index 00000000..c39b68b5 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/ethlogo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/feature.png b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/feature.png new file mode 100644 index 00000000..51ab9469 Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/feature.png differ diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/female.svg b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/female.svg new file mode 100644 index 00000000..7db839e9 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/female.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/male.svg b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/male.svg new file mode 100644 index 00000000..219dd26a --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/male.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/pagenotfound.png b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/pagenotfound.png new file mode 100644 index 00000000..b2105167 Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/pagenotfound.png differ diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/polly.svg b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/polly.svg new file mode 100644 index 00000000..ade8d2c3 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/polly.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/pollylo.svg b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/pollylo.svg new file mode 100644 index 00000000..f78b720b --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/pollylo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/qr.png b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/qr.png new file mode 100644 index 00000000..b10f2928 Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/qr.png differ diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab01.png b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab01.png new file mode 100644 index 00000000..0dd248cb Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab01.png differ diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab02.png b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab02.png new file mode 100644 index 00000000..8203a562 Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab02.png differ diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab03.png b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab03.png new file mode 100644 index 00000000..dddfbe5f Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab03.png differ diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab04.png b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab04.png new file mode 100644 index 00000000..143d6c6d Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab04.png differ diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab05.png b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab05.png new file mode 100644 index 00000000..5182330b Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab05.png differ diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab06.png b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab06.png new file mode 100644 index 00000000..cc54a7e5 Binary files /dev/null and b/hackathon/Fam.ai (Novathon)/frontend/src/assets/images/tab06.png differ diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/assets/react.svg b/hackathon/Fam.ai (Novathon)/frontend/src/assets/react.svg new file mode 100644 index 00000000..6c87de9b --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/components/ChatUI/Chatui.jsx b/hackathon/Fam.ai (Novathon)/frontend/src/components/ChatUI/Chatui.jsx new file mode 100644 index 00000000..0d83f75a --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/components/ChatUI/Chatui.jsx @@ -0,0 +1,153 @@ +import React, { useState, useRef, useEffect } from "react"; +import "./Chatui.scss"; +import { motion } from "motion/react"; +import { baseUrl } from "../../constants"; +import { useStore } from "../../context/StoreContext"; + +import { ThreeDots } from "react-loader-spinner"; + +const ChatComponent = ({ chatPopup, setChatPopup, uid }) => { + const { wallet, setWallet } = useStore(); + const [messages, setMessages] = useState([ + { id: 1, text: "Welcome! How can I help you today?", sender: "bot" }, + ]); + const [inputMessage, setInputMessage] = useState(""); + const messagesEndRef = useRef(null); + + const [chatLoad, setChatLoad] = useState(false); + + // Function to handle sending the message + const handleSendMessage = async () => { + if (inputMessage.trim() === "") return; + + // Add user message to chat + const newUserMessage = { + id: messages.length + 1, + text: inputMessage, + sender: "user", + }; + setMessages((prevMessages) => [...prevMessages, newUserMessage]); + setChatLoad(true); + try { + // Call the external API with the user's input + const response = await fetch(`${baseUrl}/chat/chat`, { + method: "POST", + headers: { + "Content-Type": "application/json", + Address: wallet, + }, + body: JSON.stringify({ prfid: uid, prompt: inputMessage, history: [] }), + }); + + // Handle the API response + if (!response.ok) { + throw new Error("Failed to fetch chat response"); + } + + const data = await response.json(); + + // Add bot response to chat + const newBotMessage = { + id: messages.length + 2, + text: data.res, + sender: "bot", + }; + setMessages((prevMessages) => [...prevMessages, newBotMessage]); + setChatLoad(false); + } catch (error) { + setChatLoad(false); + console.error("Error:", error); + const errorMessage = { + id: messages.length + 2, + text: "Sorry, there was an error processing your request.", + sender: "bot", + }; + setMessages((prevMessages) => [...prevMessages, errorMessage]); + } + + setInputMessage(""); + }; + + // Scroll to the latest message + const scrollToBottom = () => { + messagesEndRef.current?.scrollIntoView({ behavior: "smooth" }); + }; + + useEffect(() => { + scrollToBottom(); + }, [messages]); + + return ( +
+
setChatPopup(!chatPopup)}> + + + + + +
+ +
+ {messages.map((message) => ( +
+
{message.text}
+
+ ))} +
+ {chatLoad && ( +
+ +
+ )} +
+ +
+ setInputMessage(e.target.value)} + onKeyPress={(e) => e.key === "Enter" && handleSendMessage()} + placeholder="Type a message..." + className="message-input" + /> + +
+ +
+ ); +}; + +export default ChatComponent; diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/components/ChatUI/Chatui.scss b/hackathon/Fam.ai (Novathon)/frontend/src/components/ChatUI/Chatui.scss new file mode 100644 index 00000000..c9df052a --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/components/ChatUI/Chatui.scss @@ -0,0 +1,101 @@ +.chat-page { + width: 100%; + height: 110vh; + overflow: hidden; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + background-color: transparent; + position: fixed; + top: 0px; + background-color: #9898984e; + z-index: 1000; + gap: 20px; + margin-top: -60px; +} +.chat-container { + display: flex; + flex-direction: column; + height: 500px; + width: 100%; + max-width: 500px; + margin: 0 auto; + background-color: var(--ui-background); + box-shadow: -1px -2px 37px 0px rgba(207, 207, 207, 1); + border-radius: 20px; +} + +.messages-container { + flex-grow: 1; + overflow-y: auto; + padding: 15px; + display: flex; + flex-direction: column; +} + +.message { + display: flex; + margin-bottom: 10px; +} + +.message.user { + justify-content: flex-end; + font-size: 14px; +} + +.message.bot { + justify-content: flex-start; +} + +.message-content { + max-width: 70%; + padding: 10px; + border-radius: 8px; +} + +.message.user .message-content { + background-color: var(--ui-dark-bg); + color: white; + border-radius: 12px; + padding: 5px 10px; +} + +.message.bot .message-content { + background-color: #f1f0f0; + color: black; + font-size: 14px; +} + +.input-container { + display: flex; + padding: 15px; + border-top: 1px solid #EBEBEB; +} + +.message-input { + flex-grow: 1; + margin-right: 10px; + padding: 10px; + border: 1px solid #e0e0e0; + border-radius: 12px; + outline: none; + height: 42px; + font-size: 14px; +} + +.send-button { + display: flex; + align-items: center; + justify-content: center; + border: none; + padding: 12px 24px; + border-radius: 16px; + font-weight: 500; + font-size: 14px; + cursor: pointer; + background: var(--ui-dark-bg); + color: #fff; + text-decoration: none; + gap: 10px; +} diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/components/Hero/Hero.jsx b/hackathon/Fam.ai (Novathon)/frontend/src/components/Hero/Hero.jsx new file mode 100644 index 00000000..206c9e98 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/components/Hero/Hero.jsx @@ -0,0 +1,117 @@ +import "./Hero.scss"; +//images +import TAB01 from "../../assets/images/tab02.png"; +import TAB02 from "../../assets/images/tab01.png"; +import TAB03 from "../../assets/images/tab03.png"; +import TAB04 from "../../assets/images/tab04.png"; +//gsap +import gsap from "gsap"; +import { useGSAP } from "@gsap/react"; +import { useStore } from "../../context/StoreContext"; +import { useNavigate } from "react-router-dom"; +import { useState, useEffect } from "react"; +import { createAcc } from "../../utils/utils"; + +const Hero = () => { + const { wallet, setWallet } = useStore(); + const navigate = useNavigate(); + + const [walletAddress, setWalletAddress] = useState(null); + const [provider, setProvider] = useState(null); + + useEffect(() => { + if (window.ethereum) { + setProvider(window.ethereum); + } + }, []); + + const requestAccount = async () => { + if (provider) { + try { + const accounts = await provider.request({ + method: "eth_requestAccounts", + }); + setWalletAddress(accounts[0]); + setWallet(accounts[0]); + console.log(accounts[0]); + localStorage.setItem("wallet", accounts[0]); + } catch (err) { + console.error("Error:", err); + } + } else { + console.log("MetaMask not detected"); + } + }; + //gsap + useGSAP(() => { + const tl = gsap.timeline(); + tl.fromTo( + ".main-txt h1 span", + { + scale: 0, + }, + { + scale: 1, + ease: "back.inOut", + duration: 0.5, + } + ); + tl.fromTo( + ".tab", + { + scale: 0, + rotate: 20, + }, + { + scale: 1, + rotate: 0, + stagger: 0.1, + ease: "back.inOut", + } + ); + }); + + const createProfile = async() => { + if (wallet) { + const result = await createAcc(wallet); + if (result) { + navigate("/fam"); + } + } else { + requestAccount(); + } + }; + return ( +
+
+
+

Make your

+
+
+
+ tab +
+

+ Family's Health +

+
+ tab +
+
+
+
+ tab +
+

Perfect

+
+ tab +
+
+
+ +
+ ); +}; +export default Hero; diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/components/Hero/Hero.scss b/hackathon/Fam.ai (Novathon)/frontend/src/components/Hero/Hero.scss new file mode 100644 index 00000000..5b9059f2 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/components/Hero/Hero.scss @@ -0,0 +1,195 @@ +.hero { + width: 100%; + padding-top: 140px; + padding-bottom: 160px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 40px; + font-family: var(--poppins); + position: relative; + + .main-txt { + margin-top: -40px; + } + .main-txt h1 { + text-align: center; + font-size: 60px; + font-weight: 600; + } + .main-txt h1 span { + background-color: var(--ui-blue); + padding: 8px 18px; + border-radius: 20px; + display: inline-block; + rotate: -4deg; + } + .create-btn { + padding: 20px 40px; + border: none; + background-color: var(--ui-dark-bg); + color: var(--ui-text-inverse); + font-size: 16px; + border-radius: 100px; + cursor: pointer; + } + //tabs + .head-container { + position: relative; + } + .tab01 { + position: absolute; + top: -80px; + left: -120px; + z-index: 10; + } + .tab02 { + position: absolute; + top: -84px; + right: -70px; + z-index: 10; + } + .tab03 { + position: absolute; + top: 10px; + left: 0px; + z-index: 10; + } + .tab04 { + position: absolute; + top: 0px; + right: 0px; + z-index: 10; + } + .tab img { + width: 140px; + height: 140px; + } + } + + @media (max-width: 950px) { + .hero { + justify-content: flex-start; + padding-top: 100px; + .main-txt h1 { + text-align: center; + font-size: 50px; + font-weight: 600; + } + + //tabs + .head-container { + position: relative; + } + .tab01 { + position: absolute; + top: -60px; + left: -60px; + z-index: 10; + } + .tab02 { + position: absolute; + top: -84px; + right: -70px; + z-index: 10; + } + .tab03 { + position: absolute; + top: 20px; + left: 0px; + z-index: 10; + } + .tab04 { + position: absolute; + top: 0px; + right: 0px; + z-index: 10; + } + .tab img { + width: 110px; + height: 110px; + } + .create-btn { + padding: 20px 24px; + } + } + } + + @media (max-width: 720px) { + .hero { + min-height: none; + .main-txt h1 { + text-align: center; + font-size: 44px; + font-weight: 600; + } + .tab img { + width: 110px; + height: 110px; + } + .create-btn { + padding: 14px 20px; + } + } + } + + @media (max-width: 560px) { + .hero { + .main-txt h1 { + font-size: 8vw; + line-height: 3, 5rem; + } + .tab img { + width: 100px; + height: 100px; + } + .tab02 { + top: -70px; + right: -50px; + } + .create-btn { + padding: 14px 20px; + font-size: 14px; + } + } + } + + @media (max-width: 480px) { + .hero { + padding-bottom: 60px; + .tab01 { + position: absolute; + top: -40px; + left: -40px; + z-index: 10; + } + .tab02 { + position: absolute; + top: -50px; + right: -30px; + z-index: 10; + } + .tab03 { + position: absolute; + top: 20px; + left: 10px; + z-index: 10; + } + .tab04 { + position: absolute; + top: 10px; + right: 0px; + z-index: 10; + } + .tab img { + width: 80px; + height: 80px; + } + .create-btn { + padding: 14px 20px; + font-size: 14px; + } + } + } + \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/components/ImageUpload/ImageUpload.jsx b/hackathon/Fam.ai (Novathon)/frontend/src/components/ImageUpload/ImageUpload.jsx new file mode 100644 index 00000000..7d6716f3 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/components/ImageUpload/ImageUpload.jsx @@ -0,0 +1,77 @@ +import React, { useState, useRef } from 'react'; +import './ImageUpload.scss'; + +const ImageUploader = () => { + const [selectedImage, setSelectedImage] = useState(null); + const [previewImage, setPreviewImage] = useState(null); + const fileInputRef = useRef(null); + + const handleImageUpload = (event) => { + const file = event.target.files[0]; + if (file) { + setSelectedImage(file); + setPreviewImage(URL.createObjectURL(file)); + } + }; + + const uploadImage = async () => { + if (!selectedImage) return; + + const formData = new FormData(); + formData.append('image', selectedImage); + + try { + const response = await fetch('/api/upload', { + method: 'POST', + body: formData + }); + + if (!response.ok) { + throw new Error('Upload failed'); + } + + const result = await response.json(); + console.log('Upload successful:', result); + + // Reset after successful upload + setSelectedImage(null); + setPreviewImage(null); + if (fileInputRef.current) fileInputRef.current.value = ''; + } catch (error) { + console.error('Upload error:', error); + } + }; + + const triggerFileInput = () => { + fileInputRef.current.click(); + }; + + return ( +
+ + {/* */} + + {previewImage && ( +
+ Preview +
+ )} + + {/* {selectedImage && ( + + )} */} +
+ ); +}; + +export default ImageUploader; \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/components/ImageUpload/ImageUpload.scss b/hackathon/Fam.ai (Novathon)/frontend/src/components/ImageUpload/ImageUpload.scss new file mode 100644 index 00000000..f6bd49fb --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/components/ImageUpload/ImageUpload.scss @@ -0,0 +1,26 @@ +.uploader-wrapper{ + width: 100%; + display: flex; + align-items: center; + justify-content: center; +} +.pre-img{ + width: fit-content; + height: fit-content; + padding: 15px 15px; + display: flex; + flex-direction: column; + gap: 20px; + align-items: center; + justify-content: center; + background-color: var(--ui-background); + box-shadow: -1px -2px 37px 0px rgba(207,207,207,1); + border-radius: 12px; + margin-top: 40px; +} + +.pre-img img{ + min-width: 400px; + min-height: 300px; + border-radius: 12px; +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/components/Loader/Loader.jsx b/hackathon/Fam.ai (Novathon)/frontend/src/components/Loader/Loader.jsx new file mode 100644 index 00000000..e22bed38 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/components/Loader/Loader.jsx @@ -0,0 +1,22 @@ +import React from "react"; +import { MutatingDots } from "react-loader-spinner"; +import './Loader.scss' +const Loader = () => { + return ( +
+ +
+ ); +}; + +export default Loader; diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/components/Loader/Loader.scss b/hackathon/Fam.ai (Novathon)/frontend/src/components/Loader/Loader.scss new file mode 100644 index 00000000..ca4d8bc3 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/components/Loader/Loader.scss @@ -0,0 +1,9 @@ +.loader{ + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + min-width: 300px; + height: 200px; +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/components/Nav/Nav.jsx b/hackathon/Fam.ai (Novathon)/frontend/src/components/Nav/Nav.jsx new file mode 100644 index 00000000..e07f12dc --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/components/Nav/Nav.jsx @@ -0,0 +1,185 @@ +import React from "react"; +import { Link } from "react-router-dom"; +import "./Nav.scss"; +import { useState, useEffect } from "react"; +import { useStore } from "../../context/StoreContext"; + +import POLLY from "../../assets/images/pollylo.svg"; +import ETH from "../../assets/images/eth.png"; +import ETHLOGO from "../../assets/images/ethlogo.svg"; + +const Nav = () => { + const { wallet, setWallet } = useStore(); + const [walletAddress, setWalletAddress] = useState(null); + const [provider, setProvider] = useState(null); + + const [loginPopup, setLoginPopup] = useState(false); + const [conType, setConType] = useState( + JSON.parse(localStorage.getItem("con")) + ); + + useEffect(() => { + if (window.ethereum) { + setProvider(window.ethereum); + } + setConType(JSON.parse(localStorage.getItem("con"))); + }, []); + console.log(conType); + + const pollyConnect = () => { + const requestAccount = async () => { + if (provider) { + try { + const accounts = await provider.request({ + method: "eth_requestAccounts", + }); + setWalletAddress(accounts[0]); + setWallet(accounts[0]); + console.log(accounts[0]); + localStorage.setItem("wallet", accounts[0]); + setLoginPopup(false); + setConType("polly"); + localStorage.setItem("con", JSON.stringify("polly")); + } catch (err) { + console.error("Error:", err); + setLoginPopup(false); + } + } else { + console.log("MetaMask not detected"); + } + }; + requestAccount(); + }; + + const sepoliaConnect = () => { + const requestAccount = async () => { + if (provider) { + try { + // Get the current network + const network = await provider.request({ method: "eth_chainId" }); + + // Check if the network is Sepolia + if (network !== "0xaa36a7") { + // Sepolia chain ID in hexadecimal + console.log("Switching to Sepolia network..."); + try { + await provider.request({ + method: "wallet_switchEthereumChain", + params: [{ chainId: "0xaa36a7" }], // Sepolia chain ID + }); + } catch (switchError) { + // If the network is not available in MetaMask, add it + if (switchError.code === 4902) { + try { + await provider.request({ + method: "wallet_addEthereumChain", + params: [ + { + chainId: "0xaa36a7", + chainName: "Sepolia Testnet", + nativeCurrency: { + name: "Ethereum", + symbol: "ETH", + decimals: 18, + }, + rpcUrls: ["https://rpc.sepolia.org"], + blockExplorerUrls: ["https://sepolia.etherscan.io"], + }, + ], + }); + setLoginPopup(false); + } catch (addError) { + console.error("Failed to add Sepolia network:", addError); + setLoginPopup(false); + return; + } + } else { + console.error("Failed to switch network:", switchError); + return; + } + } + } + + // Request accounts + const accounts = await provider.request({ + method: "eth_requestAccounts", + }); + setWalletAddress(accounts[0]); + setWallet(accounts[0]); + console.log("Connected account:", accounts[0]); + localStorage.setItem("wallet", accounts[0]); + setLoginPopup(false); + setConType("eth"); + localStorage.setItem("con", JSON.stringify("eth")); + } catch (err) { + console.error("Error connecting to Sepolia:", err); + setLoginPopup(false); + } + } else { + console.log("MetaMask not detected"); + } + }; + + requestAccount(); + }; + + return ( +
+
+ + + + + + + + + + + + + + + Fam.ai + +
+
+ + {loginPopup && ( +
+
pollyConnect()}> + +
+
sepoliaConnect()}> + +
+
+ )} +
+
+ ); +}; + +export default Nav; diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/components/Nav/Nav.scss b/hackathon/Fam.ai (Novathon)/frontend/src/components/Nav/Nav.scss new file mode 100644 index 00000000..3f4e0c7e --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/components/Nav/Nav.scss @@ -0,0 +1,134 @@ +.nav-container { + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; + padding: 24px 60px; + background-color: #ffffffab; + backdrop-filter: blur(5px); + z-index: 100; + position: relative; +} + +.logo { + display: flex; + align-items: center; + gap: 10px; + color: var(--ui-brand-color); + font-family: var(--poppins); + font-size: 24px; + font-weight: 500; + letter-spacing: -2px; +} + +.links { + display: flex; + align-items: center; + gap: 40px; + list-style: none; + + a { + text-decoration: none; + font-size: 14px; + color: var(--ui-secondary-txt); + font-weight: 400; + } +} + +.login-btn { + display: flex; + align-items: center; + justify-content: center; + border: none; + padding: 12px 24px; + border-radius: 16px; + font-weight: 500; + font-size: 14px; + cursor: pointer; + background: var(--ui-dark-bg); + color: #fff; + text-decoration: none; + gap: 10px; +} + +@media (max-width: 720px) { + .nav-container { + padding: 20px; + } + .links a { + font-size: 14px; + } +} + +@media (max-width: 560px) { + .logo { + font-size: 20px; + } + .links { + gap: 20px; + } + .links a { + font-size: 12px; + } + .login-btn { + font-size: 14px; + } +} + +@media (max-width: 560px) { + .logo { + font-size: 20px; + } + .links { + gap: 20px; + } + .links a { + font-size: 12px; + } + .login-btn { + font-size: 14px; + padding: 8px 16px; + } +} + +@media (max-width: 420px) { + .logo { + font-size: 20px; + } + .links { + display: none; + } + .login-btn { + font-size: 14px; + padding: 8px 16px; + } +} + + +.wallets{ + position: fixed; + top: 80px; + right: 60px; + display: flex; + flex-direction: column; + gap: 10px; + // border: 2px solid #ececec; + box-shadow: -1px -2px 37px 0px rgba(207, 207, 207, 0.76); + border-radius: 10px; + padding: 10px; + z-index: 10000; +} + +.wallet-btn{ + background-color: #fff; + padding: 10px; + border-radius: 10px; + cursor: pointer; + z-index: 10000; +} +.wallet-btn img{ + width: 140px; + height: 30px; + cursor: pointer; + +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/components/form/Form.jsx b/hackathon/Fam.ai (Novathon)/frontend/src/components/form/Form.jsx new file mode 100644 index 00000000..9ecfc382 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/components/form/Form.jsx @@ -0,0 +1,149 @@ +import React, { useState } from "react"; +import "./Form.scss"; +import { useStore } from "../../context/StoreContext"; + +import { motion } from "motion/react"; +import { createIndiProfile } from "../../utils/utils"; +import Loader from "../Loader/Loader"; +import toast from "react-hot-toast"; +const Form = ({ popup, setPopup }) => { + const { wallet, setWallet } = useStore(); + const [formData, setFormData] = useState({ + name: "", + dob: "", + gender: "", + bloodGroup: "", + }); + const [loader,setLoader]=useState(false); + + const handleChange = (e) => { + const { name, value } = e.target; + setFormData((prev) => ({ + ...prev, + [name]: value, + })); + }; + + const handleSubmit = async (e) => { + e.preventDefault(); + setLoader(true) + const result = await createIndiProfile(wallet, formData); + if (result) { + setLoader(false); + setPopup(!popup); + }else{ + setLoader(false); + toast.error('Error occured'); + } + }; + + return ( + + { + loader&&(
) + } +
setPopup(!popup)}> + + + + + +
+ +

Add New Member

+
+ {/* Name */} +
+ + +
+ + {/* Date of Birth */} +
+ + +
+ + {/* Gender */} +
+ + +
+ + {/* Blood Group */} +
+ + +
+ + {/* Submit Button */} + +
+
+
+ ); +}; + +export default Form; diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/components/form/Form.scss b/hackathon/Fam.ai (Novathon)/frontend/src/components/form/Form.scss new file mode 100644 index 00000000..40df5b71 --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/components/form/Form.scss @@ -0,0 +1,87 @@ +.form-page{ + width: 100%; + height: 100vh; + overflow: hidden; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + background-color: transparent; + position: fixed; + top: 0px; + background-color: #9898984e; + z-index: 1000; + gap: 20px; +} + +.load-page{ + position: fixed; + top: 0; + width: 100%; + height: 100vh; + display: flex; + align-items: center; + justify-content: center; +} + +.close-btn{ + cursor: pointer; +} +.form-wrapper{ + max-width: 500px; + padding: 40px 40px; + display: flex; + flex-direction: column; + gap: 20px; + align-items: center; + justify-content: center; + background-color: var(--ui-background); + box-shadow: -1px -2px 37px 0px rgba(207,207,207,1); + border-radius: 20px; +} + +h2{ + font-weight: 500; + font-size: 24px; +} + +form{ + display: flex; + flex-direction: column; + gap: 20px; +} + +.field{ + display: flex; + flex-direction: column; + gap: 10px; +} + +input,select{ + width: 360px; + height: 40px; + border-radius: 10px; + border: 1px solid #E3E3E5; + padding: 10px; +} + +label{ + font-size: 15px; + color: #0B0B0B; +} + +.sub-btn{ + height: 50px; + display: flex; + align-items: center; + justify-content: center; + border: none; + padding: 12px 24px; + border-radius: 16px; + font-weight: 500; + font-size: 14px; + cursor: pointer; + background: var(--ui-dark-bg); + color: #fff; + text-decoration: none; +} \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/constants.js b/hackathon/Fam.ai (Novathon)/frontend/src/constants.js new file mode 100644 index 00000000..61c4c13c --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/constants.js @@ -0,0 +1 @@ +export const baseUrl=`https://thoroughly-lasting-ladybug.ngrok-free.app` \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/context/StoreContext.jsx b/hackathon/Fam.ai (Novathon)/frontend/src/context/StoreContext.jsx new file mode 100644 index 00000000..fe73736c --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/context/StoreContext.jsx @@ -0,0 +1,20 @@ +import React, { createContext, useContext, useState } from "react"; + +// creating context +const StoreContext = createContext(); + +export const StoreProvider = ({ children }) => { + const [wallet, setWallet] = useState(localStorage.getItem("wallet") || null); + const value = { + wallet, + setWallet, + }; + + return ( + {children} + ); +}; + +export const useStore = () => { + return useContext(StoreContext); +}; \ No newline at end of file diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/main.jsx b/hackathon/Fam.ai (Novathon)/frontend/src/main.jsx new file mode 100644 index 00000000..39fe0e7d --- /dev/null +++ b/hackathon/Fam.ai (Novathon)/frontend/src/main.jsx @@ -0,0 +1,23 @@ +import { createRoot } from "react-dom/client"; +import App from "./App.jsx"; +import { BrowserRouter, Routes, Route } from "react-router-dom"; +import FamilyProfile from "./pages/Profiles/FamilyProfile.jsx"; +import ProfilePage from "./pages/ProfilePage/ProfilePage.jsx"; +import { StoreProvider } from "./context/StoreContext.jsx"; +import Nav from "./components/Nav/Nav.jsx"; + +import { Toaster } from "react-hot-toast"; + +createRoot(document.getElementById("root")).render( + + + +