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.
+
+---
+
+
+
+---
+
+## 🚀 **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) => (
+
+ ))}
+
+ {chatLoad && (
+
+
+
+ )}
+
+
+
+ setInputMessage(e.target.value)}
+ onKeyPress={(e) => e.key === "Enter" && handleSendMessage()}
+ placeholder="Type a message..."
+ className="message-input"
+ />
+
+ Send
+
+
+
+
+ );
+};
+
+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
+
+
+
+
+
+
+ Family's Health
+
+
+
+
+
+
+
+
+
+
Perfect
+
+
+
+
+
+
createProfile()} className="create-btn">
+ Create Profile
+
+
+ );
+};
+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 (
+
+
+ {/*
Select Image */}
+
+ {previewImage && (
+
+
+
+ )}
+
+ {/* {selectedImage && (
+
Upload Image
+ )} */}
+
+ );
+};
+
+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
+
+
+
+
setLoginPopup(true)} className="login-btn">
+ {conType == "polly" && (
+
+
+
+ )}
+ {conType == "eth" && }
+
+ {wallet ? `${wallet.substring(0, 8)}xxxxx` : "Login"}
+
+ {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
+
+
+
+ );
+};
+
+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(
+
+
+
+
+
+ } />
+ } />
+ } />
+
+
+
+);
diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/pages/ProfilePage/ProfilePage.jsx b/hackathon/Fam.ai (Novathon)/frontend/src/pages/ProfilePage/ProfilePage.jsx
new file mode 100644
index 00000000..ccf8b296
--- /dev/null
+++ b/hackathon/Fam.ai (Novathon)/frontend/src/pages/ProfilePage/ProfilePage.jsx
@@ -0,0 +1,418 @@
+import "./ProfilePage.scss";
+
+import BOY from "../../assets/images/male.svg";
+import GIRL from "../../assets/images/female.svg";
+import QR from "../../assets/images/qr.png";
+
+import { useParams } from "react-router-dom";
+import React, { useState, useRef, useEffect } from "react";
+import { motion } from "motion/react";
+import ChatComponent from "../../components/ChatUI/Chatui";
+import toast from "react-hot-toast";
+import { baseUrl } from "../../constants";
+import { fetchDocuments, fetchScore, getProfileData } from "../../utils/utils";
+import { useStore } from "../../context/StoreContext";
+import Loader from "../../components/Loader/Loader";
+
+import { CircularProgressbar, buildStyles } from "react-circular-progressbar";
+import "react-circular-progressbar/dist/styles.css";
+
+const ProfilePage = () => {
+ const { wallet, setWallet } = useStore();
+ const { uid } = useParams();
+ const [profile, setProfile] = useState(null);
+ const [selectedImage, setSelectedImage] = useState(null);
+ const [previewImage, setPreviewImage] = useState(null);
+ const fileInputRef = useRef(null);
+
+ const [chatPopup, setChatPopup] = useState(false);
+ const [loader, setLoader] = useState(false);
+ const [history, setHistory] = useState(null);
+ const [popup, setPopup] = useState(false);
+ const [sharepopup, setsharepopup] = useState(false);
+ const [healthScore, setHealthScore] = useState("");
+ const [healthLoader, setHealthLoader] = useState(false);
+ const [trigger,setTrigger]=useState(false);
+
+ //get profile
+ useEffect(() => {
+ const fetchProfile = async () => {
+ try {
+ const result = await getProfileData(wallet, uid);
+ setProfile(result);
+ console.log(result);
+ } catch (error) {
+ console.error("Error fetching profiles:", error);
+ }
+ };
+
+ fetchProfile();
+ }, [history]);
+
+ //get doc
+ useEffect(() => {
+ const fetchProfile = async () => {
+ try {
+ const result = await fetchDocuments(wallet, uid);
+ setHistory(result);
+ console.log(result);
+ } catch (error) {
+ console.error("Error fetching profiles:", error);
+ }
+ };
+
+ fetchProfile();
+ }, [trigger]);
+
+ const handleImageUpload = (event) => {
+ const file = event.target.files[0];
+ if (file) {
+ setSelectedImage(file);
+ setPreviewImage(URL.createObjectURL(file));
+ }
+ };
+
+ const uploadImage = async () => {
+ setLoader(true);
+ if (!selectedImage) return;
+
+ const formData = new FormData();
+ formData.append("file", selectedImage);
+
+ try {
+ // Construct the URL with the query parameter
+ const url = new URL(`${baseUrl}/document/upload`);
+ url.searchParams.append("prfid", uid); // Add prfid as a query parameter
+
+ const response = await fetch(url, {
+ method: "POST",
+ headers: {
+ // "Content-Type": "multipart/formdatas",
+ Authorization: "Bearer your-auth-token",
+ "ngrok-skip-browser-warning": "69420",
+ Address: wallet,
+ },
+ body: formData, // Send the form data in the request body
+ });
+
+ if (!response.ok) {
+ throw new Error("Upload failed");
+ }
+
+ const result = await response.json();
+ toast.success("Successfully Uploaded!");
+ console.log("Upload successful:", result);
+
+ // Reset after successful upload
+ setSelectedImage(null);
+ setPreviewImage(null);
+ if (fileInputRef.current) fileInputRef.current.value = "";
+ setLoader(false);
+ setTrigger(!trigger)
+ } catch (error) {
+ setLoader(false);
+ console.error("Upload error:", error);
+ toast.error("I can't upload it 🙂");
+ }
+ };
+
+ const triggerFileInput = () => {
+ fileInputRef.current.click();
+ };
+
+ const fetchHealthScore = async () => {
+ setHealthLoader(true);
+ const result = await fetchScore(wallet, uid);
+ if (result) {
+ setHealthScore(result?.overallhealthscore);
+ setHealthLoader(false);
+ } else {
+ toast.error("Can't fetch health score 🙁");
+ setHealthLoader(false);
+ }
+ };
+
+ return (
+
+
+ {profile?.gender == "Male" ? (
+
+ ) : (
+
+ )}
+
{profile?.name}
+
+
+
+
+
+
+ {profile?.dob}
+
+
+
{profile?.gender}
+
{profile?.blood}
+
+
+
+
{
+ setPopup(!popup);
+ fetchHealthScore();
+ }}
+ >
+ Check Health score
+
+
setsharepopup(!sharepopup)}>
+
+
+
+
+
+
+
+
+ {history?.map((item) => (
+
+
+
+ {item?.inferences.slice(0, 200) + "..."}
+
+
+ ))}
+
+
+
+
+ {previewImage && (
+
+ {loader ? (
+
+ ) : (
+
+ )}
+
+ )}
+
+
+
{
+ if (selectedImage) {
+ uploadImage();
+ } else {
+ triggerFileInput();
+ }
+ }}
+ >
+
+
+
+
+
+ {selectedImage ? "Upload" : "Select Document"}
+
+
setChatPopup(!chatPopup)}>
+
+
+
+
+
+
+
+ {chatPopup && (
+
+ )}
+ {popup && (
+
+
setPopup(!popup)}>
+
+
+
+
+
+
+
+
Health Score
+ {healthLoader ? (
+
+ ) : (
+
+ )}
+
+
+ )}
+ {sharepopup && (
+
+
setsharepopup(!sharepopup)}>
+
+
+
+
+
+
+
+
Scan QR
+
+
+
+
+
+ )}
+
+ );
+};
+
+export default ProfilePage;
diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/pages/ProfilePage/ProfilePage.scss b/hackathon/Fam.ai (Novathon)/frontend/src/pages/ProfilePage/ProfilePage.scss
new file mode 100644
index 00000000..f07dd97b
--- /dev/null
+++ b/hackathon/Fam.ai (Novathon)/frontend/src/pages/ProfilePage/ProfilePage.scss
@@ -0,0 +1,157 @@
+.profile-page {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ gap: 20px;
+}
+
+.profile-sec {
+ max-width: 800px;
+ width: 100%;
+ padding: 20px;
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+
+ .name {
+ font-size: 28px;
+ }
+}
+
+.grp {
+ display: flex;
+ align-items: center;
+ gap: 20px;
+}
+.avatar {
+ width: 100px;
+ height: 100px;
+}
+
+.uploader-wrapper {
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ position: absolute;
+ bottom: 160px;
+}
+
+.pre-img {
+ padding: 10px;
+ background-color: var(--ui-background);
+ box-shadow: -1px -2px 37px 0px rgba(207, 207, 207, 1);
+ border-radius: 20px;
+ margin-top: 100px;
+}
+
+.pre-img img {
+ min-width: 340px;
+ min-height: 200px;
+ border-radius: 10px;
+}
+
+.upload-history {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 20px;
+ margin-top: 20px;
+}
+
+.upload-card {
+ width: 300px;
+ min-height: 200px;
+ padding: 10px;
+ background-color: var(--ui-background);
+ border-radius: 20px;
+ border: 2px solid #ececec;
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+ font-size: 14px;
+ color: #565656;
+ cursor: pointer;
+}
+
+.upload-img {
+ width: 100%;
+ min-height: 150px;
+ background-color: #ececec;
+ border-radius: 10px;
+}
+
+.btns {
+ display: flex;
+ align-items: center;
+ gap: 20px;
+ margin-top: 20px;
+}
+
+.health-btn {
+ height: 40px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: none;
+ padding: 20px 24px;
+ border-radius: 12px;
+ font-weight: 400;
+ font-size: 14px;
+ cursor: pointer;
+ background: var(--ui-dark-bg);
+ color: #fff;
+ text-decoration: none;
+ transition: all 0.3s ease-in-out;
+ gap: 10px;
+}
+
+.share-btn {
+ width: 40px;
+ height: 40px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: none;
+ border: 2px solid #ececec;
+ border-radius: 10px;
+ cursor: pointer;
+ background-color: var(--ui-background);
+}
+
+.popup-wrapper {
+ 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;
+}
+
+.popup-ui {
+ width: 400px;
+ height: 400px;
+ padding: 20px;
+ 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;
+}
+
+h3{
+ font-weight: 500;
+ font-size: 22px;
+ text-align: center;
+ color: var(--ui-dark-bg);
+}
diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/pages/Profiles/FamilyProfile.jsx b/hackathon/Fam.ai (Novathon)/frontend/src/pages/Profiles/FamilyProfile.jsx
new file mode 100644
index 00000000..1e43a00d
--- /dev/null
+++ b/hackathon/Fam.ai (Novathon)/frontend/src/pages/Profiles/FamilyProfile.jsx
@@ -0,0 +1,119 @@
+import React, { useState, useEffect } from "react";
+import "./FamilyProfilePage.scss";
+
+import BOY from "../../assets/images/male.svg";
+import GIRL from "../../assets/images/female.svg";
+import Form from "../../components/form/Form";
+import { AnimatePresence } from "motion/react";
+import { Link } from "react-router-dom";
+import ChatComponent from "../../components/ChatUI/Chatui";
+import { deleteProfile, getProfiles } from "../../utils/utils";
+import { useStore } from "../../context/StoreContext";
+const FamilyProfile = () => {
+ const { wallet, setWallet } = useStore();
+ const [popup, setPopup] = useState(false);
+ const [profiles, setProfiles] = useState(null);
+ const [trigger, setTrigger] = useState(false);
+
+ //to delete profile
+ const deleteProfileClick = async (prfid) => {
+ const result = await deleteProfile(wallet, prfid);
+ setTrigger(!trigger);
+ };
+
+ useEffect(() => {
+ const fetchProfiles = async () => {
+ try {
+ const result = await getProfiles(wallet);
+ setProfiles(result);
+ console.log(result);
+ } catch (error) {
+ console.error("Error fetching profiles:", error);
+ }
+ };
+
+ fetchProfiles();
+ }, [wallet, popup, trigger]);
+
+ return (
+
+
+ {profiles?.map((profile) => (
+
+
deleteProfileClick(profile.prfid)}
+ >
+
+
+
+
+
+
+
+
+
{profile.name}
+
+
+
+
+
+ {profile.dob}
+
+
+
{profile.gender}
+
{profile.blood}
+
+
+ {profile.gender == "Male" ? (
+
+ ) : (
+
+ )}
+
+
+ ))}
+
+
+
setPopup(!popup)}>
+ Add New Member
+
+
+
+ {popup && }
+
+ {/*
*/}
+
+ );
+};
+
+export default FamilyProfile;
diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/pages/Profiles/FamilyProfilePage.scss b/hackathon/Fam.ai (Novathon)/frontend/src/pages/Profiles/FamilyProfilePage.scss
new file mode 100644
index 00000000..5b895af6
--- /dev/null
+++ b/hackathon/Fam.ai (Novathon)/frontend/src/pages/Profiles/FamilyProfilePage.scss
@@ -0,0 +1,149 @@
+.family-page {
+ position: relative;
+ width: 100%;
+ height: 90vh;
+ background-color: var(--ui-background);
+ display: flex;
+ flex-direction: column;
+ gap: 20px;
+}
+
+a {
+ color: #151b23;
+}
+
+.fam-profiles {
+ width: 100%;
+ padding: 0px 60px;
+ display: flex;
+ justify-content: center;
+ flex-wrap: wrap;
+ gap: 20px;
+}
+.profile-card-wrapper {
+ position: relative;
+}
+.profile-card {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ background-color: var(--ui-background);
+ border: 2px solid #ececec;
+ padding: 20px;
+ gap: 40px;
+ border-radius: 20px;
+ cursor: pointer;
+ transition: all 0.3s ease-in-out;
+}
+.left-profile-box {
+ display: flex;
+ flex-direction: column;
+ gap: 8px;
+}
+
+.name {
+ font-size: 32px;
+ font-weight: 500;
+ color: var(--ui-dark-bg);
+}
+.dob {
+ display: flex;
+ align-items: center;
+ gap: 10px;
+}
+
+.data-tabs {
+ display: flex;
+ align-items: center;
+ gap: 14px;
+}
+
+.tabb {
+ padding: 8px 14px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background-color: #ebebeb;
+ color: #151b23;
+ border-radius: 100px;
+ font-size: 14px;
+}
+
+.bottom-bar {
+ position: sticky;
+ bottom: 60px;
+ padding: 0px 60px;
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 14px;
+}
+
+.add-profile-btn {
+ height: 60px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: none;
+ padding: 20px 24px;
+ border-radius: 16px;
+ font-weight: 400;
+ font-size: 14px;
+ cursor: pointer;
+ background: var(--ui-dark-bg);
+ color: #fff;
+ text-decoration: none;
+ transition: all 0.3s ease-in-out;
+ gap: 10px;
+}
+
+.add-profile-btn:hover {
+ scale: 0.98;
+ transition: all 0.3s ease-in-out;
+}
+
+.profile-card:hover {
+ scale: 0.98;
+ transition: all 0.3s ease-in-out;
+}
+
+.chat-btn {
+ width: 60px;
+ height: 60px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: none;
+ border: 2px solid #ececec;
+ border-radius: 16px;
+ cursor: pointer;
+ background-color: var(--ui-background);
+}
+
+.delete-btn {
+ position: absolute;
+ right: -10px;
+ top: -20px;
+ background: var(--ui-gray-bg);
+ width: 40px;
+ height: 40px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 50%;
+ z-index: 2000;
+ transition: all 0.4s ease-in-out;
+ cursor: pointer;
+ scale: 0;
+}
+
+.profile-card-wrapper:hover .delete-btn {
+ scale: 1;
+ transition: all 0.3s ease-in-out;
+}
+
+.delete-btn:hover {
+ scale: 1.1;
+ transition: all 0.3s ease-in-out;
+}
diff --git a/hackathon/Fam.ai (Novathon)/frontend/src/utils/utils.js b/hackathon/Fam.ai (Novathon)/frontend/src/utils/utils.js
new file mode 100644
index 00000000..3d9e3170
--- /dev/null
+++ b/hackathon/Fam.ai (Novathon)/frontend/src/utils/utils.js
@@ -0,0 +1,199 @@
+import { baseUrl } from "../constants";
+import toast from "react-hot-toast";
+
+export const createAcc = async (wallet) => {
+ try {
+ const response = await fetch(`${baseUrl}/user/create_account`, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ Authorization: "Bearer your-auth-token",
+ "ngrok-skip-browser-warning": "69420",
+ Address: wallet,
+ },
+ });
+
+ if (!response.ok) {
+ const errorData = await response.json();
+ throw new Error(errorData.msg || "Acc failed to create");
+ }
+
+ const result = await response.json();
+ console.log("Acc created:", result);
+ toast.success("Account created 💪🏻");
+ return result;
+ } catch (error) {
+ console.error("Acc error:", error);
+ toast.error("Can't create an account🙂");
+ }
+};
+
+//create new profile
+export const createIndiProfile = async (wallet, formData) => {
+ try {
+ const response = await fetch(`${baseUrl}/user/create_profile`, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ Authorization: "Bearer your-auth-token",
+ "ngrok-skip-browser-warning": "69420",
+ address: wallet,
+ },
+ body: JSON.stringify({
+ name: formData.name,
+ dob: formData.dob,
+ gender: formData.gender,
+ blood: formData.bloodGroup,
+ }),
+ });
+
+ if (!response.ok) {
+ const errorData = await response.json();
+ throw new Error(errorData.msg || "Acc failed to create");
+ }
+
+ const result = await response.json();
+ console.log("Acc created:", result);
+ return result;
+ } catch (error) {
+ console.error("Acc error:", error);
+ }
+};
+
+// get profiles
+export const getProfiles = async (wallet) => {
+ try {
+ const response = await fetch(`${baseUrl}/user/get_profiles`, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ Authorization: "Bearer your-auth-token",
+ "ngrok-skip-browser-warning": "69420",
+ address: wallet,
+ },
+ });
+
+ if (!response.ok) {
+ const errorData = await response.json();
+ throw new Error(errorData.msg || "can't get profiles");
+ }
+
+ const result = await response.json();
+ console.log("profiles done:", result);
+ return result;
+ } catch (error) {
+ console.error("profiles fetch error:", error);
+ }
+};
+
+// get profile data
+export const getProfileData = async (wallet, prfid) => {
+ try {
+ const response = await fetch(`${baseUrl}/user/get_profile?prfid=${prfid}`, {
+ method: "GET",
+ headers: {
+ "Content-Type": "application/json",
+ Authorization: "Bearer your-auth-token",
+ "ngrok-skip-browser-warning": "69420",
+ address: wallet,
+ },
+ });
+
+ if (!response.ok) {
+ const errorData = await response.json();
+ throw new Error(errorData.msg || "can't get profiles");
+ }
+
+ const result = await response.json();
+ console.log("profiles done:", result);
+ return result;
+ } catch (error) {
+ console.error("profiles fetch error:", error);
+ }
+};
+
+//delete profile
+export const deleteProfile = async (wallet, prfid) => {
+ try {
+ const response = await fetch(`${baseUrl}/user/delete_profile`, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ Authorization: "Bearer your-auth-token",
+ "ngrok-skip-browser-warning": "69420",
+ address: wallet,
+ },
+ body: JSON.stringify({
+ prfid: prfid,
+ }),
+ });
+
+ if (!response.ok) {
+ const errorData = await response.json();
+ throw new Error(errorData.msg || "Acc failed to create");
+ }
+
+ const result = await response.json();
+ console.log("profile deleted:", result);
+ return result;
+ } catch (error) {
+ console.error("deletion error:", error);
+ }
+};
+
+//delete profile
+export const fetchDocuments = async (wallet, prfid) => {
+ const url = new URL(`${baseUrl}/document/list_documents`);
+ url.searchParams.append("prfid", prfid);
+ try {
+ const response = await fetch(url, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ Authorization: "Bearer your-auth-token",
+ "ngrok-skip-browser-warning": "69420",
+ address: wallet,
+ }
+ });
+
+ if (!response.ok) {
+ const errorData = await response.json();
+ throw new Error(errorData.msg || "Acc failed to create");
+ }
+
+ const result = await response.json();
+ console.log("profile deleted:", result);
+ return result;
+ } catch (error) {
+ console.error("deletion error:", error);
+ }
+};
+
+//score
+export const fetchScore = async (wallet, prfid) => {
+ const url = new URL(`${baseUrl}/chat/score`);
+ url.searchParams.append("prfid", prfid);
+ try {
+ const response = await fetch(url, {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ Authorization: "Bearer your-auth-token",
+ "ngrok-skip-browser-warning": "69420",
+ address: wallet,
+ }
+ });
+
+ if (!response.ok) {
+ const errorData = await response.json();
+ throw new Error(errorData.msg || "Acc failed to create");
+ }
+
+ const result = await response.json();
+ console.log("profile deleted:", result);
+ return result;
+ } catch (error) {
+ console.error("deletion error:", error);
+ }
+};
+
diff --git a/hackathon/Fam.ai (Novathon)/frontend/vite.config.js b/hackathon/Fam.ai (Novathon)/frontend/vite.config.js
new file mode 100644
index 00000000..8b0f57b9
--- /dev/null
+++ b/hackathon/Fam.ai (Novathon)/frontend/vite.config.js
@@ -0,0 +1,7 @@
+import { defineConfig } from 'vite'
+import react from '@vitejs/plugin-react'
+
+// https://vite.dev/config/
+export default defineConfig({
+ plugins: [react()],
+})