diff --git a/Nftzi/.env.example b/Nftzi/.env.example
new file mode 100644
index 00000000..a574071f
--- /dev/null
+++ b/Nftzi/.env.example
@@ -0,0 +1,3 @@
+ADDRESS=
+PASSWORD=
+PRIVATE_KEY=
diff --git a/Nftzi/.expo-shared/assets.json b/Nftzi/.expo-shared/assets.json
new file mode 100644
index 00000000..1e6decfb
--- /dev/null
+++ b/Nftzi/.expo-shared/assets.json
@@ -0,0 +1,4 @@
+{
+ "12bb71342c6255bbf50437ec8f4441c083f47cdb74bd89160c15e4f43e52a1cb": true,
+ "40b842e832070c58deac6aa9e08fa459302ee3f9da492c7e77d93d2fbf4a56fd": true
+}
diff --git a/Nftzi/.gitignore b/Nftzi/.gitignore
new file mode 100644
index 00000000..5a6f3afa
--- /dev/null
+++ b/Nftzi/.gitignore
@@ -0,0 +1,16 @@
+node_modules/
+.expo/
+dist/
+npm-debug.*
+*.jks
+*.p8
+*.p12
+*.key
+*.mobileprovision
+*.orig.*
+web-build/
+.env
+keystore/
+yarn-error.log
+# macOS
+.DS_Store
diff --git a/Nftzi/.idea/.gitignore b/Nftzi/.idea/.gitignore
new file mode 100644
index 00000000..b58b603f
--- /dev/null
+++ b/Nftzi/.idea/.gitignore
@@ -0,0 +1,5 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/Nftzi/.idea/Nftzi.iml b/Nftzi/.idea/Nftzi.iml
new file mode 100644
index 00000000..0c8867d7
--- /dev/null
+++ b/Nftzi/.idea/Nftzi.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Nftzi/.idea/modules.xml b/Nftzi/.idea/modules.xml
new file mode 100644
index 00000000..9dbcd900
--- /dev/null
+++ b/Nftzi/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Nftzi/.idea/vcs.xml b/Nftzi/.idea/vcs.xml
new file mode 100644
index 00000000..94a25f7f
--- /dev/null
+++ b/Nftzi/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Nftzi/AlertLoading.tsx b/Nftzi/AlertLoading.tsx
new file mode 100755
index 00000000..6d28ff77
--- /dev/null
+++ b/Nftzi/AlertLoading.tsx
@@ -0,0 +1,24 @@
+import React, {memo, useEffect, useState} from 'react'
+// @ts-ignore
+import Spinner from 'react-native-loading-spinner-overlay'
+import {appEmitter} from "./eventEmitter";
+
+export const AlertLoading: React.FC = memo(() => {
+ const [visible, setVisible] = useState(false)
+
+ useEffect(() => {
+ const cleaner = appEmitter.on('loading', (isVisible: boolean) => {
+ setTimeout(() => {
+ setVisible(isVisible)
+ }, 500)
+ })
+
+ return () => {
+ cleaner()
+ }
+ }, [])
+
+ if (!visible) return null
+
+ return
+})
diff --git a/Nftzi/App.js b/Nftzi/App.js
new file mode 100644
index 00000000..cfd40324
--- /dev/null
+++ b/Nftzi/App.js
@@ -0,0 +1,300 @@
+import './global'
+import React, {useCallback, useEffect, useRef, useState} from 'react';
+import {LogBox, StyleSheet, View} from 'react-native';
+import {requestTxSig} from "@celo/dappkit";
+import {parseDappkitResponseDeeplink} from "@celo/utils";
+import * as Linking from "expo-linking";
+import Web3 from 'web3';
+import {newKitFromWeb3} from '@celo/contractkit';
+import NftziContract from './abi/Nftzi.json';
+import {ConnectToValoraView} from "./ConnectToValoraView";
+import * as Font from 'expo-font';
+import * as SplashScreen from 'expo-splash-screen';
+import {SafeAreaProvider} from 'react-native-safe-area-context';
+import {
+ approveRequestId,
+ callback,
+ dappName,
+ getCurrecyContract,
+ loginRequestId,
+ mintRequestId,
+ redeemRequestId
+} from "./constants";
+import {RentLendTokensView} from "./RentLendTokensView";
+import {DialogMintView} from "./DialogMintView";
+import {StatusBar} from "expo-status-bar";
+import {AlertLoading} from "./AlertLoading";
+import {appEmitter} from "./eventEmitter";
+
+LogBox.ignoreAllLogs()
+
+export default function App() {
+ const [address, setAddress] = useState("");
+ const [dappkitResponse, setDappkitResponse] = useState(undefined);
+ const [appLoaded, setAppLoaded] = useState(false)
+ const listRef = useRef(null)
+ const [showMintDialog, setShowMintDialog] = useState(false)
+
+ useEffect(() => {
+
+ const deeplinkListener = ({url}) => {
+ const dresp = parseDappkitResponseDeeplink(url)
+ console.log('App', 'addEventListener', dresp, url)
+ if (dresp.requestId === loginRequestId) {
+ setAddress(dresp.address.toLowerCase())
+ }
+ if (dresp.requestId === mintRequestId) {
+ setDappkitResponse(dresp)
+ }
+ if (dresp.requestId === approveRequestId) {
+ setDappkitResponse(dresp)
+ }
+ if (dresp.requestId === redeemRequestId) {
+ setDappkitResponse(dresp)
+ }
+ }
+
+ const i = async () => {
+ console.log('App', 'i')
+ await SplashScreen.preventAutoHideAsync();
+ await Font.loadAsync({
+ 'GTFlexa-Bd': require('./assets/fonts/GTFlexa-Bd.ttf'),
+ 'GTFlexa-Rg': require('./assets/fonts/GTFlexa-Rg.ttf'),
+ })
+ await SplashScreen.hideAsync()
+ setAppLoaded(true)
+
+ Linking.addEventListener('url', deeplinkListener);
+ }
+
+ i()
+
+ return () => {
+ if (deeplinkListener) Linking.removeEventListener('url', deeplinkListener)
+ }
+ }, []);
+
+ useEffect(() => {
+ async function sendTx(dappkitResponse) {
+ try {
+ if (!dappkitResponse) return
+ if (!dappkitResponse.rawTxs) return
+ appEmitter.emit('loading', true)
+ console.log('App', 'sendTx', dappkitResponse)
+ const web3 = new Web3('wss://alfajores-forno.celo-testnet.org/ws');
+ const kit = newKitFromWeb3(web3);
+ for (const tx of dappkitResponse.rawTxs) {
+ await kit.web3.eth.sendSignedTransaction(tx);
+ }
+ listRef.current?.loadTokens()
+ } catch (e) {
+ console.log('error sendTx', e)
+ } finally {
+ appEmitter.emit('loading', false)
+ }
+ }
+
+ sendTx(dappkitResponse)
+ }, [dappkitResponse]);
+
+ useEffect(() => {
+ if (address !== "") {
+ listRef.current?.loadTokens()
+ }
+ }, [address]);
+
+
+ const mintLinkAdd = useCallback(async (link) => {
+ console.log('App', 'mintLinkAdd', link)
+ appEmitter.emit('loading', true)
+ try {
+ const web3 = new Web3('wss://alfajores-forno.celo-testnet.org/ws');
+ const kit = newKitFromWeb3(web3);
+ const currencyContract = await getCurrecyContract('CELO', kit);
+ const networkId = await web3.eth.net.getId();
+ const deployedNetwork = NftziContract.networks[networkId];
+ const nftzi = new web3.eth.Contract(
+ NftziContract.abi,
+ deployedNetwork.address
+ );
+
+ const txObject = await nftzi.methods.safeMint(link, currencyContract.address);
+
+ const requestId = mintRequestId
+ await requestTxSig(
+ kit,
+ [
+ {
+ tx: txObject,
+ from: address,
+ to: nftzi.options.address,
+ feeCurrency: currencyContract.address
+ }
+ ],
+ {requestId, dappName, callback}
+ );
+ console.log('all complete mint')
+ } finally {
+ console.log('finally mint')
+ appEmitter.emit('loading', false)
+ }
+ }, [address])
+
+ const mint = useCallback(() => {
+ setShowMintDialog(true)
+ }, []);
+
+ const rent = async (tokenId) => {
+ try {
+ appEmitter.emit('loading', true)
+ console.log('App', 'rent', tokenId)
+
+ const web3 = new Web3('wss://alfajores-forno.celo-testnet.org/ws');
+ const kit = newKitFromWeb3(web3);
+
+ const currencyContract = await getCurrecyContract('CELO', kit);
+
+ const networkId = await web3.eth.net.getId();
+ const deployedNetwork = NftziContract.networks[networkId];
+ const nftzi = new web3.eth.Contract(
+ NftziContract.abi,
+ deployedNetwork.address
+ );
+
+ const txObjectIncApproval = currencyContract.approve(
+ nftzi.options.address,
+ web3.utils.toWei("1")
+ ).txo;
+
+ const txObject = nftzi.methods.rent(tokenId);
+
+ const requestId = approveRequestId
+
+ await requestTxSig(
+ kit,
+ [
+ {
+ tx: txObjectIncApproval,
+ from: address,
+ to: currencyContract.address,
+ feeCurrency: currencyContract.address,
+ estimatedGas: 200000
+ },
+ {
+ tx: txObject,
+ from: address,
+ to: nftzi.options.address,
+ feeCurrency: currencyContract.address,
+ estimatedGas: 200000
+ }
+ ],
+ {requestId, dappName, callback}
+ );
+ } catch (e) {
+ console.log('error', e)
+ } finally {
+ appEmitter.emit('loading', false)
+ }
+ };
+
+ const details = async (token) => {
+ console.log('App', 'details', token)
+ if (token.rentedAt > 0) {
+ // Alert.alert(
+ // `Balance: ${token.balance}`,
+ // token.URI,
+ // [
+ // {
+ // text: "Cancel",
+ // onPress: () => console.log("Cancel Pressed"),
+ // style: "cancel"
+ // },
+ // {text: "REDEEM", onPress: () => redeem(token.tokenId)}
+ // ]
+ // );
+ } else {
+ // Alert.alert(
+ // "Details",
+ // token.URI,
+ // [
+ // {
+ // text: "Cancel",
+ // onPress: () => console.log("Cancel Pressed"),
+ // style: "cancel"
+ // },
+ // {text: "OK", onPress: () => console.log("OK Pressed")}
+ // ]
+ // );
+
+ }
+ };
+
+ const redeem = async (tokenId) => {
+ try {
+ appEmitter.emit('loading', true)
+ console.log('App', 'redeem', tokenId)
+
+ const web3 = new Web3('wss://alfajores-forno.celo-testnet.org/ws');
+ const kit = newKitFromWeb3(web3);
+
+ const currencyContract = await getCurrecyContract('CELO', kit);
+
+ const networkId = await web3.eth.net.getId();
+ const deployedNetwork = NftziContract.networks[networkId];
+ const nftzi = new web3.eth.Contract(
+ NftziContract.abi,
+ deployedNetwork.address
+ );
+
+ const txObject = nftzi.methods.redeem(tokenId);
+
+ const requestId = redeemRequestId
+ await requestTxSig(
+ kit,
+ [
+ {
+ tx: txObject,
+ from: address,
+ to: nftzi.options.address,
+ feeCurrency: currencyContract.address
+ }
+ ],
+ {requestId, dappName, callback}
+ );
+
+ listRef.current?.loadTokens()
+ } catch (e) {
+ console.error(e)
+ } finally {
+ appEmitter.emit('loading', false)
+ }
+ };
+
+ if (!appLoaded) return
+ console.log('app loaded', address)
+ return (
+
+
+
+ {address === '' && }
+ {address !== '' &&
+ }
+
+ setShowMintDialog(false)} onMintAddPress={mintLinkAdd}/>
+
+
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ },
+});
diff --git a/Nftzi/AppText.tsx b/Nftzi/AppText.tsx
new file mode 100755
index 00000000..d19e0be1
--- /dev/null
+++ b/Nftzi/AppText.tsx
@@ -0,0 +1,23 @@
+import React from 'react'
+import {Text, TextProps} from 'react-native'
+import {FontKey, fonts} from "./theme";
+
+interface Props extends TextProps {
+ readonly color?: string
+ readonly fontFamily?: FontKey
+ readonly lineHeight?: number
+ readonly letterSpacing?: number
+ readonly fontSize?: number
+ readonly centered?: boolean
+}
+
+export const AppText: React.FC = (props) => {
+ const fontFamily =
+ props.fontFamily !== undefined ? fonts[props.fontFamily] : fonts.regular
+ const fontSize = props.fontSize
+ return (
+
+ {props.children}
+
+ )
+}
diff --git a/Nftzi/ConnectToValoraView.tsx b/Nftzi/ConnectToValoraView.tsx
new file mode 100644
index 00000000..5dc35b45
--- /dev/null
+++ b/Nftzi/ConnectToValoraView.tsx
@@ -0,0 +1,71 @@
+import React, {useState} from 'react';
+import {ActivityIndicator, Image, StyleSheet, TouchableOpacity, View} from "react-native";
+
+import {AppText} from "./AppText";
+import AppIcon from "./assets/AppIcon";
+import {requestAccountAddress} from "@celo/dappkit";
+import {callback, dappName, loginRequestId} from "./constants";
+import {StatusBar} from "expo-status-bar";
+
+interface Props {
+}
+export const ConnectToValoraView: React.FC = () => {
+ const [loading, setLoading] = useState(false)
+
+ const connectValora = async () => {
+ setLoading(true)
+
+ requestAccountAddress({
+ requestId: loginRequestId,
+ dappName,
+ callback,
+ });
+ };
+
+ return (
+
+
+
+ {/**/}
+
+
+
+
+ {!loading && }
+ {loading && }
+
+ Valora
+
+
+
+
+ By connecting your wallet, you agree to our{'\n'}
+ Terms of Service and our Privacy Policy.
+
+
+
+
+
+ )
+};
+
+const styles = StyleSheet.create({
+ container: {
+ ...StyleSheet.absoluteFillObject,
+ backgroundColor: '#141416',
+ alignItems: 'center',
+ justifyContent: 'center'
+ },
+
+ connectButton: {
+ backgroundColor: 'rgb(54, 57, 68)',
+ borderRadius: 16,
+ width: '100%',
+ height: 64,
+ marginBottom: 12,
+ alignItems: 'center',
+ justifyContent: 'center',
+ flexDirection: 'row',
+ paddingHorizontal: 16
+ }
+})
diff --git a/Nftzi/DialogDetailsView.tsx b/Nftzi/DialogDetailsView.tsx
new file mode 100644
index 00000000..1f69d436
--- /dev/null
+++ b/Nftzi/DialogDetailsView.tsx
@@ -0,0 +1,97 @@
+import React from 'react';
+import {Modal, StyleSheet, TouchableOpacity, View} from "react-native";
+import {AppText} from "./AppText";
+import AppIcon from "./assets/AppIcon";
+import {AppToken} from "./RentLendTokensView";
+
+// import { BlurView } from 'expo-blur';
+
+interface Props {
+ readonly isVisible: boolean
+ readonly onDismiss: () => void
+ readonly item: () => AppToken
+}
+
+export const DialogDetailsView: React.FC = (props) => {
+ if (!props.isVisible) return null
+
+ return (
+
+
+
+
+
+ Details
+
+
+
+
+
+
+
+ ADDRESS DETAILS
+
+
+
+
+
+
+ Cancel
+
+
+
+
+
+ )
+};
+
+const styles = StyleSheet.create({
+ container: {
+ borderRadius: 24,
+ width: '88%',
+ backgroundColor: '#23262F',
+ paddingBottom: 24
+ },
+
+ header: {
+ height: 40,
+ paddingHorizontal: 24,
+ marginTop: 28,
+ flexDirection: 'row',
+ alignItems: 'center'
+ },
+
+ input: {
+ borderWidth: 1,
+ borderColor: '#353945',
+ borderRadius: 12,
+ marginTop: 32,
+ padding: 16,
+ marginHorizontal: 24,
+ },
+
+ footer: {
+ paddingHorizontal: 24,
+ marginTop: 32,
+ flexDirection: 'row'
+ },
+
+ button: {
+ flex: 1,
+ alignItems: 'center',
+ justifyContent: 'center',
+ height: 48,
+ borderWidth: 2,
+ borderColor: '#353945',
+ borderRadius: 1000
+ }
+})
diff --git a/Nftzi/DialogMintView.tsx b/Nftzi/DialogMintView.tsx
new file mode 100644
index 00000000..ae90afa0
--- /dev/null
+++ b/Nftzi/DialogMintView.tsx
@@ -0,0 +1,106 @@
+import React, {useCallback, useState} from 'react';
+import {Modal, StyleSheet, TextInput, TouchableOpacity, View} from "react-native";
+import {AppText} from "./AppText";
+import AppIcon from "./assets/AppIcon";
+
+interface Props {
+ readonly isVisible: boolean
+ readonly onDismiss: () => void
+ readonly onMintAddPress: (link: string) => void
+}
+
+export const DialogMintView: React.FC = (props) => {
+ const [mintLink, setMintLink] = useState()
+
+ const onMintAddPress = useCallback(() => {
+ if (!mintLink) return
+ props.onMintAddPress(mintLink)
+ props.onDismiss()
+ }, [mintLink, props.onMintAddPress])
+
+ return (
+
+
+
+
+
+ Mint NFT
+
+
+
+
+
+
+
+ ENTER ADDRESS
+
+
+
+
+
+ Mint
+
+
+
+ Cancel
+
+
+
+
+
+ )
+};
+
+const styles = StyleSheet.create({
+ container: {
+ borderRadius: 24,
+ width: '88%',
+ backgroundColor: '#23262F',
+ paddingBottom: 24
+ },
+
+ header: {
+ height: 40,
+ paddingHorizontal: 24,
+ marginTop: 24,
+ marginBottom: 32,
+ flexDirection: 'row',
+ alignItems: 'center'
+ },
+
+ input: {
+ backgroundColor: '#141416',
+ borderRadius: 12,
+ paddingHorizontal: 8,
+ paddingVertical: 8,
+ marginTop: 12,
+ color: '#E6E8EC'
+ },
+
+ footer: {
+ paddingHorizontal: 24,
+ marginTop: 32,
+ flexDirection: 'column'
+ },
+
+ button: {
+ width: '100%',
+ alignItems: 'center',
+ justifyContent: 'center',
+ height: 48,
+ borderWidth: 2,
+ borderColor: '#353945',
+ borderRadius: 1000
+ }
+})
diff --git a/Nftzi/DialogWithdrawView.tsx b/Nftzi/DialogWithdrawView.tsx
new file mode 100644
index 00000000..b3dd52f5
--- /dev/null
+++ b/Nftzi/DialogWithdrawView.tsx
@@ -0,0 +1,168 @@
+import React, {useCallback, useEffect, useRef, useState} from 'react';
+import {Modal, StyleSheet, TouchableOpacity, View} from "react-native";
+import {AppText} from "./AppText";
+import AppIcon from "./assets/AppIcon";
+import {AppToken} from "./RentLendTokensView";
+import {Slice, VictoryPie} from "victory-native";
+import {newLockedGold} from "@celo/contractkit/lib/generated/LockedGold";
+import {balanceElapsedInPercent, secondsElapsed, secondsElapsedInPercent} from "./date.utils";
+import {WithdrawChartView} from "./WithdrawChartView";
+import {isOwner, showWithdrawDetails} from "./constants";
+import moment from "moment";
+
+
+// import { BlurView } from 'expo-blur';
+
+interface Props {
+ readonly isVisible: boolean
+ readonly onDismiss: () => void
+ readonly onWithdraw: (tokeId: AppToken['tokenId']) => void
+ readonly address: string
+ readonly item: () => AppToken
+}
+
+const maxBalance = '990000000000000000'
+export const DialogWithdrawView: React.FC = (props) => {
+ ///let token: AppToken = {...props.item(), balance: '940000000', rentedAt: moment('2021-11-28 10:06').unix().toString()}
+ let token: AppToken = props.item()
+ const rentedAt = parseInt(token.rentedAt, 10)
+
+ console.log(rentedAt, secondsElapsedInPercent(rentedAt), secondsElapsed(rentedAt))
+ const timeoutRef = useRef | null>(null)
+ const [time, setTime] = useState(secondsElapsedInPercent(rentedAt))
+ const [balance, setBalance] = useState(() => {
+ if (isOwner(token, props.address)) {
+ //return balanceElapsedInPercent(rentedAt, parseInt(token.balance, 10))
+ //return 1.0 - (parseInt(maxBalance, 10) - parseInt(token.balance, 10)) / parseInt(maxBalance, 10)
+ }
+ console.log('balance', (parseInt(maxBalance, 10) - parseInt(token.balance, 10)) / parseInt(maxBalance, 10))
+ return (parseInt(maxBalance, 10) - parseInt(token.balance, 10)) / parseInt(maxBalance, 10)
+ //return 0
+ })
+ const timeRef = useRef(secondsElapsed(rentedAt))
+
+ const height = 250
+
+ useEffect(() => {
+
+ const time = () => {
+ setTime((prev) => {
+ if (prev >= 1) {
+ if (timeoutRef.current) clearTimeout(timeoutRef.current)
+ setBalance(1)
+ return 1
+ }
+ timeoutRef.current = setTimeout(time, 1000)
+ timeRef.current += 1
+ return timeRef.current / 60
+ })
+ }
+
+ timeoutRef.current = setTimeout(time, 1000)
+
+ return () => {
+ if (timeoutRef.current) clearTimeout(timeoutRef.current)
+ }
+ }, [])
+
+ const onWithdrawPress = useCallback(() => {
+ props.onDismiss()
+ props.onWithdraw(token.tokenId)
+ }, [])
+
+ return (
+
+
+
+
+
+ Rented
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.00
+
+
+ 0.001
+
+ 0.0165 CELO / SEC
+
+ 1.00
+
+
+
+
+ {showWithdrawDetails(token, props.address) && (
+ // {true && (
+
+ Withdraw
+
+ )}
+
+
+
+
+ Cancel
+
+
+
+
+
+ )
+};
+
+const styles = StyleSheet.create({
+ container: {
+ borderRadius: 24,
+ width: '88%',
+ backgroundColor: '#23262F',
+ paddingBottom: 24
+ },
+
+ header: {
+ height: 40,
+ paddingHorizontal: 24,
+ marginTop: 28,
+ flexDirection: 'row',
+ alignItems: 'center'
+ },
+
+ input: {
+ borderWidth: 1,
+ borderColor: '#353945',
+ borderRadius: 12,
+ marginTop: 32,
+ padding: 16,
+ marginHorizontal: 24,
+ },
+
+ footer: {
+ paddingHorizontal: 24,
+ marginTop: 32,
+ flexDirection: 'column'
+ },
+
+ button: {
+ width: '100%',
+ alignItems: 'center',
+ justifyContent: 'center',
+ height: 48,
+ borderWidth: 2,
+ borderColor: '#353945',
+ borderRadius: 1000
+ },
+})
diff --git a/Nftzi/LICENSE b/Nftzi/LICENSE
new file mode 100644
index 00000000..cf1ab25d
--- /dev/null
+++ b/Nftzi/LICENSE
@@ -0,0 +1,24 @@
+This is free and unencumbered software released into the public domain.
+
+Anyone is free to copy, modify, publish, use, compile, sell, or
+distribute this software, either in source code form or as a compiled
+binary, for any purpose, commercial or non-commercial, and by any
+means.
+
+In jurisdictions that recognize copyright laws, the author or authors
+of this software dedicate any and all copyright interest in the
+software to the public domain. We make this dedication for the benefit
+of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of
+relinquishment in perpetuity of all present and future rights to this
+software under copyright law.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+For more information, please refer to
diff --git a/Nftzi/Readme.md b/Nftzi/Readme.md
new file mode 100644
index 00000000..aa6db8c4
--- /dev/null
+++ b/Nftzi/Readme.md
@@ -0,0 +1,92 @@
+# ⚡ Nftzi ⚡
+
+## Project Name : Nftzi
+### Team name : Birden
+#### Hackathon Track
+
+- NFT Track
+- DeFi Track
+
+##### Portugal, Lisbon
+
+
+##### Team Members
+- Vadim Filimonov, Smart contract and app development
+
+
+- Vladislava Bazhanova, Product Designer,
+Worked on product concept, developed UX/UI, engaged in Product Strategy.
+
+
+#### Project Description
+Providing real-time finance for the CELO ecosystem using the Nftzi app as an example. Nftzi is an app that enables to turn your NFT into income streams. You can mint, rent and lend NFTs.
+
+#### Summary
+Flow dApp
+
+As an NFT “Lender”
+Create and lend as many NFTs as you like
+Your NFTs are protected and will always be returned to you
+Get richer. Withdraw money at least every second
+
+As an NFT “Renterr”
+Choose any NFT and rent several at once
+Use them for your needs: hype, work, happiness of being an owner
+Pay only for the time you rent
+
+#### URLs
+Github Repo : https://github.com/fffilimonov/nftzi
+Live: loom : https://youtu.be/V7RP7Z6wPjk
+
+#### Presentation
+https://app.pitch.com/app/presentation/c8f5f4e1-fe52-4974-b103-a92d2064c761/1f81099c-e56c-4534-9f5b-a76c87306130
+
+#### Next Steps
+Nftzi
+Flexible settings for rentals NFT
+Dynamic Fee Structures
+ERC-1155 token standard implementation
+UI/UX
+Implement into platform marketplaces
+And a lot more!
+
+Provide an opportunity to get money in real time for renting or selling any goods or services. NFTzi is one of Birden's products, and in the future we will create different products based on this technology.
+
+#### License
+https://github.com/fffilimonov/Nftzi/blob/master/LICENSE
+
+## What is Nftizi?
+Nftzi is an app that enables to turn your NFT into income streams.
+You can mint, rent and lend NFTs.
+
+## How it Works?
+###Flow dApp
+
+**As an NFT “Lender”**
+- Create and lend as many NFTs as you like
+- Your NFTs are protected and will always be returned to you
+- Get richer. Withdraw money at least every second
+
+**As an NFT “Renterr”**
+- Choose any NFT and rent several at once
+- Use them for your needs: hype, work, happiness of being an owner
+- Pay only for the time you rent
+
+## Our Goal
+Provide an opportunity to get money in real time for renting or selling any goods or services. NFTzi is one of Birden's products, and in the future we will create different products based on this technology.
+
+## Future Implementations
+- Flexible settings for rentals NFT
+- Dynamic Fee Structures
+- ERC-1155 token standard implementation
+- UI/UX
+- Implement into platform marketplaces
+- And a lot more!
+
+## GitHub Repos
+Front: link Contracts: link
+
+## Stay up to date with our future products!
+Twitter [@Nftzi_](https://twitter.com/Nftzi_)
+
+
diff --git a/Nftzi/RentLendTokensView.tsx b/Nftzi/RentLendTokensView.tsx
new file mode 100644
index 00000000..88297be6
--- /dev/null
+++ b/Nftzi/RentLendTokensView.tsx
@@ -0,0 +1,298 @@
+import React, {forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState} from 'react';
+import {
+ ActivityIndicator,
+ Dimensions,
+ FlatList,
+ Image,
+ ListRenderItemInfo,
+ StyleSheet,
+ TouchableOpacity,
+ View
+} from "react-native";
+import {AppText} from "./AppText";
+import Web3 from "web3";
+import {newKitFromWeb3} from '@celo/contractkit';
+import NftziContract from "./abi/Nftzi.json";
+import {getCurrecyContract, isOwner, showRentedDetails, showWithdrawDetails} from './constants';
+import {DialogDetailsView} from "./DialogDetailsView";
+import {useSafeAreaInsets} from "react-native-safe-area-context";
+import AppIcon from "./assets/AppIcon";
+import {StatusBar} from "expo-status-bar";
+import {DialogWithdrawView} from "./DialogWithdrawView";
+
+export interface AppToken {
+ tokenId: string
+ creator: string
+ rentedBy: string
+ URI: string
+ rentedAt: string
+ balance: string
+}
+
+const screenWidth = Dimensions.get('window').width
+
+interface Props {
+ readonly address: string
+ readonly onMintPress: () => void
+ readonly onRentPress: (tokenId: AppToken['tokenId']) => void
+ readonly onRedeemPress: (tokeId: AppToken['tokenId']) => void
+}
+
+interface Ref {
+ loadTokens: () => void
+}
+
+export const RentLendTokensView = forwardRef[((props, ref) => {
+ const [tab, setTab] = useState<'rent' | 'lend'>('rent')
+ const [loading, setLoading] = useState(true)
+ const [tokens, setTokens] = useState([])
+ const refTokens = useRef([])
+ const detailTokenRef = useRef()
+ const [isDialogDetailVisible, setDialogDetailVisible] = useState(false)
+ const [isDialogWithdrawVisible, setDialogWithdrawVisible] = useState(false)
+ const insets = useSafeAreaInsets()
+
+
+ const loadTokens = useCallback(async () => {
+ console.log('App', 'loadTokens')
+ setLoading(true)
+
+ const web3 = new Web3('wss://alfajores-forno.celo-testnet.org/ws');
+ // @ts-ignore
+ const kit = newKitFromWeb3(web3);
+
+ const currencyContract = await getCurrecyContract('CELO', kit);
+
+ const networkId = await web3.eth.net.getId();
+ const deployedNetwork = NftziContract.networks[networkId];
+ const nftzi = new web3.eth.Contract(
+ //@ts-ignore
+ NftziContract.abi,
+ deployedNetwork.address
+ );
+
+ refTokens.current = await nftzi.methods.tokensInfo().call()
+ refTokens.current = refTokens.current.filter(t => t.tokenId !== "0")
+ setTokens(refTokens.current.filter(t => {
+ if (tab === 'rent') {
+ return t.creator.toLowerCase() !== props.address.toLowerCase()
+ }
+ return t.creator.toLowerCase() === props.address.toLowerCase()
+ }))
+ console.log('App', 'tokens loaded')
+ setLoading(false)
+ }, [tab]);
+
+
+ useImperativeHandle(ref, () => ({
+ loadTokens
+ }), [loadTokens])
+
+ useEffect(() => {
+ setTokens(refTokens.current.filter(t => {
+ if (tab === 'rent') {
+ return t.creator.toLowerCase() !== props.address.toLowerCase()
+ }
+ return t.creator.toLowerCase() === props.address.toLowerCase()
+ }))
+ }, [tab])
+
+ const onDetailsPress = useCallback((token: AppToken) => {
+ detailTokenRef.current = token
+ if (showWithdrawDetails(token, props.address) || showRentedDetails(token, props.address)) {
+ // if (true) {
+ setDialogWithdrawVisible(true)
+ return
+ }
+ setDialogDetailVisible(true)
+ }, [])
+
+ const renderItem = useCallback((info: ListRenderItemInfo) => {
+ console.log(info.item.tokenId, info.item.creator, info.item.rentedBy, info.item.rentedAt, info.item.balance)
+ return
+ {!!info.item.URI && (
+
+ )}
+
+ {!info.item.URI && (
+
+ )}
+
+
+ Current price
+ 1.00 CLEO
+
+ {(showRentedDetails(info.item, props.address) || showWithdrawDetails(info.item, props.address) || isOwner(info.item, props.address)) && (
+ onDetailsPress(info.item)}>
+ View Details
+
+ )}
+
+ {(!isOwner(info.item, props.address) && parseInt(info.item.rentedAt, 10) === 0) && (
+ props.onRentPress(info.item.tokenId)}>
+ RENT NOW
+
+ )}
+
+
+ }, [onDetailsPress])
+
+ return (
+
+
+
+ {tab === 'rent' ? 'Rent' : 'Lend'}
+
+ {tab === 'lend' && (
+
+
+
+ Mint NFT
+
+
+
+ )}
+
+
+
+ style={{flex: 1}}
+ data={tokens}
+ refreshing={loading}
+ onRefresh={loadTokens}
+ keyExtractor={(item) => item.tokenId.toString()}
+ contentContainerStyle={styles.contentContainer}
+ renderItem={renderItem}
+ />
+
+
+ setTab('rent')}
+ >
+
+
+
+ setTab('lend')}
+ >
+
+
+
+
+ setDialogDetailVisible(false)}
+ item={() => detailTokenRef.current!}
+ />
+
+ {isDialogWithdrawVisible && (
+ setDialogWithdrawVisible(false)}
+ item={() => detailTokenRef.current!}
+ />
+ )}
+
+
+ )
+});
+
+const styles = StyleSheet.create({
+ container: {
+ flex: 1,
+ backgroundColor: '#141416'
+ },
+
+ header: {
+ paddingHorizontal: 24,
+ marginTop: 24,
+ marginBottom: 16
+ },
+
+ buttonsContainer: {
+ flexDirection: 'row',
+ height: 48,
+ width: '100%',
+ paddingHorizontal: 24,
+ position: 'absolute',
+ left: 0,
+ right: 0,
+ bottom: 24
+ },
+
+ button: {
+ flex: 1,
+ height: 48,
+ paddingHorizontal: 16,
+ borderRadius: 48 / 2,
+ backgroundColor: 'white',
+ alignItems: 'center',
+ justifyContent: 'center'
+ },
+
+
+ selectedButton: {
+ backgroundColor: '#353945',
+ },
+
+
+ contentContainer: {
+ paddingBottom: 24 + 48 + 16,
+ paddingHorizontal: 24
+ },
+
+
+ listItemContainer: {
+ backgroundColor: '#353945',
+ borderRadius: 16,
+ width: '100%',
+ minHeight: screenWidth - 48,
+ marginBottom: 16,
+ overflow: 'hidden'
+ },
+
+ listItemBottom: {
+ paddingHorizontal: 16,
+ paddingBottom: 16,
+ paddingTop: 14
+ },
+
+ listItemPrice: {
+ marginTop: 4,
+ textAlign: 'center'
+ },
+
+ detailsButton: {
+ height: 48,
+ borderRadius: 1000,
+ borderWidth: 2,
+ borderColor: 'white',
+ alignItems: 'center',
+ justifyContent: 'center',
+ marginTop: 16
+ },
+
+ rentButton: {
+ height: 48,
+ borderRadius: 1000,
+ backgroundColor: '#141416',
+ alignItems: 'center',
+ justifyContent: 'center',
+ marginTop: 16
+ },
+
+ mintButton: {
+ backgroundColor: '#353945',
+ height: 64,
+ borderRadius: 16,
+ paddingHorizontal: 16,
+ marginTop: 20,
+ flexDirection: 'row',
+ alignItems: 'center'
+ }
+})
diff --git a/Nftzi/WithdrawChartView.tsx b/Nftzi/WithdrawChartView.tsx
new file mode 100644
index 00000000..4b123cca
--- /dev/null
+++ b/Nftzi/WithdrawChartView.tsx
@@ -0,0 +1,31 @@
+import React, {memo} from 'react';
+import {VictoryPie} from "victory-native";
+import {View} from "react-native";
+
+interface Props {
+ readonly value: number
+ readonly color: string
+ readonly containerHeight: number
+ readonly height: number
+}
+
+export const WithdrawChartView: React.FC = memo((props) => {
+ return (
+
+ 2}
+ cornerRadius={({ datum }) => 10}
+ innerRadius={props.height * 0.42}
+ startAngle={90}
+ endAngle={-90}
+ animate={{duration: 250}}
+ colorScale={[props.color, 'transparent'].reverse()}
+ data={[{ y: props.value, label: ' '}, {y: 1 - props.value, label: ' '}].reverse()}
+ />
+
+ )
+});
diff --git a/Nftzi/abi/Address.json b/Nftzi/abi/Address.json
new file mode 100644
index 00000000..18cbf94a
--- /dev/null
+++ b/Nftzi/abi/Address.json
@@ -0,0 +1,8066 @@
+{
+ "contractName": "Address",
+ "abi": [],
+ "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x3336baae5cf23e94274d75336e2d412193be508504aee185e61dc7d58cd05c8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39a05eec7083dfa0cc7e0cbfe6cd1bd085a340af1ede93fdff3ad047c5fb3d8e\",\"dweb:/ipfs/QmVApz5fCUq2QC8gKTsNNdCmcedJ3ETHp68zR5N3WUKS4r\"]}},\"version\":1}",
+ "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206db9bd5dd3c8872e06982212be1e0ffed982c14c6d64e624a13b14e7e18225ab64736f6c634300080a0033",
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206db9bd5dd3c8872e06982212be1e0ffed982c14c6d64e624a13b14e7e18225ab64736f6c634300080a0033",
+ "immutableReferences": {},
+ "generatedSources": [],
+ "deployedGeneratedSources": [],
+ "sourceMap": "126:7729:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
+ "deployedSourceMap": "126:7729:7:-:0;;;;;;;;",
+ "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^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 assembly {\n size := extcodesize(account)\n }\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 (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(\n address target,\n bytes memory data,\n string memory errorMessage\n ) 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(\n address target,\n bytes memory data,\n uint256 value\n ) 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(\n address target,\n bytes memory data,\n uint256 value,\n string memory errorMessage\n ) 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 (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(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n require(isContract(target), \"Address: static call to non-contract\");\n\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(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n require(isContract(target), \"Address: delegate call to non-contract\");\n\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the\n * revert reason using the provided one.\n *\n * _Available since v4.3._\n */\n function verifyCallResult(\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal 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 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",
+ "sourcePath": "@openzeppelin/contracts/utils/Address.sol",
+ "ast": {
+ "absolutePath": "@openzeppelin/contracts/utils/Address.sol",
+ "exportedSymbols": {
+ "Address": [
+ 1922
+ ]
+ },
+ "id": 1923,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 1627,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:7"
+ },
+ {
+ "abstract": false,
+ "baseContracts": [],
+ "canonicalName": "Address",
+ "contractDependencies": [],
+ "contractKind": "library",
+ "documentation": {
+ "id": 1628,
+ "nodeType": "StructuredDocumentation",
+ "src": "58:67:7",
+ "text": " @dev Collection of functions related to the address type"
+ },
+ "fullyImplemented": true,
+ "id": 1922,
+ "linearizedBaseContracts": [
+ 1922
+ ],
+ "name": "Address",
+ "nameLocation": "134:7:7",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "body": {
+ "id": 1644,
+ "nodeType": "Block",
+ "src": "784:311:7",
+ "statements": [
+ {
+ "assignments": [
+ 1637
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1637,
+ "mutability": "mutable",
+ "name": "size",
+ "nameLocation": "989:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1644,
+ "src": "981:12:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1636,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "981:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 1638,
+ "nodeType": "VariableDeclarationStatement",
+ "src": "981:12:7"
+ },
+ {
+ "AST": {
+ "nodeType": "YulBlock",
+ "src": "1012:52:7",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1026:28:7",
+ "value": {
+ "arguments": [
+ {
+ "name": "account",
+ "nodeType": "YulIdentifier",
+ "src": "1046:7:7"
+ }
+ ],
+ "functionName": {
+ "name": "extcodesize",
+ "nodeType": "YulIdentifier",
+ "src": "1034:11:7"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1034:20:7"
+ },
+ "variableNames": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "1026:4:7"
+ }
+ ]
+ }
+ ]
+ },
+ "evmVersion": "london",
+ "externalReferences": [
+ {
+ "declaration": 1631,
+ "isOffset": false,
+ "isSlot": false,
+ "src": "1046:7:7",
+ "valueSize": 1
+ },
+ {
+ "declaration": 1637,
+ "isOffset": false,
+ "isSlot": false,
+ "src": "1026:4:7",
+ "valueSize": 1
+ }
+ ],
+ "id": 1639,
+ "nodeType": "InlineAssembly",
+ "src": "1003:61:7"
+ },
+ {
+ "expression": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 1642,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 1640,
+ "name": "size",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1637,
+ "src": "1080:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 1641,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1087:1:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "1080:8:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 1635,
+ "id": 1643,
+ "nodeType": "Return",
+ "src": "1073:15:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1629,
+ "nodeType": "StructuredDocumentation",
+ "src": "148:565:7",
+ "text": " @dev Returns true if `account` is a contract.\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 Among others, `isContract` will return false for the following\n types 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": 1645,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "isContract",
+ "nameLocation": "727:10:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1632,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1631,
+ "mutability": "mutable",
+ "name": "account",
+ "nameLocation": "746:7:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1645,
+ "src": "738:15:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1630,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "738:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "737:17:7"
+ },
+ "returnParameters": {
+ "id": 1635,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1634,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1645,
+ "src": "778:4:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1633,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "778:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "777:6:7"
+ },
+ "scope": 1922,
+ "src": "718:377:7",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1678,
+ "nodeType": "Block",
+ "src": "2083:241:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 1660,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1656,
+ "name": "this",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967268,
+ "src": "2109:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Address_$1922",
+ "typeString": "library Address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_contract$_Address_$1922",
+ "typeString": "library Address"
+ }
+ ],
+ "id": 1655,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "2101:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1654,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2101:7:7",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1657,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2101:13:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1658,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "balance",
+ "nodeType": "MemberAccess",
+ "src": "2101:21:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 1659,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1650,
+ "src": "2126:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "2101:31:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365",
+ "id": 1661,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2134:31:7",
+ "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": 1653,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "2093:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1662,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2093:73:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1663,
+ "nodeType": "ExpressionStatement",
+ "src": "2093:73:7"
+ },
+ {
+ "assignments": [
+ 1665,
+ null
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1665,
+ "mutability": "mutable",
+ "name": "success",
+ "nameLocation": "2183:7:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1678,
+ "src": "2178:12:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1664,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "2178:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ },
+ null
+ ],
+ "id": 1672,
+ "initialValue": {
+ "arguments": [
+ {
+ "hexValue": "",
+ "id": 1670,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2226:2:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
+ "typeString": "literal_string \"\""
+ },
+ "value": ""
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
+ "typeString": "literal_string \"\""
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
+ "typeString": "literal_string \"\""
+ }
+ ],
+ "expression": {
+ "id": 1666,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1648,
+ "src": "2196:9:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address_payable",
+ "typeString": "address payable"
+ }
+ },
+ "id": 1667,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "call",
+ "nodeType": "MemberAccess",
+ "src": "2196:14:7",
+ "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": 1669,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "names": [
+ "value"
+ ],
+ "nodeType": "FunctionCallOptions",
+ "options": [
+ {
+ "id": 1668,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1650,
+ "src": "2218:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "src": "2196:29:7",
+ "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": 1671,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2196:33:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
+ "typeString": "tuple(bool,bytes memory)"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2177:52:7"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1674,
+ "name": "success",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1665,
+ "src": "2247:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564",
+ "id": 1675,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2256:60:7",
+ "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": 1673,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "2239:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1676,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2239:78:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1677,
+ "nodeType": "ExpressionStatement",
+ "src": "2239:78:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1646,
+ "nodeType": "StructuredDocumentation",
+ "src": "1101:906:7",
+ "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\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 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\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]."
+ },
+ "id": 1679,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "sendValue",
+ "nameLocation": "2021:9:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1651,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1648,
+ "mutability": "mutable",
+ "name": "recipient",
+ "nameLocation": "2047:9:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1679,
+ "src": "2031:25:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address_payable",
+ "typeString": "address payable"
+ },
+ "typeName": {
+ "id": 1647,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2031:15:7",
+ "stateMutability": "payable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address_payable",
+ "typeString": "address payable"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1650,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "2066:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1679,
+ "src": "2058:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1649,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2058:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2030:43:7"
+ },
+ "returnParameters": {
+ "id": 1652,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2083:0:7"
+ },
+ "scope": 1922,
+ "src": "2012:312:7",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1695,
+ "nodeType": "Block",
+ "src": "3155:84:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1690,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1682,
+ "src": "3185:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1691,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1684,
+ "src": "3193:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564",
+ "id": 1692,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3199:32:7",
+ "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": 1689,
+ "name": "functionCall",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1696,
+ 1716
+ ],
+ "referencedDeclaration": 1716,
+ "src": "3172:12:7",
+ "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": 1693,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3172:60:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1688,
+ "id": 1694,
+ "nodeType": "Return",
+ "src": "3165:67:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1680,
+ "nodeType": "StructuredDocumentation",
+ "src": "2330:731:7",
+ "text": " @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 If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\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 Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._"
+ },
+ "id": 1696,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionCall",
+ "nameLocation": "3075:12:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1685,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1682,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "3096:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1696,
+ "src": "3088:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1681,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3088:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1684,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "3117:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1696,
+ "src": "3104:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1683,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "3104:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3087:35:7"
+ },
+ "returnParameters": {
+ "id": 1688,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1687,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1696,
+ "src": "3141:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1686,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "3141:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3140:14:7"
+ },
+ "scope": 1922,
+ "src": "3066:173:7",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1715,
+ "nodeType": "Block",
+ "src": "3608:76:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1709,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1699,
+ "src": "3647:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1710,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1701,
+ "src": "3655:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "hexValue": "30",
+ "id": 1711,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3661:1:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ {
+ "id": 1712,
+ "name": "errorMessage",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1703,
+ "src": "3664:12:7",
+ "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": 1708,
+ "name": "functionCallWithValue",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1736,
+ 1786
+ ],
+ "referencedDeclaration": 1786,
+ "src": "3625:21:7",
+ "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": 1713,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3625:52:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1707,
+ "id": 1714,
+ "nodeType": "Return",
+ "src": "3618:59:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1697,
+ "nodeType": "StructuredDocumentation",
+ "src": "3245:211:7",
+ "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": 1716,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionCall",
+ "nameLocation": "3470:12:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1704,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1699,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "3500:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1716,
+ "src": "3492:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1698,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3492:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1701,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "3529:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1716,
+ "src": "3516:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1700,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "3516:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1703,
+ "mutability": "mutable",
+ "name": "errorMessage",
+ "nameLocation": "3557:12:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1716,
+ "src": "3543:26:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1702,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "3543:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3482:93:7"
+ },
+ "returnParameters": {
+ "id": 1707,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1706,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1716,
+ "src": "3594:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1705,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "3594:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3593:14:7"
+ },
+ "scope": 1922,
+ "src": "3461:223:7",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1735,
+ "nodeType": "Block",
+ "src": "4189:111:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1729,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1719,
+ "src": "4228:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1730,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1721,
+ "src": "4236:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "id": 1731,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1723,
+ "src": "4242:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564",
+ "id": 1732,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4249:43:7",
+ "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": 1728,
+ "name": "functionCallWithValue",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1736,
+ 1786
+ ],
+ "referencedDeclaration": 1786,
+ "src": "4206:21:7",
+ "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": 1733,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4206:87:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1727,
+ "id": 1734,
+ "nodeType": "Return",
+ "src": "4199:94:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1717,
+ "nodeType": "StructuredDocumentation",
+ "src": "3690:351:7",
+ "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but 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": 1736,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionCallWithValue",
+ "nameLocation": "4055:21:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1724,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1719,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "4094:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1736,
+ "src": "4086:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1718,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4086:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1721,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "4123:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1736,
+ "src": "4110:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1720,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "4110:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1723,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "4145:5:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1736,
+ "src": "4137:13:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1722,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4137:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4076:80:7"
+ },
+ "returnParameters": {
+ "id": 1727,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1726,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1736,
+ "src": "4175:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1725,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "4175:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4174:14:7"
+ },
+ "scope": 1922,
+ "src": "4046:254:7",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1785,
+ "nodeType": "Block",
+ "src": "4727:320:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 1757,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1753,
+ "name": "this",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967268,
+ "src": "4753:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Address_$1922",
+ "typeString": "library Address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_contract$_Address_$1922",
+ "typeString": "library Address"
+ }
+ ],
+ "id": 1752,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "4745:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1751,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4745:7:7",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1754,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4745:13:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1755,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "balance",
+ "nodeType": "MemberAccess",
+ "src": "4745:21:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 1756,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1743,
+ "src": "4770:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "4745:30:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c",
+ "id": 1758,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4777:40:7",
+ "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": 1750,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4737:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1759,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4737:81:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1760,
+ "nodeType": "ExpressionStatement",
+ "src": "4737:81:7"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 1763,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1739,
+ "src": "4847:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 1762,
+ "name": "isContract",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1645,
+ "src": "4836:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
+ "typeString": "function (address) view returns (bool)"
+ }
+ },
+ "id": 1764,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4836:18:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374",
+ "id": 1765,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4856:31:7",
+ "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": 1761,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4828:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1766,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4828:60:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1767,
+ "nodeType": "ExpressionStatement",
+ "src": "4828:60:7"
+ },
+ {
+ "assignments": [
+ 1769,
+ 1771
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1769,
+ "mutability": "mutable",
+ "name": "success",
+ "nameLocation": "4905:7:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1785,
+ "src": "4900:12:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1768,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "4900:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1771,
+ "mutability": "mutable",
+ "name": "returndata",
+ "nameLocation": "4927:10:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1785,
+ "src": "4914:23:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1770,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "4914:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 1778,
+ "initialValue": {
+ "arguments": [
+ {
+ "id": 1776,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1741,
+ "src": "4967:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ ],
+ "expression": {
+ "id": 1772,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1739,
+ "src": "4941:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1773,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "call",
+ "nodeType": "MemberAccess",
+ "src": "4941:11:7",
+ "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": 1775,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "names": [
+ "value"
+ ],
+ "nodeType": "FunctionCallOptions",
+ "options": [
+ {
+ "id": 1774,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1743,
+ "src": "4960:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "src": "4941:25:7",
+ "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": 1777,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4941:31:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
+ "typeString": "tuple(bool,bytes memory)"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "4899:73:7"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1780,
+ "name": "success",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1769,
+ "src": "5006:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "id": 1781,
+ "name": "returndata",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1771,
+ "src": "5015:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "id": 1782,
+ "name": "errorMessage",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1745,
+ "src": "5027:12:7",
+ "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": 1779,
+ "name": "verifyCallResult",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1921,
+ "src": "4989:16:7",
+ "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": 1783,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4989:51:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1749,
+ "id": 1784,
+ "nodeType": "Return",
+ "src": "4982:58:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1737,
+ "nodeType": "StructuredDocumentation",
+ "src": "4306:237:7",
+ "text": " @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._"
+ },
+ "id": 1786,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionCallWithValue",
+ "nameLocation": "4557:21:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1746,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1739,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "4596:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1786,
+ "src": "4588:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1738,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4588:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1741,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "4625:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1786,
+ "src": "4612:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1740,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "4612:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1743,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "4647:5:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1786,
+ "src": "4639:13:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1742,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4639:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1745,
+ "mutability": "mutable",
+ "name": "errorMessage",
+ "nameLocation": "4676:12:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1786,
+ "src": "4662:26:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1744,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "4662:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4578:116:7"
+ },
+ "returnParameters": {
+ "id": 1749,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1748,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1786,
+ "src": "4713:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1747,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "4713:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4712:14:7"
+ },
+ "scope": 1922,
+ "src": "4548:499:7",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1802,
+ "nodeType": "Block",
+ "src": "5324:97:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1797,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1789,
+ "src": "5360:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1798,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1791,
+ "src": "5368:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564",
+ "id": 1799,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5374:39:7",
+ "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": 1796,
+ "name": "functionStaticCall",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1803,
+ 1838
+ ],
+ "referencedDeclaration": 1838,
+ "src": "5341:18:7",
+ "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": 1800,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5341:73:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1795,
+ "id": 1801,
+ "nodeType": "Return",
+ "src": "5334:80:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1787,
+ "nodeType": "StructuredDocumentation",
+ "src": "5053:166:7",
+ "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._"
+ },
+ "id": 1803,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionStaticCall",
+ "nameLocation": "5233:18:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1792,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1789,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "5260:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1803,
+ "src": "5252:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1788,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5252:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1791,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "5281:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1803,
+ "src": "5268:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1790,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "5268:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5251:35:7"
+ },
+ "returnParameters": {
+ "id": 1795,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1794,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1803,
+ "src": "5310:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1793,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "5310:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5309:14:7"
+ },
+ "scope": 1922,
+ "src": "5224:197:7",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1837,
+ "nodeType": "Block",
+ "src": "5763:228:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 1817,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1806,
+ "src": "5792:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 1816,
+ "name": "isContract",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1645,
+ "src": "5781:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
+ "typeString": "function (address) view returns (bool)"
+ }
+ },
+ "id": 1818,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5781:18:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7472616374",
+ "id": 1819,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5801:38:7",
+ "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": 1815,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "5773:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1820,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5773:67:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1821,
+ "nodeType": "ExpressionStatement",
+ "src": "5773:67:7"
+ },
+ {
+ "assignments": [
+ 1823,
+ 1825
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1823,
+ "mutability": "mutable",
+ "name": "success",
+ "nameLocation": "5857:7:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1837,
+ "src": "5852:12:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1822,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "5852:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1825,
+ "mutability": "mutable",
+ "name": "returndata",
+ "nameLocation": "5879:10:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1837,
+ "src": "5866:23:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1824,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "5866:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 1830,
+ "initialValue": {
+ "arguments": [
+ {
+ "id": 1828,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1808,
+ "src": "5911:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ ],
+ "expression": {
+ "id": 1826,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1806,
+ "src": "5893:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1827,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "staticcall",
+ "nodeType": "MemberAccess",
+ "src": "5893:17:7",
+ "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": 1829,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5893:23:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
+ "typeString": "tuple(bool,bytes memory)"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "5851:65:7"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1832,
+ "name": "success",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1823,
+ "src": "5950:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "id": 1833,
+ "name": "returndata",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1825,
+ "src": "5959:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "id": 1834,
+ "name": "errorMessage",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1810,
+ "src": "5971:12:7",
+ "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": 1831,
+ "name": "verifyCallResult",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1921,
+ "src": "5933:16:7",
+ "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": 1835,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5933:51:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1814,
+ "id": 1836,
+ "nodeType": "Return",
+ "src": "5926:58:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1804,
+ "nodeType": "StructuredDocumentation",
+ "src": "5427:173:7",
+ "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._"
+ },
+ "id": 1838,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionStaticCall",
+ "nameLocation": "5614:18:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1811,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1806,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "5650:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1838,
+ "src": "5642:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1805,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5642:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1808,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "5679:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1838,
+ "src": "5666:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1807,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "5666:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1810,
+ "mutability": "mutable",
+ "name": "errorMessage",
+ "nameLocation": "5707:12:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1838,
+ "src": "5693:26:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1809,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "5693:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5632:93:7"
+ },
+ "returnParameters": {
+ "id": 1814,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1813,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1838,
+ "src": "5749:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1812,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "5749:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5748:14:7"
+ },
+ "scope": 1922,
+ "src": "5605:386:7",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1854,
+ "nodeType": "Block",
+ "src": "6267:101:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1849,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1841,
+ "src": "6305:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1850,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1843,
+ "src": "6313:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564",
+ "id": 1851,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "6319:41:7",
+ "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": 1848,
+ "name": "functionDelegateCall",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1855,
+ 1890
+ ],
+ "referencedDeclaration": 1890,
+ "src": "6284:20:7",
+ "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": 1852,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6284:77:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1847,
+ "id": 1853,
+ "nodeType": "Return",
+ "src": "6277:84:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1839,
+ "nodeType": "StructuredDocumentation",
+ "src": "5997:168:7",
+ "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._"
+ },
+ "id": 1855,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionDelegateCall",
+ "nameLocation": "6179:20:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1844,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1841,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "6208:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1855,
+ "src": "6200:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1840,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "6200:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1843,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "6229:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1855,
+ "src": "6216:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1842,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "6216:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "6199:35:7"
+ },
+ "returnParameters": {
+ "id": 1847,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1846,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1855,
+ "src": "6253:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1845,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "6253:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "6252:14:7"
+ },
+ "scope": 1922,
+ "src": "6170:198:7",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1889,
+ "nodeType": "Block",
+ "src": "6709:232:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 1869,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1858,
+ "src": "6738:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 1868,
+ "name": "isContract",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1645,
+ "src": "6727:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
+ "typeString": "function (address) view returns (bool)"
+ }
+ },
+ "id": 1870,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6727:18:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374",
+ "id": 1871,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "6747:40:7",
+ "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": 1867,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "6719:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1872,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6719:69:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1873,
+ "nodeType": "ExpressionStatement",
+ "src": "6719:69:7"
+ },
+ {
+ "assignments": [
+ 1875,
+ 1877
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1875,
+ "mutability": "mutable",
+ "name": "success",
+ "nameLocation": "6805:7:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1889,
+ "src": "6800:12:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1874,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "6800:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1877,
+ "mutability": "mutable",
+ "name": "returndata",
+ "nameLocation": "6827:10:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1889,
+ "src": "6814:23:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1876,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "6814:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 1882,
+ "initialValue": {
+ "arguments": [
+ {
+ "id": 1880,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1860,
+ "src": "6861:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ ],
+ "expression": {
+ "id": 1878,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1858,
+ "src": "6841:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1879,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "delegatecall",
+ "nodeType": "MemberAccess",
+ "src": "6841:19:7",
+ "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": 1881,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6841:25:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
+ "typeString": "tuple(bool,bytes memory)"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "6799:67:7"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1884,
+ "name": "success",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1875,
+ "src": "6900:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "id": 1885,
+ "name": "returndata",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1877,
+ "src": "6909:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "id": 1886,
+ "name": "errorMessage",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1862,
+ "src": "6921:12:7",
+ "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": 1883,
+ "name": "verifyCallResult",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1921,
+ "src": "6883:16:7",
+ "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": 1887,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6883:51:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1866,
+ "id": 1888,
+ "nodeType": "Return",
+ "src": "6876:58:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1856,
+ "nodeType": "StructuredDocumentation",
+ "src": "6374:175:7",
+ "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._"
+ },
+ "id": 1890,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionDelegateCall",
+ "nameLocation": "6563:20:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1863,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1858,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "6601:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1890,
+ "src": "6593:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1857,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "6593:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1860,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "6630:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1890,
+ "src": "6617:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1859,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "6617:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1862,
+ "mutability": "mutable",
+ "name": "errorMessage",
+ "nameLocation": "6658:12:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1890,
+ "src": "6644:26:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1861,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "6644:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "6583:93:7"
+ },
+ "returnParameters": {
+ "id": 1866,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1865,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1890,
+ "src": "6695:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1864,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "6695:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "6694:14:7"
+ },
+ "scope": 1922,
+ "src": "6554:387:7",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1920,
+ "nodeType": "Block",
+ "src": "7321:532:7",
+ "statements": [
+ {
+ "condition": {
+ "id": 1902,
+ "name": "success",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1893,
+ "src": "7335:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "falseBody": {
+ "id": 1918,
+ "nodeType": "Block",
+ "src": "7392:455:7",
+ "statements": [
+ {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 1909,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "expression": {
+ "id": 1906,
+ "name": "returndata",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1895,
+ "src": "7476:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "id": 1907,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "src": "7476:17:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 1908,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7496:1:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "7476:21:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "falseBody": {
+ "id": 1916,
+ "nodeType": "Block",
+ "src": "7784:53:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1913,
+ "name": "errorMessage",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1897,
+ "src": "7809:12:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ ],
+ "id": 1912,
+ "name": "revert",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967277,
+ 4294967277
+ ],
+ "referencedDeclaration": 4294967277,
+ "src": "7802:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (string memory) pure"
+ }
+ },
+ "id": 1914,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7802:20:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1915,
+ "nodeType": "ExpressionStatement",
+ "src": "7802:20:7"
+ }
+ ]
+ },
+ "id": 1917,
+ "nodeType": "IfStatement",
+ "src": "7472:365:7",
+ "trueBody": {
+ "id": 1911,
+ "nodeType": "Block",
+ "src": "7499:279:7",
+ "statements": [
+ {
+ "AST": {
+ "nodeType": "YulBlock",
+ "src": "7619:145:7",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "7641:40:7",
+ "value": {
+ "arguments": [
+ {
+ "name": "returndata",
+ "nodeType": "YulIdentifier",
+ "src": "7670:10:7"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "7664:5:7"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7664:17:7"
+ },
+ "variables": [
+ {
+ "name": "returndata_size",
+ "nodeType": "YulTypedName",
+ "src": "7645:15:7",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7713:2:7",
+ "type": "",
+ "value": "32"
+ },
+ {
+ "name": "returndata",
+ "nodeType": "YulIdentifier",
+ "src": "7717:10:7"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "7709:3:7"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7709:19:7"
+ },
+ {
+ "name": "returndata_size",
+ "nodeType": "YulIdentifier",
+ "src": "7730:15:7"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "7702:6:7"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7702:44:7"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7702:44:7"
+ }
+ ]
+ },
+ "evmVersion": "london",
+ "externalReferences": [
+ {
+ "declaration": 1895,
+ "isOffset": false,
+ "isSlot": false,
+ "src": "7670:10:7",
+ "valueSize": 1
+ },
+ {
+ "declaration": 1895,
+ "isOffset": false,
+ "isSlot": false,
+ "src": "7717:10:7",
+ "valueSize": 1
+ }
+ ],
+ "id": 1910,
+ "nodeType": "InlineAssembly",
+ "src": "7610:154:7"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "id": 1919,
+ "nodeType": "IfStatement",
+ "src": "7331:516:7",
+ "trueBody": {
+ "id": 1905,
+ "nodeType": "Block",
+ "src": "7344:42:7",
+ "statements": [
+ {
+ "expression": {
+ "id": 1903,
+ "name": "returndata",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1895,
+ "src": "7365:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1901,
+ "id": 1904,
+ "nodeType": "Return",
+ "src": "7358:17:7"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1891,
+ "nodeType": "StructuredDocumentation",
+ "src": "6947:209:7",
+ "text": " @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason using the provided one.\n _Available since v4.3._"
+ },
+ "id": 1921,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "verifyCallResult",
+ "nameLocation": "7170:16:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1898,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1893,
+ "mutability": "mutable",
+ "name": "success",
+ "nameLocation": "7201:7:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1921,
+ "src": "7196:12:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1892,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "7196:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1895,
+ "mutability": "mutable",
+ "name": "returndata",
+ "nameLocation": "7231:10:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1921,
+ "src": "7218:23:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1894,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "7218:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1897,
+ "mutability": "mutable",
+ "name": "errorMessage",
+ "nameLocation": "7265:12:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1921,
+ "src": "7251:26:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1896,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "7251:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "7186:97:7"
+ },
+ "returnParameters": {
+ "id": 1901,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1900,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1921,
+ "src": "7307:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1899,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "7307:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "7306:14:7"
+ },
+ "scope": 1922,
+ "src": "7161:692:7",
+ "stateMutability": "pure",
+ "virtual": false,
+ "visibility": "internal"
+ }
+ ],
+ "scope": 1923,
+ "src": "126:7729:7",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:7823:7"
+ },
+ "legacyAST": {
+ "absolutePath": "@openzeppelin/contracts/utils/Address.sol",
+ "exportedSymbols": {
+ "Address": [
+ 1922
+ ]
+ },
+ "id": 1923,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 1627,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:7"
+ },
+ {
+ "abstract": false,
+ "baseContracts": [],
+ "canonicalName": "Address",
+ "contractDependencies": [],
+ "contractKind": "library",
+ "documentation": {
+ "id": 1628,
+ "nodeType": "StructuredDocumentation",
+ "src": "58:67:7",
+ "text": " @dev Collection of functions related to the address type"
+ },
+ "fullyImplemented": true,
+ "id": 1922,
+ "linearizedBaseContracts": [
+ 1922
+ ],
+ "name": "Address",
+ "nameLocation": "134:7:7",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "body": {
+ "id": 1644,
+ "nodeType": "Block",
+ "src": "784:311:7",
+ "statements": [
+ {
+ "assignments": [
+ 1637
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1637,
+ "mutability": "mutable",
+ "name": "size",
+ "nameLocation": "989:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1644,
+ "src": "981:12:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1636,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "981:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 1638,
+ "nodeType": "VariableDeclarationStatement",
+ "src": "981:12:7"
+ },
+ {
+ "AST": {
+ "nodeType": "YulBlock",
+ "src": "1012:52:7",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1026:28:7",
+ "value": {
+ "arguments": [
+ {
+ "name": "account",
+ "nodeType": "YulIdentifier",
+ "src": "1046:7:7"
+ }
+ ],
+ "functionName": {
+ "name": "extcodesize",
+ "nodeType": "YulIdentifier",
+ "src": "1034:11:7"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1034:20:7"
+ },
+ "variableNames": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "1026:4:7"
+ }
+ ]
+ }
+ ]
+ },
+ "evmVersion": "london",
+ "externalReferences": [
+ {
+ "declaration": 1631,
+ "isOffset": false,
+ "isSlot": false,
+ "src": "1046:7:7",
+ "valueSize": 1
+ },
+ {
+ "declaration": 1637,
+ "isOffset": false,
+ "isSlot": false,
+ "src": "1026:4:7",
+ "valueSize": 1
+ }
+ ],
+ "id": 1639,
+ "nodeType": "InlineAssembly",
+ "src": "1003:61:7"
+ },
+ {
+ "expression": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 1642,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 1640,
+ "name": "size",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1637,
+ "src": "1080:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 1641,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1087:1:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "1080:8:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 1635,
+ "id": 1643,
+ "nodeType": "Return",
+ "src": "1073:15:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1629,
+ "nodeType": "StructuredDocumentation",
+ "src": "148:565:7",
+ "text": " @dev Returns true if `account` is a contract.\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 Among others, `isContract` will return false for the following\n types 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": 1645,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "isContract",
+ "nameLocation": "727:10:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1632,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1631,
+ "mutability": "mutable",
+ "name": "account",
+ "nameLocation": "746:7:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1645,
+ "src": "738:15:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1630,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "738:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "737:17:7"
+ },
+ "returnParameters": {
+ "id": 1635,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1634,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1645,
+ "src": "778:4:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1633,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "778:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "777:6:7"
+ },
+ "scope": 1922,
+ "src": "718:377:7",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1678,
+ "nodeType": "Block",
+ "src": "2083:241:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 1660,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1656,
+ "name": "this",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967268,
+ "src": "2109:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Address_$1922",
+ "typeString": "library Address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_contract$_Address_$1922",
+ "typeString": "library Address"
+ }
+ ],
+ "id": 1655,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "2101:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1654,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2101:7:7",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1657,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2101:13:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1658,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "balance",
+ "nodeType": "MemberAccess",
+ "src": "2101:21:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 1659,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1650,
+ "src": "2126:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "2101:31:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365",
+ "id": 1661,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2134:31:7",
+ "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": 1653,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "2093:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1662,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2093:73:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1663,
+ "nodeType": "ExpressionStatement",
+ "src": "2093:73:7"
+ },
+ {
+ "assignments": [
+ 1665,
+ null
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1665,
+ "mutability": "mutable",
+ "name": "success",
+ "nameLocation": "2183:7:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1678,
+ "src": "2178:12:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1664,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "2178:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ },
+ null
+ ],
+ "id": 1672,
+ "initialValue": {
+ "arguments": [
+ {
+ "hexValue": "",
+ "id": 1670,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2226:2:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
+ "typeString": "literal_string \"\""
+ },
+ "value": ""
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
+ "typeString": "literal_string \"\""
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
+ "typeString": "literal_string \"\""
+ }
+ ],
+ "expression": {
+ "id": 1666,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1648,
+ "src": "2196:9:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address_payable",
+ "typeString": "address payable"
+ }
+ },
+ "id": 1667,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "call",
+ "nodeType": "MemberAccess",
+ "src": "2196:14:7",
+ "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": 1669,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "names": [
+ "value"
+ ],
+ "nodeType": "FunctionCallOptions",
+ "options": [
+ {
+ "id": 1668,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1650,
+ "src": "2218:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "src": "2196:29:7",
+ "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": 1671,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2196:33:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
+ "typeString": "tuple(bool,bytes memory)"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2177:52:7"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1674,
+ "name": "success",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1665,
+ "src": "2247:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564",
+ "id": 1675,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2256:60:7",
+ "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": 1673,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "2239:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1676,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2239:78:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1677,
+ "nodeType": "ExpressionStatement",
+ "src": "2239:78:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1646,
+ "nodeType": "StructuredDocumentation",
+ "src": "1101:906:7",
+ "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\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 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\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]."
+ },
+ "id": 1679,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "sendValue",
+ "nameLocation": "2021:9:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1651,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1648,
+ "mutability": "mutable",
+ "name": "recipient",
+ "nameLocation": "2047:9:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1679,
+ "src": "2031:25:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address_payable",
+ "typeString": "address payable"
+ },
+ "typeName": {
+ "id": 1647,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2031:15:7",
+ "stateMutability": "payable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address_payable",
+ "typeString": "address payable"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1650,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "2066:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1679,
+ "src": "2058:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1649,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2058:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2030:43:7"
+ },
+ "returnParameters": {
+ "id": 1652,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2083:0:7"
+ },
+ "scope": 1922,
+ "src": "2012:312:7",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1695,
+ "nodeType": "Block",
+ "src": "3155:84:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1690,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1682,
+ "src": "3185:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1691,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1684,
+ "src": "3193:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564",
+ "id": 1692,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3199:32:7",
+ "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": 1689,
+ "name": "functionCall",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1696,
+ 1716
+ ],
+ "referencedDeclaration": 1716,
+ "src": "3172:12:7",
+ "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": 1693,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3172:60:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1688,
+ "id": 1694,
+ "nodeType": "Return",
+ "src": "3165:67:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1680,
+ "nodeType": "StructuredDocumentation",
+ "src": "2330:731:7",
+ "text": " @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 If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\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 Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._"
+ },
+ "id": 1696,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionCall",
+ "nameLocation": "3075:12:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1685,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1682,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "3096:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1696,
+ "src": "3088:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1681,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3088:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1684,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "3117:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1696,
+ "src": "3104:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1683,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "3104:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3087:35:7"
+ },
+ "returnParameters": {
+ "id": 1688,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1687,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1696,
+ "src": "3141:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1686,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "3141:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3140:14:7"
+ },
+ "scope": 1922,
+ "src": "3066:173:7",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1715,
+ "nodeType": "Block",
+ "src": "3608:76:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1709,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1699,
+ "src": "3647:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1710,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1701,
+ "src": "3655:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "hexValue": "30",
+ "id": 1711,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3661:1:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ {
+ "id": 1712,
+ "name": "errorMessage",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1703,
+ "src": "3664:12:7",
+ "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": 1708,
+ "name": "functionCallWithValue",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1736,
+ 1786
+ ],
+ "referencedDeclaration": 1786,
+ "src": "3625:21:7",
+ "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": 1713,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3625:52:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1707,
+ "id": 1714,
+ "nodeType": "Return",
+ "src": "3618:59:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1697,
+ "nodeType": "StructuredDocumentation",
+ "src": "3245:211:7",
+ "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": 1716,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionCall",
+ "nameLocation": "3470:12:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1704,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1699,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "3500:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1716,
+ "src": "3492:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1698,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3492:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1701,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "3529:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1716,
+ "src": "3516:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1700,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "3516:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1703,
+ "mutability": "mutable",
+ "name": "errorMessage",
+ "nameLocation": "3557:12:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1716,
+ "src": "3543:26:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1702,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "3543:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3482:93:7"
+ },
+ "returnParameters": {
+ "id": 1707,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1706,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1716,
+ "src": "3594:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1705,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "3594:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3593:14:7"
+ },
+ "scope": 1922,
+ "src": "3461:223:7",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1735,
+ "nodeType": "Block",
+ "src": "4189:111:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1729,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1719,
+ "src": "4228:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1730,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1721,
+ "src": "4236:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "id": 1731,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1723,
+ "src": "4242:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564",
+ "id": 1732,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4249:43:7",
+ "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": 1728,
+ "name": "functionCallWithValue",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1736,
+ 1786
+ ],
+ "referencedDeclaration": 1786,
+ "src": "4206:21:7",
+ "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": 1733,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4206:87:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1727,
+ "id": 1734,
+ "nodeType": "Return",
+ "src": "4199:94:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1717,
+ "nodeType": "StructuredDocumentation",
+ "src": "3690:351:7",
+ "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but 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": 1736,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionCallWithValue",
+ "nameLocation": "4055:21:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1724,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1719,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "4094:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1736,
+ "src": "4086:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1718,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4086:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1721,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "4123:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1736,
+ "src": "4110:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1720,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "4110:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1723,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "4145:5:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1736,
+ "src": "4137:13:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1722,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4137:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4076:80:7"
+ },
+ "returnParameters": {
+ "id": 1727,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1726,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1736,
+ "src": "4175:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1725,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "4175:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4174:14:7"
+ },
+ "scope": 1922,
+ "src": "4046:254:7",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1785,
+ "nodeType": "Block",
+ "src": "4727:320:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 1757,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1753,
+ "name": "this",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967268,
+ "src": "4753:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Address_$1922",
+ "typeString": "library Address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_contract$_Address_$1922",
+ "typeString": "library Address"
+ }
+ ],
+ "id": 1752,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "4745:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1751,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4745:7:7",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1754,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4745:13:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1755,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "balance",
+ "nodeType": "MemberAccess",
+ "src": "4745:21:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 1756,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1743,
+ "src": "4770:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "4745:30:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c",
+ "id": 1758,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4777:40:7",
+ "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": 1750,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4737:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1759,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4737:81:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1760,
+ "nodeType": "ExpressionStatement",
+ "src": "4737:81:7"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 1763,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1739,
+ "src": "4847:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 1762,
+ "name": "isContract",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1645,
+ "src": "4836:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
+ "typeString": "function (address) view returns (bool)"
+ }
+ },
+ "id": 1764,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4836:18:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374",
+ "id": 1765,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4856:31:7",
+ "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": 1761,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4828:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1766,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4828:60:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1767,
+ "nodeType": "ExpressionStatement",
+ "src": "4828:60:7"
+ },
+ {
+ "assignments": [
+ 1769,
+ 1771
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1769,
+ "mutability": "mutable",
+ "name": "success",
+ "nameLocation": "4905:7:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1785,
+ "src": "4900:12:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1768,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "4900:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1771,
+ "mutability": "mutable",
+ "name": "returndata",
+ "nameLocation": "4927:10:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1785,
+ "src": "4914:23:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1770,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "4914:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 1778,
+ "initialValue": {
+ "arguments": [
+ {
+ "id": 1776,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1741,
+ "src": "4967:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ ],
+ "expression": {
+ "id": 1772,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1739,
+ "src": "4941:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1773,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "call",
+ "nodeType": "MemberAccess",
+ "src": "4941:11:7",
+ "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": 1775,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "names": [
+ "value"
+ ],
+ "nodeType": "FunctionCallOptions",
+ "options": [
+ {
+ "id": 1774,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1743,
+ "src": "4960:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "src": "4941:25:7",
+ "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": 1777,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4941:31:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
+ "typeString": "tuple(bool,bytes memory)"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "4899:73:7"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1780,
+ "name": "success",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1769,
+ "src": "5006:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "id": 1781,
+ "name": "returndata",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1771,
+ "src": "5015:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "id": 1782,
+ "name": "errorMessage",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1745,
+ "src": "5027:12:7",
+ "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": 1779,
+ "name": "verifyCallResult",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1921,
+ "src": "4989:16:7",
+ "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": 1783,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4989:51:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1749,
+ "id": 1784,
+ "nodeType": "Return",
+ "src": "4982:58:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1737,
+ "nodeType": "StructuredDocumentation",
+ "src": "4306:237:7",
+ "text": " @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._"
+ },
+ "id": 1786,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionCallWithValue",
+ "nameLocation": "4557:21:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1746,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1739,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "4596:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1786,
+ "src": "4588:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1738,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4588:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1741,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "4625:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1786,
+ "src": "4612:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1740,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "4612:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1743,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "4647:5:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1786,
+ "src": "4639:13:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1742,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4639:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1745,
+ "mutability": "mutable",
+ "name": "errorMessage",
+ "nameLocation": "4676:12:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1786,
+ "src": "4662:26:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1744,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "4662:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4578:116:7"
+ },
+ "returnParameters": {
+ "id": 1749,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1748,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1786,
+ "src": "4713:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1747,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "4713:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4712:14:7"
+ },
+ "scope": 1922,
+ "src": "4548:499:7",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1802,
+ "nodeType": "Block",
+ "src": "5324:97:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1797,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1789,
+ "src": "5360:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1798,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1791,
+ "src": "5368:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564",
+ "id": 1799,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5374:39:7",
+ "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": 1796,
+ "name": "functionStaticCall",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1803,
+ 1838
+ ],
+ "referencedDeclaration": 1838,
+ "src": "5341:18:7",
+ "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": 1800,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5341:73:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1795,
+ "id": 1801,
+ "nodeType": "Return",
+ "src": "5334:80:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1787,
+ "nodeType": "StructuredDocumentation",
+ "src": "5053:166:7",
+ "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._"
+ },
+ "id": 1803,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionStaticCall",
+ "nameLocation": "5233:18:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1792,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1789,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "5260:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1803,
+ "src": "5252:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1788,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5252:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1791,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "5281:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1803,
+ "src": "5268:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1790,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "5268:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5251:35:7"
+ },
+ "returnParameters": {
+ "id": 1795,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1794,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1803,
+ "src": "5310:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1793,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "5310:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5309:14:7"
+ },
+ "scope": 1922,
+ "src": "5224:197:7",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1837,
+ "nodeType": "Block",
+ "src": "5763:228:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 1817,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1806,
+ "src": "5792:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 1816,
+ "name": "isContract",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1645,
+ "src": "5781:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
+ "typeString": "function (address) view returns (bool)"
+ }
+ },
+ "id": 1818,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5781:18:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7472616374",
+ "id": 1819,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5801:38:7",
+ "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": 1815,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "5773:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1820,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5773:67:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1821,
+ "nodeType": "ExpressionStatement",
+ "src": "5773:67:7"
+ },
+ {
+ "assignments": [
+ 1823,
+ 1825
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1823,
+ "mutability": "mutable",
+ "name": "success",
+ "nameLocation": "5857:7:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1837,
+ "src": "5852:12:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1822,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "5852:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1825,
+ "mutability": "mutable",
+ "name": "returndata",
+ "nameLocation": "5879:10:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1837,
+ "src": "5866:23:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1824,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "5866:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 1830,
+ "initialValue": {
+ "arguments": [
+ {
+ "id": 1828,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1808,
+ "src": "5911:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ ],
+ "expression": {
+ "id": 1826,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1806,
+ "src": "5893:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1827,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "staticcall",
+ "nodeType": "MemberAccess",
+ "src": "5893:17:7",
+ "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": 1829,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5893:23:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
+ "typeString": "tuple(bool,bytes memory)"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "5851:65:7"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1832,
+ "name": "success",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1823,
+ "src": "5950:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "id": 1833,
+ "name": "returndata",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1825,
+ "src": "5959:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "id": 1834,
+ "name": "errorMessage",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1810,
+ "src": "5971:12:7",
+ "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": 1831,
+ "name": "verifyCallResult",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1921,
+ "src": "5933:16:7",
+ "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": 1835,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5933:51:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1814,
+ "id": 1836,
+ "nodeType": "Return",
+ "src": "5926:58:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1804,
+ "nodeType": "StructuredDocumentation",
+ "src": "5427:173:7",
+ "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._"
+ },
+ "id": 1838,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionStaticCall",
+ "nameLocation": "5614:18:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1811,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1806,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "5650:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1838,
+ "src": "5642:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1805,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5642:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1808,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "5679:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1838,
+ "src": "5666:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1807,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "5666:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1810,
+ "mutability": "mutable",
+ "name": "errorMessage",
+ "nameLocation": "5707:12:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1838,
+ "src": "5693:26:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1809,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "5693:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5632:93:7"
+ },
+ "returnParameters": {
+ "id": 1814,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1813,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1838,
+ "src": "5749:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1812,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "5749:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5748:14:7"
+ },
+ "scope": 1922,
+ "src": "5605:386:7",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1854,
+ "nodeType": "Block",
+ "src": "6267:101:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1849,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1841,
+ "src": "6305:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1850,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1843,
+ "src": "6313:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564",
+ "id": 1851,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "6319:41:7",
+ "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": 1848,
+ "name": "functionDelegateCall",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1855,
+ 1890
+ ],
+ "referencedDeclaration": 1890,
+ "src": "6284:20:7",
+ "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": 1852,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6284:77:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1847,
+ "id": 1853,
+ "nodeType": "Return",
+ "src": "6277:84:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1839,
+ "nodeType": "StructuredDocumentation",
+ "src": "5997:168:7",
+ "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._"
+ },
+ "id": 1855,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionDelegateCall",
+ "nameLocation": "6179:20:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1844,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1841,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "6208:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1855,
+ "src": "6200:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1840,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "6200:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1843,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "6229:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1855,
+ "src": "6216:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1842,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "6216:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "6199:35:7"
+ },
+ "returnParameters": {
+ "id": 1847,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1846,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1855,
+ "src": "6253:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1845,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "6253:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "6252:14:7"
+ },
+ "scope": 1922,
+ "src": "6170:198:7",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1889,
+ "nodeType": "Block",
+ "src": "6709:232:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 1869,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1858,
+ "src": "6738:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 1868,
+ "name": "isContract",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1645,
+ "src": "6727:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
+ "typeString": "function (address) view returns (bool)"
+ }
+ },
+ "id": 1870,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6727:18:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374",
+ "id": 1871,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "6747:40:7",
+ "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": 1867,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "6719:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1872,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6719:69:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1873,
+ "nodeType": "ExpressionStatement",
+ "src": "6719:69:7"
+ },
+ {
+ "assignments": [
+ 1875,
+ 1877
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1875,
+ "mutability": "mutable",
+ "name": "success",
+ "nameLocation": "6805:7:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1889,
+ "src": "6800:12:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1874,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "6800:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1877,
+ "mutability": "mutable",
+ "name": "returndata",
+ "nameLocation": "6827:10:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1889,
+ "src": "6814:23:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1876,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "6814:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 1882,
+ "initialValue": {
+ "arguments": [
+ {
+ "id": 1880,
+ "name": "data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1860,
+ "src": "6861:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ ],
+ "expression": {
+ "id": 1878,
+ "name": "target",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1858,
+ "src": "6841:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1879,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "delegatecall",
+ "nodeType": "MemberAccess",
+ "src": "6841:19:7",
+ "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": 1881,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6841:25:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
+ "typeString": "tuple(bool,bytes memory)"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "6799:67:7"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1884,
+ "name": "success",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1875,
+ "src": "6900:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "id": 1885,
+ "name": "returndata",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1877,
+ "src": "6909:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ {
+ "id": 1886,
+ "name": "errorMessage",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1862,
+ "src": "6921:12:7",
+ "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": 1883,
+ "name": "verifyCallResult",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1921,
+ "src": "6883:16:7",
+ "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": 1887,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6883:51:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1866,
+ "id": 1888,
+ "nodeType": "Return",
+ "src": "6876:58:7"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1856,
+ "nodeType": "StructuredDocumentation",
+ "src": "6374:175:7",
+ "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._"
+ },
+ "id": 1890,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "functionDelegateCall",
+ "nameLocation": "6563:20:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1863,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1858,
+ "mutability": "mutable",
+ "name": "target",
+ "nameLocation": "6601:6:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1890,
+ "src": "6593:14:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1857,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "6593:7:7",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1860,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "6630:4:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1890,
+ "src": "6617:17:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1859,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "6617:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1862,
+ "mutability": "mutable",
+ "name": "errorMessage",
+ "nameLocation": "6658:12:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1890,
+ "src": "6644:26:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1861,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "6644:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "6583:93:7"
+ },
+ "returnParameters": {
+ "id": 1866,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1865,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1890,
+ "src": "6695:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1864,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "6695:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "6694:14:7"
+ },
+ "scope": 1922,
+ "src": "6554:387:7",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1920,
+ "nodeType": "Block",
+ "src": "7321:532:7",
+ "statements": [
+ {
+ "condition": {
+ "id": 1902,
+ "name": "success",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1893,
+ "src": "7335:7:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "falseBody": {
+ "id": 1918,
+ "nodeType": "Block",
+ "src": "7392:455:7",
+ "statements": [
+ {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 1909,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "expression": {
+ "id": 1906,
+ "name": "returndata",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1895,
+ "src": "7476:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "id": 1907,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "src": "7476:17:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 1908,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7496:1:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "7476:21:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "falseBody": {
+ "id": 1916,
+ "nodeType": "Block",
+ "src": "7784:53:7",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1913,
+ "name": "errorMessage",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1897,
+ "src": "7809:12:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ ],
+ "id": 1912,
+ "name": "revert",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967277,
+ 4294967277
+ ],
+ "referencedDeclaration": 4294967277,
+ "src": "7802:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (string memory) pure"
+ }
+ },
+ "id": 1914,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7802:20:7",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1915,
+ "nodeType": "ExpressionStatement",
+ "src": "7802:20:7"
+ }
+ ]
+ },
+ "id": 1917,
+ "nodeType": "IfStatement",
+ "src": "7472:365:7",
+ "trueBody": {
+ "id": 1911,
+ "nodeType": "Block",
+ "src": "7499:279:7",
+ "statements": [
+ {
+ "AST": {
+ "nodeType": "YulBlock",
+ "src": "7619:145:7",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "7641:40:7",
+ "value": {
+ "arguments": [
+ {
+ "name": "returndata",
+ "nodeType": "YulIdentifier",
+ "src": "7670:10:7"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "7664:5:7"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7664:17:7"
+ },
+ "variables": [
+ {
+ "name": "returndata_size",
+ "nodeType": "YulTypedName",
+ "src": "7645:15:7",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7713:2:7",
+ "type": "",
+ "value": "32"
+ },
+ {
+ "name": "returndata",
+ "nodeType": "YulIdentifier",
+ "src": "7717:10:7"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "7709:3:7"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7709:19:7"
+ },
+ {
+ "name": "returndata_size",
+ "nodeType": "YulIdentifier",
+ "src": "7730:15:7"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "7702:6:7"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7702:44:7"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7702:44:7"
+ }
+ ]
+ },
+ "evmVersion": "london",
+ "externalReferences": [
+ {
+ "declaration": 1895,
+ "isOffset": false,
+ "isSlot": false,
+ "src": "7670:10:7",
+ "valueSize": 1
+ },
+ {
+ "declaration": 1895,
+ "isOffset": false,
+ "isSlot": false,
+ "src": "7717:10:7",
+ "valueSize": 1
+ }
+ ],
+ "id": 1910,
+ "nodeType": "InlineAssembly",
+ "src": "7610:154:7"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "id": 1919,
+ "nodeType": "IfStatement",
+ "src": "7331:516:7",
+ "trueBody": {
+ "id": 1905,
+ "nodeType": "Block",
+ "src": "7344:42:7",
+ "statements": [
+ {
+ "expression": {
+ "id": 1903,
+ "name": "returndata",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1895,
+ "src": "7365:10:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "functionReturnParameters": 1901,
+ "id": 1904,
+ "nodeType": "Return",
+ "src": "7358:17:7"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1891,
+ "nodeType": "StructuredDocumentation",
+ "src": "6947:209:7",
+ "text": " @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason using the provided one.\n _Available since v4.3._"
+ },
+ "id": 1921,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "verifyCallResult",
+ "nameLocation": "7170:16:7",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1898,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1893,
+ "mutability": "mutable",
+ "name": "success",
+ "nameLocation": "7201:7:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1921,
+ "src": "7196:12:7",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1892,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "7196:4:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1895,
+ "mutability": "mutable",
+ "name": "returndata",
+ "nameLocation": "7231:10:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1921,
+ "src": "7218:23:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1894,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "7218:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1897,
+ "mutability": "mutable",
+ "name": "errorMessage",
+ "nameLocation": "7265:12:7",
+ "nodeType": "VariableDeclaration",
+ "scope": 1921,
+ "src": "7251:26:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1896,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "7251:6:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "7186:97:7"
+ },
+ "returnParameters": {
+ "id": 1901,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1900,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1921,
+ "src": "7307:12:7",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1899,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "7307:5:7",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "7306:14:7"
+ },
+ "scope": 1922,
+ "src": "7161:692:7",
+ "stateMutability": "pure",
+ "virtual": false,
+ "visibility": "internal"
+ }
+ ],
+ "scope": 1923,
+ "src": "126:7729:7",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:7823:7"
+ },
+ "compiler": {
+ "name": "solc",
+ "version": "0.8.10+commit.fc410830.Emscripten.clang"
+ },
+ "networks": {},
+ "schemaVersion": "3.4.1",
+ "updatedAt": "2021-11-28T13:47:02.606Z",
+ "devdoc": {
+ "details": "Collection of functions related to the address type",
+ "kind": "dev",
+ "methods": {},
+ "version": 1
+ },
+ "userdoc": {
+ "kind": "user",
+ "methods": {},
+ "version": 1
+ }
+}
\ No newline at end of file
diff --git a/Nftzi/abi/Context.json b/Nftzi/abi/Context.json
new file mode 100644
index 00000000..423c3d09
--- /dev/null
+++ b/Nftzi/abi/Context.json
@@ -0,0 +1,508 @@
+{
+ "contractName": "Context",
+ "abi": [],
+ "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x90565a39ae45c80f0468dc96c7b20d0afc3055f344c8203a0c9258239f350b9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26e8b38a7ac8e7b4463af00cf7fff1bf48ae9875765bf4f7751e100124d0bc8c\",\"dweb:/ipfs/QmWcsmkVr24xmmjfnBQZoemFniXjj3vwT78Cz6uqZW1Hux\"]}},\"version\":1}",
+ "bytecode": "0x",
+ "deployedBytecode": "0x",
+ "immutableReferences": {},
+ "generatedSources": [],
+ "deployedGeneratedSources": [],
+ "sourceMap": "",
+ "deployedSourceMap": "",
+ "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^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 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) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n",
+ "sourcePath": "@openzeppelin/contracts/utils/Context.sol",
+ "ast": {
+ "absolutePath": "@openzeppelin/contracts/utils/Context.sol",
+ "exportedSymbols": {
+ "Context": [
+ 1944
+ ]
+ },
+ "id": 1945,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 1924,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:8"
+ },
+ {
+ "abstract": true,
+ "baseContracts": [],
+ "canonicalName": "Context",
+ "contractDependencies": [],
+ "contractKind": "contract",
+ "documentation": {
+ "id": 1925,
+ "nodeType": "StructuredDocumentation",
+ "src": "58:496:8",
+ "text": " @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 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 This contract is only required for intermediate, library-like contracts."
+ },
+ "fullyImplemented": true,
+ "id": 1944,
+ "linearizedBaseContracts": [
+ 1944
+ ],
+ "name": "Context",
+ "nameLocation": "573:7:8",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "body": {
+ "id": 1933,
+ "nodeType": "Block",
+ "src": "649:34:8",
+ "statements": [
+ {
+ "expression": {
+ "expression": {
+ "id": 1930,
+ "name": "msg",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967281,
+ "src": "666:3:8",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_message",
+ "typeString": "msg"
+ }
+ },
+ "id": 1931,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "sender",
+ "nodeType": "MemberAccess",
+ "src": "666:10:8",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "functionReturnParameters": 1929,
+ "id": 1932,
+ "nodeType": "Return",
+ "src": "659:17:8"
+ }
+ ]
+ },
+ "id": 1934,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_msgSender",
+ "nameLocation": "596:10:8",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1926,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "606:2:8"
+ },
+ "returnParameters": {
+ "id": 1929,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1928,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1934,
+ "src": "640:7:8",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1927,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "640:7:8",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "639:9:8"
+ },
+ "scope": 1944,
+ "src": "587:96:8",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1942,
+ "nodeType": "Block",
+ "src": "756:32:8",
+ "statements": [
+ {
+ "expression": {
+ "expression": {
+ "id": 1939,
+ "name": "msg",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967281,
+ "src": "773:3:8",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_message",
+ "typeString": "msg"
+ }
+ },
+ "id": 1940,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "data",
+ "nodeType": "MemberAccess",
+ "src": "773:8:8",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_calldata_ptr",
+ "typeString": "bytes calldata"
+ }
+ },
+ "functionReturnParameters": 1938,
+ "id": 1941,
+ "nodeType": "Return",
+ "src": "766:15:8"
+ }
+ ]
+ },
+ "id": 1943,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_msgData",
+ "nameLocation": "698:8:8",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1935,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "706:2:8"
+ },
+ "returnParameters": {
+ "id": 1938,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1937,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1943,
+ "src": "740:14:8",
+ "stateVariable": false,
+ "storageLocation": "calldata",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_calldata_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1936,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "740:5:8",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "739:16:8"
+ },
+ "scope": 1944,
+ "src": "689:99:8",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "internal"
+ }
+ ],
+ "scope": 1945,
+ "src": "555:235:8",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:758:8"
+ },
+ "legacyAST": {
+ "absolutePath": "@openzeppelin/contracts/utils/Context.sol",
+ "exportedSymbols": {
+ "Context": [
+ 1944
+ ]
+ },
+ "id": 1945,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 1924,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:8"
+ },
+ {
+ "abstract": true,
+ "baseContracts": [],
+ "canonicalName": "Context",
+ "contractDependencies": [],
+ "contractKind": "contract",
+ "documentation": {
+ "id": 1925,
+ "nodeType": "StructuredDocumentation",
+ "src": "58:496:8",
+ "text": " @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 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 This contract is only required for intermediate, library-like contracts."
+ },
+ "fullyImplemented": true,
+ "id": 1944,
+ "linearizedBaseContracts": [
+ 1944
+ ],
+ "name": "Context",
+ "nameLocation": "573:7:8",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "body": {
+ "id": 1933,
+ "nodeType": "Block",
+ "src": "649:34:8",
+ "statements": [
+ {
+ "expression": {
+ "expression": {
+ "id": 1930,
+ "name": "msg",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967281,
+ "src": "666:3:8",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_message",
+ "typeString": "msg"
+ }
+ },
+ "id": 1931,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "sender",
+ "nodeType": "MemberAccess",
+ "src": "666:10:8",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "functionReturnParameters": 1929,
+ "id": 1932,
+ "nodeType": "Return",
+ "src": "659:17:8"
+ }
+ ]
+ },
+ "id": 1934,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_msgSender",
+ "nameLocation": "596:10:8",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1926,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "606:2:8"
+ },
+ "returnParameters": {
+ "id": 1929,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1928,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1934,
+ "src": "640:7:8",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1927,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "640:7:8",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "639:9:8"
+ },
+ "scope": 1944,
+ "src": "587:96:8",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1942,
+ "nodeType": "Block",
+ "src": "756:32:8",
+ "statements": [
+ {
+ "expression": {
+ "expression": {
+ "id": 1939,
+ "name": "msg",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967281,
+ "src": "773:3:8",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_message",
+ "typeString": "msg"
+ }
+ },
+ "id": 1940,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "data",
+ "nodeType": "MemberAccess",
+ "src": "773:8:8",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_calldata_ptr",
+ "typeString": "bytes calldata"
+ }
+ },
+ "functionReturnParameters": 1938,
+ "id": 1941,
+ "nodeType": "Return",
+ "src": "766:15:8"
+ }
+ ]
+ },
+ "id": 1943,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_msgData",
+ "nameLocation": "698:8:8",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1935,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "706:2:8"
+ },
+ "returnParameters": {
+ "id": 1938,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1937,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1943,
+ "src": "740:14:8",
+ "stateVariable": false,
+ "storageLocation": "calldata",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_calldata_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1936,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "740:5:8",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "739:16:8"
+ },
+ "scope": 1944,
+ "src": "689:99:8",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "internal"
+ }
+ ],
+ "scope": 1945,
+ "src": "555:235:8",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:758:8"
+ },
+ "compiler": {
+ "name": "solc",
+ "version": "0.8.10+commit.fc410830.Emscripten.clang"
+ },
+ "networks": {},
+ "schemaVersion": "3.4.1",
+ "updatedAt": "2021-11-28T13:47:02.609Z",
+ "devdoc": {
+ "details": "Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.",
+ "kind": "dev",
+ "methods": {},
+ "version": 1
+ },
+ "userdoc": {
+ "kind": "user",
+ "methods": {},
+ "version": 1
+ }
+}
\ No newline at end of file
diff --git a/Nftzi/abi/Counters.json b/Nftzi/abi/Counters.json
new file mode 100644
index 00000000..707085a9
--- /dev/null
+++ b/Nftzi/abi/Counters.json
@@ -0,0 +1,1688 @@
+{
+ "contractName": "Counters",
+ "abi": [],
+ "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Matt Condon (@shrugs)\",\"details\":\"Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number of elements in a mapping, issuing ERC721 ids, or counting request ids. Include with `using Counters for Counters.Counter;`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Counters\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Counters.sol\":\"Counters\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0x78450f4e3b722cce467b21e285f72ce5eaf361e9ba9dd2241a413926246773cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103065051300cd995fd4599ba91188d4071b92175b52f26110e02db091617c0\",\"dweb:/ipfs/QmSyDz67R2HCypDE8Pacn3voVwxw9x17NM66q47YgBnGqc\"]}},\"version\":1}",
+ "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209c649506c2d05aecb3fa04f4e0833e1fc638215bf574302982b83c352d647e6564736f6c634300080a0033",
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209c649506c2d05aecb3fa04f4e0833e1fc638215bf574302982b83c352d647e6564736f6c634300080a0033",
+ "immutableReferences": {},
+ "generatedSources": [],
+ "deployedGeneratedSources": [],
+ "sourceMap": "370:971:9:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
+ "deployedSourceMap": "370:971:9:-:0;;;;;;;;",
+ "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n/**\n * @title Counters\n * @author Matt Condon (@shrugs)\n * @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number\n * of elements in a mapping, issuing ERC721 ids, or counting request ids.\n *\n * Include with `using Counters for Counters.Counter;`\n */\nlibrary Counters {\n struct Counter {\n // This variable should never be directly accessed by users of the library: interactions must be restricted to\n // the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add\n // this feature: see https://github.com/ethereum/solidity/issues/4637\n uint256 _value; // default: 0\n }\n\n function current(Counter storage counter) internal view returns (uint256) {\n return counter._value;\n }\n\n function increment(Counter storage counter) internal {\n unchecked {\n counter._value += 1;\n }\n }\n\n function decrement(Counter storage counter) internal {\n uint256 value = counter._value;\n require(value > 0, \"Counter: decrement overflow\");\n unchecked {\n counter._value = value - 1;\n }\n }\n\n function reset(Counter storage counter) internal {\n counter._value = 0;\n }\n}\n",
+ "sourcePath": "@openzeppelin/contracts/utils/Counters.sol",
+ "ast": {
+ "absolutePath": "@openzeppelin/contracts/utils/Counters.sol",
+ "exportedSymbols": {
+ "Counters": [
+ 2018
+ ]
+ },
+ "id": 2019,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 1946,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:9"
+ },
+ {
+ "abstract": false,
+ "baseContracts": [],
+ "canonicalName": "Counters",
+ "contractDependencies": [],
+ "contractKind": "library",
+ "documentation": {
+ "id": 1947,
+ "nodeType": "StructuredDocumentation",
+ "src": "58:311:9",
+ "text": " @title Counters\n @author Matt Condon (@shrugs)\n @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number\n of elements in a mapping, issuing ERC721 ids, or counting request ids.\n Include with `using Counters for Counters.Counter;`"
+ },
+ "fullyImplemented": true,
+ "id": 2018,
+ "linearizedBaseContracts": [
+ 2018
+ ],
+ "name": "Counters",
+ "nameLocation": "378:8:9",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "canonicalName": "Counters.Counter",
+ "id": 1950,
+ "members": [
+ {
+ "constant": false,
+ "id": 1949,
+ "mutability": "mutable",
+ "name": "_value",
+ "nameLocation": "740:6:9",
+ "nodeType": "VariableDeclaration",
+ "scope": 1950,
+ "src": "732:14:9",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1948,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "732:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "name": "Counter",
+ "nameLocation": "400:7:9",
+ "nodeType": "StructDefinition",
+ "scope": 2018,
+ "src": "393:374:9",
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 1961,
+ "nodeType": "Block",
+ "src": "847:38:9",
+ "statements": [
+ {
+ "expression": {
+ "expression": {
+ "id": 1958,
+ "name": "counter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1953,
+ "src": "864:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter storage pointer"
+ }
+ },
+ "id": 1959,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "_value",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1949,
+ "src": "864:14:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "functionReturnParameters": 1957,
+ "id": 1960,
+ "nodeType": "Return",
+ "src": "857:21:9"
+ }
+ ]
+ },
+ "id": 1962,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "current",
+ "nameLocation": "782:7:9",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1954,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1953,
+ "mutability": "mutable",
+ "name": "counter",
+ "nameLocation": "806:7:9",
+ "nodeType": "VariableDeclaration",
+ "scope": 1962,
+ "src": "790:23:9",
+ "stateVariable": false,
+ "storageLocation": "storage",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ },
+ "typeName": {
+ "id": 1952,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 1951,
+ "name": "Counter",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1950,
+ "src": "790:7:9"
+ },
+ "referencedDeclaration": 1950,
+ "src": "790:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "789:25:9"
+ },
+ "returnParameters": {
+ "id": 1957,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1956,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1962,
+ "src": "838:7:9",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1955,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "838:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "837:9:9"
+ },
+ "scope": 2018,
+ "src": "773:112:9",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1975,
+ "nodeType": "Block",
+ "src": "944:70:9",
+ "statements": [
+ {
+ "id": 1974,
+ "nodeType": "UncheckedBlock",
+ "src": "954:54:9",
+ "statements": [
+ {
+ "expression": {
+ "id": 1972,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "expression": {
+ "id": 1968,
+ "name": "counter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1965,
+ "src": "978:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter storage pointer"
+ }
+ },
+ "id": 1970,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "memberName": "_value",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1949,
+ "src": "978:14:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "+=",
+ "rightHandSide": {
+ "hexValue": "31",
+ "id": 1971,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "996:1:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "978:19:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 1973,
+ "nodeType": "ExpressionStatement",
+ "src": "978:19:9"
+ }
+ ]
+ }
+ ]
+ },
+ "id": 1976,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "increment",
+ "nameLocation": "900:9:9",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1966,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1965,
+ "mutability": "mutable",
+ "name": "counter",
+ "nameLocation": "926:7:9",
+ "nodeType": "VariableDeclaration",
+ "scope": 1976,
+ "src": "910:23:9",
+ "stateVariable": false,
+ "storageLocation": "storage",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ },
+ "typeName": {
+ "id": 1964,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 1963,
+ "name": "Counter",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1950,
+ "src": "910:7:9"
+ },
+ "referencedDeclaration": 1950,
+ "src": "910:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "909:25:9"
+ },
+ "returnParameters": {
+ "id": 1967,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "944:0:9"
+ },
+ "scope": 2018,
+ "src": "891:123:9",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2003,
+ "nodeType": "Block",
+ "src": "1073:176:9",
+ "statements": [
+ {
+ "assignments": [
+ 1983
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1983,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "1091:5:9",
+ "nodeType": "VariableDeclaration",
+ "scope": 2003,
+ "src": "1083:13:9",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1982,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1083:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 1986,
+ "initialValue": {
+ "expression": {
+ "id": 1984,
+ "name": "counter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1979,
+ "src": "1099:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter storage pointer"
+ }
+ },
+ "id": 1985,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "_value",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1949,
+ "src": "1099:14:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "1083:30:9"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 1990,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 1988,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1983,
+ "src": "1131:5:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 1989,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1139:1:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "1131:9:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "436f756e7465723a2064656372656d656e74206f766572666c6f77",
+ "id": 1991,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1142:29:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f",
+ "typeString": "literal_string \"Counter: decrement overflow\""
+ },
+ "value": "Counter: decrement overflow"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f",
+ "typeString": "literal_string \"Counter: decrement overflow\""
+ }
+ ],
+ "id": 1987,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "1123:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1992,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1123:49:9",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1993,
+ "nodeType": "ExpressionStatement",
+ "src": "1123:49:9"
+ },
+ {
+ "id": 2002,
+ "nodeType": "UncheckedBlock",
+ "src": "1182:61:9",
+ "statements": [
+ {
+ "expression": {
+ "id": 2000,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "expression": {
+ "id": 1994,
+ "name": "counter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1979,
+ "src": "1206:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter storage pointer"
+ }
+ },
+ "id": 1996,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "memberName": "_value",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1949,
+ "src": "1206:14:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 1999,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 1997,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1983,
+ "src": "1223:5:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "hexValue": "31",
+ "id": 1998,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1231:1:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "1223:9:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "1206:26:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2001,
+ "nodeType": "ExpressionStatement",
+ "src": "1206:26:9"
+ }
+ ]
+ }
+ ]
+ },
+ "id": 2004,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "decrement",
+ "nameLocation": "1029:9:9",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1980,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1979,
+ "mutability": "mutable",
+ "name": "counter",
+ "nameLocation": "1055:7:9",
+ "nodeType": "VariableDeclaration",
+ "scope": 2004,
+ "src": "1039:23:9",
+ "stateVariable": false,
+ "storageLocation": "storage",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ },
+ "typeName": {
+ "id": 1978,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 1977,
+ "name": "Counter",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1950,
+ "src": "1039:7:9"
+ },
+ "referencedDeclaration": 1950,
+ "src": "1039:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1038:25:9"
+ },
+ "returnParameters": {
+ "id": 1981,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1073:0:9"
+ },
+ "scope": 2018,
+ "src": "1020:229:9",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2016,
+ "nodeType": "Block",
+ "src": "1304:35:9",
+ "statements": [
+ {
+ "expression": {
+ "id": 2014,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "expression": {
+ "id": 2010,
+ "name": "counter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2007,
+ "src": "1314:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter storage pointer"
+ }
+ },
+ "id": 2012,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "memberName": "_value",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1949,
+ "src": "1314:14:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "hexValue": "30",
+ "id": 2013,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1331:1:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "1314:18:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2015,
+ "nodeType": "ExpressionStatement",
+ "src": "1314:18:9"
+ }
+ ]
+ },
+ "id": 2017,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "reset",
+ "nameLocation": "1264:5:9",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2008,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2007,
+ "mutability": "mutable",
+ "name": "counter",
+ "nameLocation": "1286:7:9",
+ "nodeType": "VariableDeclaration",
+ "scope": 2017,
+ "src": "1270:23:9",
+ "stateVariable": false,
+ "storageLocation": "storage",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ },
+ "typeName": {
+ "id": 2006,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2005,
+ "name": "Counter",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1950,
+ "src": "1270:7:9"
+ },
+ "referencedDeclaration": 1950,
+ "src": "1270:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1269:25:9"
+ },
+ "returnParameters": {
+ "id": 2009,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1304:0:9"
+ },
+ "scope": 2018,
+ "src": "1255:84:9",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ }
+ ],
+ "scope": 2019,
+ "src": "370:971:9",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:1309:9"
+ },
+ "legacyAST": {
+ "absolutePath": "@openzeppelin/contracts/utils/Counters.sol",
+ "exportedSymbols": {
+ "Counters": [
+ 2018
+ ]
+ },
+ "id": 2019,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 1946,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:9"
+ },
+ {
+ "abstract": false,
+ "baseContracts": [],
+ "canonicalName": "Counters",
+ "contractDependencies": [],
+ "contractKind": "library",
+ "documentation": {
+ "id": 1947,
+ "nodeType": "StructuredDocumentation",
+ "src": "58:311:9",
+ "text": " @title Counters\n @author Matt Condon (@shrugs)\n @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number\n of elements in a mapping, issuing ERC721 ids, or counting request ids.\n Include with `using Counters for Counters.Counter;`"
+ },
+ "fullyImplemented": true,
+ "id": 2018,
+ "linearizedBaseContracts": [
+ 2018
+ ],
+ "name": "Counters",
+ "nameLocation": "378:8:9",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "canonicalName": "Counters.Counter",
+ "id": 1950,
+ "members": [
+ {
+ "constant": false,
+ "id": 1949,
+ "mutability": "mutable",
+ "name": "_value",
+ "nameLocation": "740:6:9",
+ "nodeType": "VariableDeclaration",
+ "scope": 1950,
+ "src": "732:14:9",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1948,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "732:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "name": "Counter",
+ "nameLocation": "400:7:9",
+ "nodeType": "StructDefinition",
+ "scope": 2018,
+ "src": "393:374:9",
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 1961,
+ "nodeType": "Block",
+ "src": "847:38:9",
+ "statements": [
+ {
+ "expression": {
+ "expression": {
+ "id": 1958,
+ "name": "counter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1953,
+ "src": "864:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter storage pointer"
+ }
+ },
+ "id": 1959,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "_value",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1949,
+ "src": "864:14:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "functionReturnParameters": 1957,
+ "id": 1960,
+ "nodeType": "Return",
+ "src": "857:21:9"
+ }
+ ]
+ },
+ "id": 1962,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "current",
+ "nameLocation": "782:7:9",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1954,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1953,
+ "mutability": "mutable",
+ "name": "counter",
+ "nameLocation": "806:7:9",
+ "nodeType": "VariableDeclaration",
+ "scope": 1962,
+ "src": "790:23:9",
+ "stateVariable": false,
+ "storageLocation": "storage",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ },
+ "typeName": {
+ "id": 1952,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 1951,
+ "name": "Counter",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1950,
+ "src": "790:7:9"
+ },
+ "referencedDeclaration": 1950,
+ "src": "790:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "789:25:9"
+ },
+ "returnParameters": {
+ "id": 1957,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1956,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1962,
+ "src": "838:7:9",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1955,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "838:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "837:9:9"
+ },
+ "scope": 2018,
+ "src": "773:112:9",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1975,
+ "nodeType": "Block",
+ "src": "944:70:9",
+ "statements": [
+ {
+ "id": 1974,
+ "nodeType": "UncheckedBlock",
+ "src": "954:54:9",
+ "statements": [
+ {
+ "expression": {
+ "id": 1972,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "expression": {
+ "id": 1968,
+ "name": "counter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1965,
+ "src": "978:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter storage pointer"
+ }
+ },
+ "id": 1970,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "memberName": "_value",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1949,
+ "src": "978:14:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "+=",
+ "rightHandSide": {
+ "hexValue": "31",
+ "id": 1971,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "996:1:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "978:19:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 1973,
+ "nodeType": "ExpressionStatement",
+ "src": "978:19:9"
+ }
+ ]
+ }
+ ]
+ },
+ "id": 1976,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "increment",
+ "nameLocation": "900:9:9",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1966,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1965,
+ "mutability": "mutable",
+ "name": "counter",
+ "nameLocation": "926:7:9",
+ "nodeType": "VariableDeclaration",
+ "scope": 1976,
+ "src": "910:23:9",
+ "stateVariable": false,
+ "storageLocation": "storage",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ },
+ "typeName": {
+ "id": 1964,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 1963,
+ "name": "Counter",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1950,
+ "src": "910:7:9"
+ },
+ "referencedDeclaration": 1950,
+ "src": "910:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "909:25:9"
+ },
+ "returnParameters": {
+ "id": 1967,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "944:0:9"
+ },
+ "scope": 2018,
+ "src": "891:123:9",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2003,
+ "nodeType": "Block",
+ "src": "1073:176:9",
+ "statements": [
+ {
+ "assignments": [
+ 1983
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1983,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "1091:5:9",
+ "nodeType": "VariableDeclaration",
+ "scope": 2003,
+ "src": "1083:13:9",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1982,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1083:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 1986,
+ "initialValue": {
+ "expression": {
+ "id": 1984,
+ "name": "counter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1979,
+ "src": "1099:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter storage pointer"
+ }
+ },
+ "id": 1985,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "_value",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1949,
+ "src": "1099:14:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "1083:30:9"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 1990,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 1988,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1983,
+ "src": "1131:5:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 1989,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1139:1:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "1131:9:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "436f756e7465723a2064656372656d656e74206f766572666c6f77",
+ "id": 1991,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1142:29:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f",
+ "typeString": "literal_string \"Counter: decrement overflow\""
+ },
+ "value": "Counter: decrement overflow"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f",
+ "typeString": "literal_string \"Counter: decrement overflow\""
+ }
+ ],
+ "id": 1987,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "1123:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1992,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1123:49:9",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1993,
+ "nodeType": "ExpressionStatement",
+ "src": "1123:49:9"
+ },
+ {
+ "id": 2002,
+ "nodeType": "UncheckedBlock",
+ "src": "1182:61:9",
+ "statements": [
+ {
+ "expression": {
+ "id": 2000,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "expression": {
+ "id": 1994,
+ "name": "counter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1979,
+ "src": "1206:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter storage pointer"
+ }
+ },
+ "id": 1996,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "memberName": "_value",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1949,
+ "src": "1206:14:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 1999,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 1997,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1983,
+ "src": "1223:5:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "hexValue": "31",
+ "id": 1998,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1231:1:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "1223:9:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "1206:26:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2001,
+ "nodeType": "ExpressionStatement",
+ "src": "1206:26:9"
+ }
+ ]
+ }
+ ]
+ },
+ "id": 2004,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "decrement",
+ "nameLocation": "1029:9:9",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1980,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1979,
+ "mutability": "mutable",
+ "name": "counter",
+ "nameLocation": "1055:7:9",
+ "nodeType": "VariableDeclaration",
+ "scope": 2004,
+ "src": "1039:23:9",
+ "stateVariable": false,
+ "storageLocation": "storage",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ },
+ "typeName": {
+ "id": 1978,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 1977,
+ "name": "Counter",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1950,
+ "src": "1039:7:9"
+ },
+ "referencedDeclaration": 1950,
+ "src": "1039:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1038:25:9"
+ },
+ "returnParameters": {
+ "id": 1981,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1073:0:9"
+ },
+ "scope": 2018,
+ "src": "1020:229:9",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2016,
+ "nodeType": "Block",
+ "src": "1304:35:9",
+ "statements": [
+ {
+ "expression": {
+ "id": 2014,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "expression": {
+ "id": 2010,
+ "name": "counter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2007,
+ "src": "1314:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter storage pointer"
+ }
+ },
+ "id": 2012,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "memberName": "_value",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1949,
+ "src": "1314:14:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "hexValue": "30",
+ "id": 2013,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1331:1:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "1314:18:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2015,
+ "nodeType": "ExpressionStatement",
+ "src": "1314:18:9"
+ }
+ ]
+ },
+ "id": 2017,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "reset",
+ "nameLocation": "1264:5:9",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2008,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2007,
+ "mutability": "mutable",
+ "name": "counter",
+ "nameLocation": "1286:7:9",
+ "nodeType": "VariableDeclaration",
+ "scope": 2017,
+ "src": "1270:23:9",
+ "stateVariable": false,
+ "storageLocation": "storage",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ },
+ "typeName": {
+ "id": 2006,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2005,
+ "name": "Counter",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1950,
+ "src": "1270:7:9"
+ },
+ "referencedDeclaration": 1950,
+ "src": "1270:7:9",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1269:25:9"
+ },
+ "returnParameters": {
+ "id": 2009,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1304:0:9"
+ },
+ "scope": 2018,
+ "src": "1255:84:9",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "internal"
+ }
+ ],
+ "scope": 2019,
+ "src": "370:971:9",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:1309:9"
+ },
+ "compiler": {
+ "name": "solc",
+ "version": "0.8.10+commit.fc410830.Emscripten.clang"
+ },
+ "networks": {},
+ "schemaVersion": "3.4.1",
+ "updatedAt": "2021-11-28T13:47:02.611Z",
+ "devdoc": {
+ "author": "Matt Condon (@shrugs)",
+ "details": "Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number of elements in a mapping, issuing ERC721 ids, or counting request ids. Include with `using Counters for Counters.Counter;`",
+ "kind": "dev",
+ "methods": {},
+ "title": "Counters",
+ "version": 1
+ },
+ "userdoc": {
+ "kind": "user",
+ "methods": {},
+ "version": 1
+ }
+}
\ No newline at end of file
diff --git a/Nftzi/abi/ERC165.json b/Nftzi/abi/ERC165.json
new file mode 100644
index 00000000..1080cd8f
--- /dev/null
+++ b/Nftzi/abi/ERC165.json
@@ -0,0 +1,622 @@
+{
+ "contractName": "ERC165",
+ "abi": [
+ {
+ "inputs": [
+ {
+ "internalType": "bytes4",
+ "name": "interfaceId",
+ "type": "bytes4"
+ }
+ ],
+ "name": "supportsInterface",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ }
+ ],
+ "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x5718c5df9bd67ac68a796961df938821bb5dc0cd4c6118d77e9145afb187409b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d10e1d9b26042424789246603906ad06143bf9a928f4e99de8b5e3bdc662f549\",\"dweb:/ipfs/Qmejonoaj5MLekPus229rJQHcC6E9dz2xorjHJR84fMfmn\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0xa28007762d9da9db878dd421960c8cb9a10471f47ab5c1b3309bfe48e9e79ff4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://796ab6e88af7bf0e78def0f059310c903af6a312b565344e0ff524a0f26e81c6\",\"dweb:/ipfs/QmcsVgLgzWdor3UnAztUkXKNGcysm1MPneWksF72AvnwBx\"]}},\"version\":1}",
+ "bytecode": "0x",
+ "deployedBytecode": "0x",
+ "immutableReferences": {},
+ "generatedSources": [],
+ "deployedGeneratedSources": [],
+ "sourceMap": "",
+ "deployedSourceMap": "",
+ "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n",
+ "sourcePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol",
+ "ast": {
+ "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol",
+ "exportedSymbols": {
+ "ERC165": [
+ 2245
+ ],
+ "IERC165": [
+ 2257
+ ]
+ },
+ "id": 2246,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 2223,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:11"
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",
+ "file": "./IERC165.sol",
+ "id": 2224,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 2246,
+ "sourceUnit": 2258,
+ "src": "58:23:11",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "abstract": true,
+ "baseContracts": [
+ {
+ "baseName": {
+ "id": 2226,
+ "name": "IERC165",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2257,
+ "src": "688:7:11"
+ },
+ "id": 2227,
+ "nodeType": "InheritanceSpecifier",
+ "src": "688:7:11"
+ }
+ ],
+ "canonicalName": "ERC165",
+ "contractDependencies": [],
+ "contractKind": "contract",
+ "documentation": {
+ "id": 2225,
+ "nodeType": "StructuredDocumentation",
+ "src": "83:576:11",
+ "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation."
+ },
+ "fullyImplemented": true,
+ "id": 2245,
+ "linearizedBaseContracts": [
+ 2245,
+ 2257
+ ],
+ "name": "ERC165",
+ "nameLocation": "678:6:11",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "baseFunctions": [
+ 2256
+ ],
+ "body": {
+ "id": 2243,
+ "nodeType": "Block",
+ "src": "854:64:11",
+ "statements": [
+ {
+ "expression": {
+ "commonType": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "id": 2241,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2236,
+ "name": "interfaceId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2230,
+ "src": "871:11:11",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "expression": {
+ "arguments": [
+ {
+ "id": 2238,
+ "name": "IERC165",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2257,
+ "src": "891:7:11",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_IERC165_$2257_$",
+ "typeString": "type(contract IERC165)"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_type$_t_contract$_IERC165_$2257_$",
+ "typeString": "type(contract IERC165)"
+ }
+ ],
+ "id": 2237,
+ "name": "type",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967269,
+ "src": "886:4:11",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
+ "typeString": "function () pure"
+ }
+ },
+ "id": 2239,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "886:13:11",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$2257",
+ "typeString": "type(contract IERC165)"
+ }
+ },
+ "id": 2240,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "memberName": "interfaceId",
+ "nodeType": "MemberAccess",
+ "src": "886:25:11",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "src": "871:40:11",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 2235,
+ "id": 2242,
+ "nodeType": "Return",
+ "src": "864:47:11"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 2228,
+ "nodeType": "StructuredDocumentation",
+ "src": "702:56:11",
+ "text": " @dev See {IERC165-supportsInterface}."
+ },
+ "functionSelector": "01ffc9a7",
+ "id": 2244,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "supportsInterface",
+ "nameLocation": "772:17:11",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 2232,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "830:8:11"
+ },
+ "parameters": {
+ "id": 2231,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2230,
+ "mutability": "mutable",
+ "name": "interfaceId",
+ "nameLocation": "797:11:11",
+ "nodeType": "VariableDeclaration",
+ "scope": 2244,
+ "src": "790:18:11",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "typeName": {
+ "id": 2229,
+ "name": "bytes4",
+ "nodeType": "ElementaryTypeName",
+ "src": "790:6:11",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "789:20:11"
+ },
+ "returnParameters": {
+ "id": 2235,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2234,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2244,
+ "src": "848:4:11",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 2233,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "848:4:11",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "847:6:11"
+ },
+ "scope": 2245,
+ "src": "763:155:11",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ }
+ ],
+ "scope": 2246,
+ "src": "660:260:11",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:888:11"
+ },
+ "legacyAST": {
+ "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol",
+ "exportedSymbols": {
+ "ERC165": [
+ 2245
+ ],
+ "IERC165": [
+ 2257
+ ]
+ },
+ "id": 2246,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 2223,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:11"
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",
+ "file": "./IERC165.sol",
+ "id": 2224,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 2246,
+ "sourceUnit": 2258,
+ "src": "58:23:11",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "abstract": true,
+ "baseContracts": [
+ {
+ "baseName": {
+ "id": 2226,
+ "name": "IERC165",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2257,
+ "src": "688:7:11"
+ },
+ "id": 2227,
+ "nodeType": "InheritanceSpecifier",
+ "src": "688:7:11"
+ }
+ ],
+ "canonicalName": "ERC165",
+ "contractDependencies": [],
+ "contractKind": "contract",
+ "documentation": {
+ "id": 2225,
+ "nodeType": "StructuredDocumentation",
+ "src": "83:576:11",
+ "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation."
+ },
+ "fullyImplemented": true,
+ "id": 2245,
+ "linearizedBaseContracts": [
+ 2245,
+ 2257
+ ],
+ "name": "ERC165",
+ "nameLocation": "678:6:11",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "baseFunctions": [
+ 2256
+ ],
+ "body": {
+ "id": 2243,
+ "nodeType": "Block",
+ "src": "854:64:11",
+ "statements": [
+ {
+ "expression": {
+ "commonType": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "id": 2241,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2236,
+ "name": "interfaceId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2230,
+ "src": "871:11:11",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "expression": {
+ "arguments": [
+ {
+ "id": 2238,
+ "name": "IERC165",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2257,
+ "src": "891:7:11",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_IERC165_$2257_$",
+ "typeString": "type(contract IERC165)"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_type$_t_contract$_IERC165_$2257_$",
+ "typeString": "type(contract IERC165)"
+ }
+ ],
+ "id": 2237,
+ "name": "type",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967269,
+ "src": "886:4:11",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
+ "typeString": "function () pure"
+ }
+ },
+ "id": 2239,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "886:13:11",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$2257",
+ "typeString": "type(contract IERC165)"
+ }
+ },
+ "id": 2240,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "memberName": "interfaceId",
+ "nodeType": "MemberAccess",
+ "src": "886:25:11",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "src": "871:40:11",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 2235,
+ "id": 2242,
+ "nodeType": "Return",
+ "src": "864:47:11"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 2228,
+ "nodeType": "StructuredDocumentation",
+ "src": "702:56:11",
+ "text": " @dev See {IERC165-supportsInterface}."
+ },
+ "functionSelector": "01ffc9a7",
+ "id": 2244,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "supportsInterface",
+ "nameLocation": "772:17:11",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 2232,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "830:8:11"
+ },
+ "parameters": {
+ "id": 2231,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2230,
+ "mutability": "mutable",
+ "name": "interfaceId",
+ "nameLocation": "797:11:11",
+ "nodeType": "VariableDeclaration",
+ "scope": 2244,
+ "src": "790:18:11",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "typeName": {
+ "id": 2229,
+ "name": "bytes4",
+ "nodeType": "ElementaryTypeName",
+ "src": "790:6:11",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "789:20:11"
+ },
+ "returnParameters": {
+ "id": 2235,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2234,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2244,
+ "src": "848:4:11",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 2233,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "848:4:11",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "847:6:11"
+ },
+ "scope": 2245,
+ "src": "763:155:11",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ }
+ ],
+ "scope": 2246,
+ "src": "660:260:11",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:888:11"
+ },
+ "compiler": {
+ "name": "solc",
+ "version": "0.8.10+commit.fc410830.Emscripten.clang"
+ },
+ "networks": {},
+ "schemaVersion": "3.4.1",
+ "updatedAt": "2021-11-28T13:47:02.616Z",
+ "devdoc": {
+ "details": "Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.",
+ "kind": "dev",
+ "methods": {
+ "supportsInterface(bytes4)": {
+ "details": "See {IERC165-supportsInterface}."
+ }
+ },
+ "version": 1
+ },
+ "userdoc": {
+ "kind": "user",
+ "methods": {},
+ "version": 1
+ }
+}
\ No newline at end of file
diff --git a/Nftzi/abi/ERC20.json b/Nftzi/abi/ERC20.json
new file mode 100644
index 00000000..8514468e
--- /dev/null
+++ b/Nftzi/abi/ERC20.json
@@ -0,0 +1,22639 @@
+{
+ "contractName": "ERC20",
+ "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": "spender",
+ "type": "address"
+ },
+ {
+ "indexed": false,
+ "internalType": "uint256",
+ "name": "value",
+ "type": "uint256"
+ }
+ ],
+ "name": "Approval",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "from",
+ "type": "address"
+ },
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "to",
+ "type": "address"
+ },
+ {
+ "indexed": false,
+ "internalType": "uint256",
+ "name": "value",
+ "type": "uint256"
+ }
+ ],
+ "name": "Transfer",
+ "type": "event"
+ },
+ {
+ "inputs": [],
+ "name": "name",
+ "outputs": [
+ {
+ "internalType": "string",
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "symbol",
+ "outputs": [
+ {
+ "internalType": "string",
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "decimals",
+ "outputs": [
+ {
+ "internalType": "uint8",
+ "name": "",
+ "type": "uint8"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "totalSupply",
+ "outputs": [
+ {
+ "internalType": "uint256",
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "account",
+ "type": "address"
+ }
+ ],
+ "name": "balanceOf",
+ "outputs": [
+ {
+ "internalType": "uint256",
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "recipient",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "amount",
+ "type": "uint256"
+ }
+ ],
+ "name": "transfer",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "owner",
+ "type": "address"
+ },
+ {
+ "internalType": "address",
+ "name": "spender",
+ "type": "address"
+ }
+ ],
+ "name": "allowance",
+ "outputs": [
+ {
+ "internalType": "uint256",
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "spender",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "amount",
+ "type": "uint256"
+ }
+ ],
+ "name": "approve",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "sender",
+ "type": "address"
+ },
+ {
+ "internalType": "address",
+ "name": "recipient",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "amount",
+ "type": "uint256"
+ }
+ ],
+ "name": "transferFrom",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "spender",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "addedValue",
+ "type": "uint256"
+ }
+ ],
+ "name": "increaseAllowance",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "spender",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "subtractedValue",
+ "type": "uint256"
+ }
+ ],
+ "name": "decreaseAllowance",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ }
+ ],
+ "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"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\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. The default value of {decimals} is 18. To select a different value for {decimals} you should overload it. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb03df8481a954604ad0c9125680893b2e3f7ff770fe470e38b89ac61b84e8072\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b34655953d18ba3a45b762fb6bdbb6549af69a27435e10ece178742bf70baf45\",\"dweb:/ipfs/QmcqjUoFLLMyx7dbwSHUnDBH6aphkVHXWQvQRRev5EAWEh\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x027b891937d20ccf213fdb9c31531574256de774bda99d3a70ecef6e1913ed2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://087318b21c528119f649899f5b5580566dd8d7b0303d4904bd0e8580c3545f14\",\"dweb:/ipfs/Qmbn5Mj7aUn8hJuQ8VrQjjEXRsXyJKykgnjR9p4C3nfLtL\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x83fe24f5c04a56091e50f4a345ff504c8bff658a76d4c43b16878c8f940c53b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4c3df1a7ca104b633a7d81c6c6f5192367d150cd5a32cba81f7f27012729013\",\"dweb:/ipfs/QmSim72e3ZVsfgZt8UceCvbiSuMRHR6WDsiamqNzZahGSY\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x90565a39ae45c80f0468dc96c7b20d0afc3055f344c8203a0c9258239f350b9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26e8b38a7ac8e7b4463af00cf7fff1bf48ae9875765bf4f7751e100124d0bc8c\",\"dweb:/ipfs/QmWcsmkVr24xmmjfnBQZoemFniXjj3vwT78Cz6uqZW1Hux\"]}},\"version\":1}",
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162001762380380620017628339818101604052810190620000379190620002be565b81600390805190602001906200004f92919062000071565b5080600490805190602001906200006892919062000071565b505050620003a8565b8280546200007f9062000372565b90600052602060002090601f016020900481019282620000a35760008555620000ef565b82601f10620000be57805160ff1916838001178555620000ef565b82800160010185558215620000ef579182015b82811115620000ee578251825591602001919060010190620000d1565b5b509050620000fe919062000102565b5090565b5b808211156200011d57600081600090555060010162000103565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200018a826200013f565b810181811067ffffffffffffffff82111715620001ac57620001ab62000150565b5b80604052505050565b6000620001c162000121565b9050620001cf82826200017f565b919050565b600067ffffffffffffffff821115620001f257620001f162000150565b5b620001fd826200013f565b9050602081019050919050565b60005b838110156200022a5780820151818401526020810190506200020d565b838111156200023a576000848401525b50505050565b6000620002576200025184620001d4565b620001b5565b9050828152602081018484840111156200027657620002756200013a565b5b620002838482856200020a565b509392505050565b600082601f830112620002a357620002a262000135565b5b8151620002b584826020860162000240565b91505092915050565b60008060408385031215620002d857620002d76200012b565b5b600083015167ffffffffffffffff811115620002f957620002f862000130565b5b62000307858286016200028b565b925050602083015167ffffffffffffffff8111156200032b576200032a62000130565b5b62000339858286016200028b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200038b57607f821691505b60208210811415620003a257620003a162000343565b5b50919050565b6113aa80620003b86000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610c3e565b60405180910390f35b6100e660048036038101906100e19190610cf9565b610308565b6040516100f39190610d54565b60405180910390f35b610104610326565b6040516101119190610d7e565b60405180910390f35b610134600480360381019061012f9190610d99565b610330565b6040516101419190610d54565b60405180910390f35b610152610428565b60405161015f9190610e08565b60405180910390f35b610182600480360381019061017d9190610cf9565b610431565b60405161018f9190610d54565b60405180910390f35b6101b260048036038101906101ad9190610e23565b6104dd565b6040516101bf9190610d7e565b60405180910390f35b6101d0610525565b6040516101dd9190610c3e565b60405180910390f35b61020060048036038101906101fb9190610cf9565b6105b7565b60405161020d9190610d54565b60405180910390f35b610230600480360381019061022b9190610cf9565b6106a2565b60405161023d9190610d54565b60405180910390f35b610260600480360381019061025b9190610e50565b6106c0565b60405161026d9190610d7e565b60405180910390f35b60606003805461028590610ebf565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610ebf565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b600061031c610315610747565b848461074f565b6001905092915050565b6000600254905090565b600061033d84848461091a565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610388610747565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ff90610f63565b60405180910390fd5b61041c85610414610747565b85840361074f565b60019150509392505050565b60006012905090565b60006104d361043e610747565b84846001600061044c610747565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104ce9190610fb2565b61074f565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461053490610ebf565b80601f016020809104026020016040519081016040528092919081815260200182805461056090610ebf565b80156105ad5780601f10610582576101008083540402835291602001916105ad565b820191906000526020600020905b81548152906001019060200180831161059057829003601f168201915b5050505050905090565b600080600160006105c6610747565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610683576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067a9061107a565b60405180910390fd5b61069761068e610747565b8585840361074f565b600191505092915050565b60006106b66106af610747565b848461091a565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b69061110c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561082f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108269061119e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161090d9190610d7e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561098a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098190611230565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f1906112c2565b60405180910390fd5b610a05838383610b9b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8290611354565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b1e9190610fb2565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b829190610d7e565b60405180910390a3610b95848484610ba0565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bdf578082015181840152602081019050610bc4565b83811115610bee576000848401525b50505050565b6000601f19601f8301169050919050565b6000610c1082610ba5565b610c1a8185610bb0565b9350610c2a818560208601610bc1565b610c3381610bf4565b840191505092915050565b60006020820190508181036000830152610c588184610c05565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c9082610c65565b9050919050565b610ca081610c85565b8114610cab57600080fd5b50565b600081359050610cbd81610c97565b92915050565b6000819050919050565b610cd681610cc3565b8114610ce157600080fd5b50565b600081359050610cf381610ccd565b92915050565b60008060408385031215610d1057610d0f610c60565b5b6000610d1e85828601610cae565b9250506020610d2f85828601610ce4565b9150509250929050565b60008115159050919050565b610d4e81610d39565b82525050565b6000602082019050610d696000830184610d45565b92915050565b610d7881610cc3565b82525050565b6000602082019050610d936000830184610d6f565b92915050565b600080600060608486031215610db257610db1610c60565b5b6000610dc086828701610cae565b9350506020610dd186828701610cae565b9250506040610de286828701610ce4565b9150509250925092565b600060ff82169050919050565b610e0281610dec565b82525050565b6000602082019050610e1d6000830184610df9565b92915050565b600060208284031215610e3957610e38610c60565b5b6000610e4784828501610cae565b91505092915050565b60008060408385031215610e6757610e66610c60565b5b6000610e7585828601610cae565b9250506020610e8685828601610cae565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ed757607f821691505b60208210811415610eeb57610eea610e90565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000610f4d602883610bb0565b9150610f5882610ef1565b604082019050919050565b60006020820190508181036000830152610f7c81610f40565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610fbd82610cc3565b9150610fc883610cc3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610ffd57610ffc610f83565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611064602583610bb0565b915061106f82611008565b604082019050919050565b6000602082019050818103600083015261109381611057565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006110f6602483610bb0565b91506111018261109a565b604082019050919050565b60006020820190508181036000830152611125816110e9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611188602283610bb0565b91506111938261112c565b604082019050919050565b600060208201905081810360008301526111b78161117b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061121a602583610bb0565b9150611225826111be565b604082019050919050565b600060208201905081810360008301526112498161120d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006112ac602383610bb0565b91506112b782611250565b604082019050919050565b600060208201905081810360008301526112db8161129f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061133e602683610bb0565b9150611349826112e2565b604082019050919050565b6000602082019050818103600083015261136d81611331565b905091905056fea26469706673582212208b64e1c7b83c5abefc8d45678001bdb5c5da4c03ea69381022e9ac6ffa0f54bb64736f6c634300080a0033",
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610c3e565b60405180910390f35b6100e660048036038101906100e19190610cf9565b610308565b6040516100f39190610d54565b60405180910390f35b610104610326565b6040516101119190610d7e565b60405180910390f35b610134600480360381019061012f9190610d99565b610330565b6040516101419190610d54565b60405180910390f35b610152610428565b60405161015f9190610e08565b60405180910390f35b610182600480360381019061017d9190610cf9565b610431565b60405161018f9190610d54565b60405180910390f35b6101b260048036038101906101ad9190610e23565b6104dd565b6040516101bf9190610d7e565b60405180910390f35b6101d0610525565b6040516101dd9190610c3e565b60405180910390f35b61020060048036038101906101fb9190610cf9565b6105b7565b60405161020d9190610d54565b60405180910390f35b610230600480360381019061022b9190610cf9565b6106a2565b60405161023d9190610d54565b60405180910390f35b610260600480360381019061025b9190610e50565b6106c0565b60405161026d9190610d7e565b60405180910390f35b60606003805461028590610ebf565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610ebf565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b600061031c610315610747565b848461074f565b6001905092915050565b6000600254905090565b600061033d84848461091a565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610388610747565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ff90610f63565b60405180910390fd5b61041c85610414610747565b85840361074f565b60019150509392505050565b60006012905090565b60006104d361043e610747565b84846001600061044c610747565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104ce9190610fb2565b61074f565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461053490610ebf565b80601f016020809104026020016040519081016040528092919081815260200182805461056090610ebf565b80156105ad5780601f10610582576101008083540402835291602001916105ad565b820191906000526020600020905b81548152906001019060200180831161059057829003601f168201915b5050505050905090565b600080600160006105c6610747565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610683576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067a9061107a565b60405180910390fd5b61069761068e610747565b8585840361074f565b600191505092915050565b60006106b66106af610747565b848461091a565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b69061110c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561082f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108269061119e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161090d9190610d7e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561098a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098190611230565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f1906112c2565b60405180910390fd5b610a05838383610b9b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8290611354565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b1e9190610fb2565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b829190610d7e565b60405180910390a3610b95848484610ba0565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610bdf578082015181840152602081019050610bc4565b83811115610bee576000848401525b50505050565b6000601f19601f8301169050919050565b6000610c1082610ba5565b610c1a8185610bb0565b9350610c2a818560208601610bc1565b610c3381610bf4565b840191505092915050565b60006020820190508181036000830152610c588184610c05565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c9082610c65565b9050919050565b610ca081610c85565b8114610cab57600080fd5b50565b600081359050610cbd81610c97565b92915050565b6000819050919050565b610cd681610cc3565b8114610ce157600080fd5b50565b600081359050610cf381610ccd565b92915050565b60008060408385031215610d1057610d0f610c60565b5b6000610d1e85828601610cae565b9250506020610d2f85828601610ce4565b9150509250929050565b60008115159050919050565b610d4e81610d39565b82525050565b6000602082019050610d696000830184610d45565b92915050565b610d7881610cc3565b82525050565b6000602082019050610d936000830184610d6f565b92915050565b600080600060608486031215610db257610db1610c60565b5b6000610dc086828701610cae565b9350506020610dd186828701610cae565b9250506040610de286828701610ce4565b9150509250925092565b600060ff82169050919050565b610e0281610dec565b82525050565b6000602082019050610e1d6000830184610df9565b92915050565b600060208284031215610e3957610e38610c60565b5b6000610e4784828501610cae565b91505092915050565b60008060408385031215610e6757610e66610c60565b5b6000610e7585828601610cae565b9250506020610e8685828601610cae565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610ed757607f821691505b60208210811415610eeb57610eea610e90565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000610f4d602883610bb0565b9150610f5882610ef1565b604082019050919050565b60006020820190508181036000830152610f7c81610f40565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610fbd82610cc3565b9150610fc883610cc3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610ffd57610ffc610f83565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611064602583610bb0565b915061106f82611008565b604082019050919050565b6000602082019050818103600083015261109381611057565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006110f6602483610bb0565b91506111018261109a565b604082019050919050565b60006020820190508181036000830152611125816110e9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611188602283610bb0565b91506111938261112c565b604082019050919050565b600060208201905081810360008301526111b78161117b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061121a602583610bb0565b9150611225826111be565b604082019050919050565b600060208201905081810360008301526112498161120d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006112ac602383610bb0565b91506112b782611250565b604082019050919050565b600060208201905081810360008301526112db8161129f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061133e602683610bb0565b9150611349826112e2565b604082019050919050565b6000602082019050818103600083015261136d81611331565b905091905056fea26469706673582212208b64e1c7b83c5abefc8d45678001bdb5c5da4c03ea69381022e9ac6ffa0f54bb64736f6c634300080a0033",
+ "immutableReferences": {},
+ "generatedSources": [
+ {
+ "ast": {
+ "nodeType": "YulBlock",
+ "src": "0:4093:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "47:35:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "57:19:14",
+ "value": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "73:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "67:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "67:9:14"
+ },
+ "variableNames": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "57:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "allocate_unbounded",
+ "nodeType": "YulFunctionDefinition",
+ "returnVariables": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "40:6:14",
+ "type": ""
+ }
+ ],
+ "src": "7:75:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "177:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "194:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "197:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "187:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "187:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "187:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulFunctionDefinition",
+ "src": "88:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "300:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "317:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "320:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "310:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "310:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "310:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
+ "nodeType": "YulFunctionDefinition",
+ "src": "211:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "423:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "440:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "443:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "433:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "433:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "433:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
+ "nodeType": "YulFunctionDefinition",
+ "src": "334:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "546:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "563:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "566:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "556:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "556:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "556:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
+ "nodeType": "YulFunctionDefinition",
+ "src": "457:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "628:54:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "638:38:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "656:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "663:2:14",
+ "type": "",
+ "value": "31"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "652:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "652:14:14"
+ },
+ {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "672:2:14",
+ "type": "",
+ "value": "31"
+ }
+ ],
+ "functionName": {
+ "name": "not",
+ "nodeType": "YulIdentifier",
+ "src": "668:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "668:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "648:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "648:28:14"
+ },
+ "variableNames": [
+ {
+ "name": "result",
+ "nodeType": "YulIdentifier",
+ "src": "638:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "611:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "result",
+ "nodeType": "YulTypedName",
+ "src": "621:6:14",
+ "type": ""
+ }
+ ],
+ "src": "580:102:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "716:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "733:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "736:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "726:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "726:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "726:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "830:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "833:4:14",
+ "type": "",
+ "value": "0x41"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "823:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "823:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "823:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "854:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "857:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "847:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "847:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "847:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x41",
+ "nodeType": "YulFunctionDefinition",
+ "src": "688:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "917:238:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "927:58:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "949:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "979:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulIdentifier",
+ "src": "957:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "957:27:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "945:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "945:40:14"
+ },
+ "variables": [
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulTypedName",
+ "src": "931:10:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1096:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x41",
+ "nodeType": "YulIdentifier",
+ "src": "1098:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1098:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1098:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulIdentifier",
+ "src": "1039:10:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1051:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "1036:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1036:34:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulIdentifier",
+ "src": "1075:10:14"
+ },
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "1087:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "1072:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1072:22:14"
+ }
+ ],
+ "functionName": {
+ "name": "or",
+ "nodeType": "YulIdentifier",
+ "src": "1033:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1033:62:14"
+ },
+ "nodeType": "YulIf",
+ "src": "1030:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1134:2:14",
+ "type": "",
+ "value": "64"
+ },
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulIdentifier",
+ "src": "1138:10:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "1127:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1127:22:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1127:22:14"
+ }
+ ]
+ },
+ "name": "finalize_allocation",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "903:6:14",
+ "type": ""
+ },
+ {
+ "name": "size",
+ "nodeType": "YulTypedName",
+ "src": "911:4:14",
+ "type": ""
+ }
+ ],
+ "src": "874:281:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1202:88:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1212:30:14",
+ "value": {
+ "arguments": [],
+ "functionName": {
+ "name": "allocate_unbounded",
+ "nodeType": "YulIdentifier",
+ "src": "1222:18:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1222:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "1212:6:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "1271:6:14"
+ },
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "1279:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "finalize_allocation",
+ "nodeType": "YulIdentifier",
+ "src": "1251:19:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1251:33:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1251:33:14"
+ }
+ ]
+ },
+ "name": "allocate_memory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "size",
+ "nodeType": "YulTypedName",
+ "src": "1186:4:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "1195:6:14",
+ "type": ""
+ }
+ ],
+ "src": "1161:129:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1363:241:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1468:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x41",
+ "nodeType": "YulIdentifier",
+ "src": "1470:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1470:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1470:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "1440:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1448:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "1437:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1437:30:14"
+ },
+ "nodeType": "YulIf",
+ "src": "1434:56:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "1500:37:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "1530:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulIdentifier",
+ "src": "1508:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1508:29:14"
+ },
+ "variableNames": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "1500:4:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "1574:23:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "1586:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1592:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1582:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1582:15:14"
+ },
+ "variableNames": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "1574:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_allocation_size_t_string_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "1347:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "size",
+ "nodeType": "YulTypedName",
+ "src": "1358:4:14",
+ "type": ""
+ }
+ ],
+ "src": "1296:308:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1659:258:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "1669:10:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1678:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "i",
+ "nodeType": "YulTypedName",
+ "src": "1673:1:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1738:63:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "1763:3:14"
+ },
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1768:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1759:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1759:11:14"
+ },
+ {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "1782:3:14"
+ },
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1787:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1778:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1778:11:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "1772:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1772:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "1752:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1752:39:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1752:39:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1699:1:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "1702:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "1696:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1696:13:14"
+ },
+ "nodeType": "YulForLoop",
+ "post": {
+ "nodeType": "YulBlock",
+ "src": "1710:19:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1712:15:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1721:1:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1724:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1717:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1717:10:14"
+ },
+ "variableNames": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1712:1:14"
+ }
+ ]
+ }
+ ]
+ },
+ "pre": {
+ "nodeType": "YulBlock",
+ "src": "1692:3:14",
+ "statements": []
+ },
+ "src": "1688:113:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1835:76:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "1885:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "1890:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1881:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1881:16:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1899:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "1874:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1874:27:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1874:27:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1816:1:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "1819:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "1813:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1813:13:14"
+ },
+ "nodeType": "YulIf",
+ "src": "1810:101:14"
+ }
+ ]
+ },
+ "name": "copy_memory_to_memory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "src",
+ "nodeType": "YulTypedName",
+ "src": "1641:3:14",
+ "type": ""
+ },
+ {
+ "name": "dst",
+ "nodeType": "YulTypedName",
+ "src": "1646:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "1651:6:14",
+ "type": ""
+ }
+ ],
+ "src": "1610:307:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2018:326:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "2028:75:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2095:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_allocation_size_t_string_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "2053:41:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2053:49:14"
+ }
+ ],
+ "functionName": {
+ "name": "allocate_memory",
+ "nodeType": "YulIdentifier",
+ "src": "2037:15:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2037:66:14"
+ },
+ "variableNames": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "2028:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "2119:5:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2126:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "2112:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2112:21:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2112:21:14"
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "2142:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "2157:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2164:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2153:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2153:16:14"
+ },
+ "variables": [
+ {
+ "name": "dst",
+ "nodeType": "YulTypedName",
+ "src": "2146:3:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2207:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
+ "nodeType": "YulIdentifier",
+ "src": "2209:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2209:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2209:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "2188:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2193:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2184:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2184:16:14"
+ },
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "2202:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "2181:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2181:25:14"
+ },
+ "nodeType": "YulIf",
+ "src": "2178:112:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "2321:3:14"
+ },
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "2326:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2331:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "copy_memory_to_memory",
+ "nodeType": "YulIdentifier",
+ "src": "2299:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2299:39:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2299:39:14"
+ }
+ ]
+ },
+ "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "src",
+ "nodeType": "YulTypedName",
+ "src": "1991:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "1996:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "2004:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "array",
+ "nodeType": "YulTypedName",
+ "src": "2012:5:14",
+ "type": ""
+ }
+ ],
+ "src": "1923:421:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2437:282:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2486:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
+ "nodeType": "YulIdentifier",
+ "src": "2488:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2488:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2488:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "2465:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2473:4:14",
+ "type": "",
+ "value": "0x1f"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2461:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2461:17:14"
+ },
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "2480:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "2457:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2457:27:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "2450:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2450:35:14"
+ },
+ "nodeType": "YulIf",
+ "src": "2447:122:14"
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "2578:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "2598:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "2592:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2592:13:14"
+ },
+ "variables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "2582:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "2614:99:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "2686:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2694:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2682:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2682:17:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2701:6:14"
+ },
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "2709:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
+ "nodeType": "YulIdentifier",
+ "src": "2623:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2623:90:14"
+ },
+ "variableNames": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "2614:5:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_t_string_memory_ptr_fromMemory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "2415:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "2423:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "array",
+ "nodeType": "YulTypedName",
+ "src": "2431:5:14",
+ "type": ""
+ }
+ ],
+ "src": "2364:355:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2839:739:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2885:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "2887:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2887:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2887:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "2860:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "2869:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "2856:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2856:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2881:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "2852:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2852:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "2849:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "2978:291:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "2993:38:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3017:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3028:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3013:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3013:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "3007:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3007:24:14"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "2997:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3078:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
+ "nodeType": "YulIdentifier",
+ "src": "3080:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3080:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3080:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "3050:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3058:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "3047:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3047:30:14"
+ },
+ "nodeType": "YulIf",
+ "src": "3044:117:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "3175:84:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3231:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "3242:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3227:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3227:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "3251:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_string_memory_ptr_fromMemory",
+ "nodeType": "YulIdentifier",
+ "src": "3185:41:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3185:74:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "3175:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "3279:292:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "3294:39:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3318:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3329:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3314:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3314:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "3308:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3308:25:14"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "3298:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3380:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
+ "nodeType": "YulIdentifier",
+ "src": "3382:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3382:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3382:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "3352:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3360:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "3349:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3349:30:14"
+ },
+ "nodeType": "YulIf",
+ "src": "3346:117:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "3477:84:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3533:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "3544:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3529:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3529:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "3553:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_string_memory_ptr_fromMemory",
+ "nodeType": "YulIdentifier",
+ "src": "3487:41:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3487:74:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "3477:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "2801:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "2812:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "2824:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "2832:6:14",
+ "type": ""
+ }
+ ],
+ "src": "2725:853:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3612:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3629:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3632:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "3622:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3622:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3622:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3726:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3729:4:14",
+ "type": "",
+ "value": "0x22"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "3719:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3719:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3719:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3750:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3753:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "3743:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3743:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3743:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x22",
+ "nodeType": "YulFunctionDefinition",
+ "src": "3584:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3821:269:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "3831:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "data",
+ "nodeType": "YulIdentifier",
+ "src": "3845:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3851:1:14",
+ "type": "",
+ "value": "2"
+ }
+ ],
+ "functionName": {
+ "name": "div",
+ "nodeType": "YulIdentifier",
+ "src": "3841:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3841:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "3831:6:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "3862:38:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "data",
+ "nodeType": "YulIdentifier",
+ "src": "3892:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3898:1:14",
+ "type": "",
+ "value": "1"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "3888:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3888:12:14"
+ },
+ "variables": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulTypedName",
+ "src": "3866:18:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3939:51:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "3953:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "3967:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3975:4:14",
+ "type": "",
+ "value": "0x7f"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "3963:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3963:17:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "3953:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulIdentifier",
+ "src": "3919:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "3912:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3912:26:14"
+ },
+ "nodeType": "YulIf",
+ "src": "3909:81:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4042:42:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x22",
+ "nodeType": "YulIdentifier",
+ "src": "4056:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4056:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "4056:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulIdentifier",
+ "src": "4006:18:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "4029:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4037:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "4026:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4026:14:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "4003:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4003:38:14"
+ },
+ "nodeType": "YulIf",
+ "src": "4000:84:14"
+ }
+ ]
+ },
+ "name": "extract_byte_array_length",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "data",
+ "nodeType": "YulTypedName",
+ "src": "3805:4:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "3814:6:14",
+ "type": ""
+ }
+ ],
+ "src": "3770:320:14"
+ }
+ ]
+ },
+ "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n}\n",
+ "id": 14,
+ "language": "Yul",
+ "name": "#utility.yul"
+ }
+ ],
+ "deployedGeneratedSources": [
+ {
+ "ast": {
+ "nodeType": "YulBlock",
+ "src": "0:13909:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "66:40:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "77:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "93:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "87:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "87:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "77:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_length_t_string_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "49:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "59:6:14",
+ "type": ""
+ }
+ ],
+ "src": "7:99:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "208:73:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "225:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "230:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "218:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "218:19:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "218:19:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "246:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "265:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "270:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "261:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "261:14:14"
+ },
+ "variableNames": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulIdentifier",
+ "src": "246:11:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "180:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "185:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulTypedName",
+ "src": "196:11:14",
+ "type": ""
+ }
+ ],
+ "src": "112:169:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "336:258:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "346:10:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "355:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "i",
+ "nodeType": "YulTypedName",
+ "src": "350:1:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "415:63:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "440:3:14"
+ },
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "445:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "436:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "436:11:14"
+ },
+ {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "459:3:14"
+ },
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "464:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "455:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "455:11:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "449:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "449:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "429:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "429:39:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "429:39:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "376:1:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "379:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "373:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "373:13:14"
+ },
+ "nodeType": "YulForLoop",
+ "post": {
+ "nodeType": "YulBlock",
+ "src": "387:19:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "389:15:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "398:1:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "401:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "394:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "394:10:14"
+ },
+ "variableNames": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "389:1:14"
+ }
+ ]
+ }
+ ]
+ },
+ "pre": {
+ "nodeType": "YulBlock",
+ "src": "369:3:14",
+ "statements": []
+ },
+ "src": "365:113:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "512:76:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "562:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "567:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "558:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "558:16:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "576:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "551:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "551:27:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "551:27:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "493:1:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "496:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "490:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "490:13:14"
+ },
+ "nodeType": "YulIf",
+ "src": "487:101:14"
+ }
+ ]
+ },
+ "name": "copy_memory_to_memory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "src",
+ "nodeType": "YulTypedName",
+ "src": "318:3:14",
+ "type": ""
+ },
+ {
+ "name": "dst",
+ "nodeType": "YulTypedName",
+ "src": "323:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "328:6:14",
+ "type": ""
+ }
+ ],
+ "src": "287:307:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "648:54:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "658:38:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "676:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "683:2:14",
+ "type": "",
+ "value": "31"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "672:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "672:14:14"
+ },
+ {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "692:2:14",
+ "type": "",
+ "value": "31"
+ }
+ ],
+ "functionName": {
+ "name": "not",
+ "nodeType": "YulIdentifier",
+ "src": "688:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "688:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "668:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "668:28:14"
+ },
+ "variableNames": [
+ {
+ "name": "result",
+ "nodeType": "YulIdentifier",
+ "src": "658:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "631:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "result",
+ "nodeType": "YulTypedName",
+ "src": "641:6:14",
+ "type": ""
+ }
+ ],
+ "src": "600:102:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "800:272:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "810:53:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "857:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_length_t_string_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "824:32:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "824:39:14"
+ },
+ "variables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "814:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "872:78:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "938:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "943:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "879:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "879:71:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "872:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "985:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "992:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "981:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "981:16:14"
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "999:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "1004:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "copy_memory_to_memory",
+ "nodeType": "YulIdentifier",
+ "src": "959:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "959:52:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "959:52:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "1020:46:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "1031:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "1058:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulIdentifier",
+ "src": "1036:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1036:29:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1027:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1027:39:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "1020:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "781:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "788:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "796:3:14",
+ "type": ""
+ }
+ ],
+ "src": "708:364:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1196:195:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1206:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "1218:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1229:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1214:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1214:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "1206:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "1253:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1264:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1249:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1249:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "1272:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "1278:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "1268:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1268:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "1242:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1242:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1242:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "1298:86:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "1370:6:14"
+ },
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "1379:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "1306:63:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1306:78:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "1298:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "1168:9:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "1180:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "1191:4:14",
+ "type": ""
+ }
+ ],
+ "src": "1078:313:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1437:35:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1447:19:14",
+ "value": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1463:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "1457:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1457:9:14"
+ },
+ "variableNames": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "1447:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "allocate_unbounded",
+ "nodeType": "YulFunctionDefinition",
+ "returnVariables": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "1430:6:14",
+ "type": ""
+ }
+ ],
+ "src": "1397:75:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1567:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1584:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1587:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "1577:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1577:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1577:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulFunctionDefinition",
+ "src": "1478:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1690:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1707:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1710:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "1700:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1700:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1700:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
+ "nodeType": "YulFunctionDefinition",
+ "src": "1601:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1769:81:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1779:65:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "1794:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1801:42:14",
+ "type": "",
+ "value": "0xffffffffffffffffffffffffffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "1790:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1790:54:14"
+ },
+ "variableNames": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulIdentifier",
+ "src": "1779:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "cleanup_t_uint160",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "1751:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulTypedName",
+ "src": "1761:7:14",
+ "type": ""
+ }
+ ],
+ "src": "1724:126:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1901:51:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1911:35:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "1940:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint160",
+ "nodeType": "YulIdentifier",
+ "src": "1922:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1922:24:14"
+ },
+ "variableNames": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulIdentifier",
+ "src": "1911:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "cleanup_t_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "1883:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulTypedName",
+ "src": "1893:7:14",
+ "type": ""
+ }
+ ],
+ "src": "1856:96:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2001:79:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2058:16:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2067:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2070:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "2060:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2060:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2060:12:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2024:5:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2049:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "2031:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2031:24:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "2021:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2021:35:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "2014:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2014:43:14"
+ },
+ "nodeType": "YulIf",
+ "src": "2011:63:14"
+ }
+ ]
+ },
+ "name": "validator_revert_t_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "1994:5:14",
+ "type": ""
+ }
+ ],
+ "src": "1958:122:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2138:87:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "2148:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "2170:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "2157:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2157:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2148:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2213:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "validator_revert_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "2186:26:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2186:33:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2186:33:14"
+ }
+ ]
+ },
+ "name": "abi_decode_t_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "2116:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "2124:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "2132:5:14",
+ "type": ""
+ }
+ ],
+ "src": "2086:139:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2276:32:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "2286:16:14",
+ "value": {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2297:5:14"
+ },
+ "variableNames": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulIdentifier",
+ "src": "2286:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "2258:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulTypedName",
+ "src": "2268:7:14",
+ "type": ""
+ }
+ ],
+ "src": "2231:77:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2357:79:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2414:16:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2423:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2426:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "2416:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2416:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2416:12:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2380:5:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2405:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "2387:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2387:24:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "2377:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2377:35:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "2370:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2370:43:14"
+ },
+ "nodeType": "YulIf",
+ "src": "2367:63:14"
+ }
+ ]
+ },
+ "name": "validator_revert_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "2350:5:14",
+ "type": ""
+ }
+ ],
+ "src": "2314:122:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2494:87:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "2504:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "2526:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "2513:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2513:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2504:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2569:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "validator_revert_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "2542:26:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2542:33:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2542:33:14"
+ }
+ ]
+ },
+ "name": "abi_decode_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "2472:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "2480:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "2488:5:14",
+ "type": ""
+ }
+ ],
+ "src": "2442:139:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2670:391:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2716:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "2718:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2718:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2718:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "2691:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "2700:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "2687:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2687:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2712:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "2683:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2683:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "2680:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "2809:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "2824:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2838:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "2828:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "2853:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "2888:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "2899:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2884:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2884:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "2908:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "2863:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2863:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "2853:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "2936:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "2951:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2965:2:14",
+ "type": "",
+ "value": "32"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "2955:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "2981:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3016:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "3027:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3012:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3012:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "3036:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "2991:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2991:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "2981:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_addresst_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "2632:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "2643:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "2655:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "2663:6:14",
+ "type": ""
+ }
+ ],
+ "src": "2587:474:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3109:48:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "3119:32:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "3144:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "3137:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3137:13:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "3130:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3130:21:14"
+ },
+ "variableNames": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulIdentifier",
+ "src": "3119:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "cleanup_t_bool",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "3091:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulTypedName",
+ "src": "3101:7:14",
+ "type": ""
+ }
+ ],
+ "src": "3067:90:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3222:50:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "3239:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "3259:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_bool",
+ "nodeType": "YulIdentifier",
+ "src": "3244:14:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3244:21:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "3232:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3232:34:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3232:34:14"
+ }
+ ]
+ },
+ "name": "abi_encode_t_bool_to_t_bool_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "3210:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "3217:3:14",
+ "type": ""
+ }
+ ],
+ "src": "3163:109:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3370:118:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "3380:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3392:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3403:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3388:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3388:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "3380:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "3454:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3467:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3478:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3463:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3463:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_bool_to_t_bool_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "3416:37:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3416:65:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3416:65:14"
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "3342:9:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "3354:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "3365:4:14",
+ "type": ""
+ }
+ ],
+ "src": "3278:210:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3559:53:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "3576:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "3599:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "3581:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3581:24:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "3569:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3569:37:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3569:37:14"
+ }
+ ]
+ },
+ "name": "abi_encode_t_uint256_to_t_uint256_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "3547:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "3554:3:14",
+ "type": ""
+ }
+ ],
+ "src": "3494:118:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3716:124:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "3726:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3738:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3749:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3734:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3734:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "3726:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "3806:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3819:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3830:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3815:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3815:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_uint256_to_t_uint256_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "3762:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3762:71:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3762:71:14"
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "3688:9:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "3700:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "3711:4:14",
+ "type": ""
+ }
+ ],
+ "src": "3618:222:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3946:519:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3992:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "3994:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3994:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3994:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "3967:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3976:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "3963:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3963:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3988:2:14",
+ "type": "",
+ "value": "96"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "3959:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3959:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "3956:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "4085:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "4100:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4114:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "4104:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "4129:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "4164:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "4175:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "4160:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4160:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "4184:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "4139:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4139:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "4129:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "4212:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "4227:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4241:2:14",
+ "type": "",
+ "value": "32"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "4231:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "4257:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "4292:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "4303:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "4288:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4288:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "4312:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "4267:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4267:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "4257:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "4340:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "4355:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4369:2:14",
+ "type": "",
+ "value": "64"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "4359:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "4385:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "4420:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "4431:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "4416:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4416:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "4440:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "4395:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4395:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value2",
+ "nodeType": "YulIdentifier",
+ "src": "4385:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_addresst_addresst_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "3900:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "3911:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "3923:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "3931:6:14",
+ "type": ""
+ },
+ {
+ "name": "value2",
+ "nodeType": "YulTypedName",
+ "src": "3939:6:14",
+ "type": ""
+ }
+ ],
+ "src": "3846:619:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4514:43:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "4524:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "4539:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4546:4:14",
+ "type": "",
+ "value": "0xff"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "4535:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4535:16:14"
+ },
+ "variableNames": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulIdentifier",
+ "src": "4524:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "cleanup_t_uint8",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "4496:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulTypedName",
+ "src": "4506:7:14",
+ "type": ""
+ }
+ ],
+ "src": "4471:86:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4624:51:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "4641:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "4662:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint8",
+ "nodeType": "YulIdentifier",
+ "src": "4646:15:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4646:22:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "4634:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4634:35:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "4634:35:14"
+ }
+ ]
+ },
+ "name": "abi_encode_t_uint8_to_t_uint8_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "4612:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "4619:3:14",
+ "type": ""
+ }
+ ],
+ "src": "4563:112:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4775:120:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "4785:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "4797:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4808:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "4793:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4793:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "4785:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "4861:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "4874:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4885:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "4870:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4870:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_uint8_to_t_uint8_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "4821:39:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4821:67:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "4821:67:14"
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "4747:9:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "4759:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "4770:4:14",
+ "type": ""
+ }
+ ],
+ "src": "4681:214:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4967:263:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "5013:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "5015:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5015:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "5015:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "4988:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "4997:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "4984:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4984:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5009:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "4980:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4980:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "4977:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "5106:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "5121:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5135:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "5125:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "5150:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5185:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "5196:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "5181:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5181:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5205:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "5160:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5160:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "5150:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "4937:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "4948:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "4960:6:14",
+ "type": ""
+ }
+ ],
+ "src": "4901:329:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "5319:391:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "5365:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "5367:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5367:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "5367:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5340:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5349:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "5336:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5336:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5361:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "5332:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5332:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "5329:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "5458:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "5473:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5487:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "5477:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "5502:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5537:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "5548:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "5533:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5533:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5557:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "5512:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5512:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "5502:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "5585:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "5600:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5614:2:14",
+ "type": "",
+ "value": "32"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "5604:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "5630:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5665:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "5676:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "5661:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5661:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5685:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "5640:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5640:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "5630:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_addresst_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "5281:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "5292:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "5304:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "5312:6:14",
+ "type": ""
+ }
+ ],
+ "src": "5236:474:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "5744:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5761:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5764:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "5754:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5754:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "5754:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5858:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5861:4:14",
+ "type": "",
+ "value": "0x22"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "5851:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5851:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "5851:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5882:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5885:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "5875:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5875:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "5875:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x22",
+ "nodeType": "YulFunctionDefinition",
+ "src": "5716:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "5953:269:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "5963:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "data",
+ "nodeType": "YulIdentifier",
+ "src": "5977:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5983:1:14",
+ "type": "",
+ "value": "2"
+ }
+ ],
+ "functionName": {
+ "name": "div",
+ "nodeType": "YulIdentifier",
+ "src": "5973:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5973:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "5963:6:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "5994:38:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "data",
+ "nodeType": "YulIdentifier",
+ "src": "6024:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6030:1:14",
+ "type": "",
+ "value": "1"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "6020:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6020:12:14"
+ },
+ "variables": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulTypedName",
+ "src": "5998:18:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6071:51:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "6085:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "6099:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6107:4:14",
+ "type": "",
+ "value": "0x7f"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "6095:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6095:17:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "6085:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulIdentifier",
+ "src": "6051:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "6044:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6044:26:14"
+ },
+ "nodeType": "YulIf",
+ "src": "6041:81:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6174:42:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x22",
+ "nodeType": "YulIdentifier",
+ "src": "6188:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6188:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "6188:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulIdentifier",
+ "src": "6138:18:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "6161:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6169:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "6158:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6158:14:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "6135:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6135:38:14"
+ },
+ "nodeType": "YulIf",
+ "src": "6132:84:14"
+ }
+ ]
+ },
+ "name": "extract_byte_array_length",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "data",
+ "nodeType": "YulTypedName",
+ "src": "5937:4:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "5946:6:14",
+ "type": ""
+ }
+ ],
+ "src": "5902:320:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6334:121:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "6356:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6364:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "6352:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6352:14:14"
+ },
+ {
+ "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732061",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "6368:34:14",
+ "type": "",
+ "value": "ERC20: transfer amount exceeds a"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "6345:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6345:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "6345:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "6424:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6432:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "6420:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6420:15:14"
+ },
+ {
+ "hexValue": "6c6c6f77616e6365",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "6437:10:14",
+ "type": "",
+ "value": "llowance"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "6413:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6413:35:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "6413:35:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "6326:6:14",
+ "type": ""
+ }
+ ],
+ "src": "6228:227:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6607:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "6617:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "6683:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6688:2:14",
+ "type": "",
+ "value": "40"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "6624:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6624:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "6617:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "6789:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330",
+ "nodeType": "YulIdentifier",
+ "src": "6700:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6700:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "6700:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "6802:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "6813:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6818:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "6809:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6809:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "6802:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "6595:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "6603:3:14",
+ "type": ""
+ }
+ ],
+ "src": "6461:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7004:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "7014:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "7026:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7037:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "7022:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7022:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "7014:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "7061:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7072:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "7057:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7057:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "7080:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "7086:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "7076:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7076:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "7050:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7050:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7050:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "7106:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "7240:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "7114:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7114:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "7106:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "6984:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "6999:4:14",
+ "type": ""
+ }
+ ],
+ "src": "6833:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7286:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7303:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7306:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "7296:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7296:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7296:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7400:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7403:4:14",
+ "type": "",
+ "value": "0x11"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "7393:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7393:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7393:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7424:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7427:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "7417:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7417:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7417:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x11",
+ "nodeType": "YulFunctionDefinition",
+ "src": "7258:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7488:261:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "7498:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "7521:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "7503:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7503:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "7498:1:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "7532:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "7555:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "7537:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7537:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "7532:1:14"
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7695:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x11",
+ "nodeType": "YulIdentifier",
+ "src": "7697:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7697:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7697:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "7616:1:14"
+ },
+ {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7623:66:14",
+ "type": "",
+ "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ },
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "7691:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "7619:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7619:74:14"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "7613:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7613:81:14"
+ },
+ "nodeType": "YulIf",
+ "src": "7610:107:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "7727:16:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "7738:1:14"
+ },
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "7741:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "7734:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7734:9:14"
+ },
+ "variableNames": [
+ {
+ "name": "sum",
+ "nodeType": "YulIdentifier",
+ "src": "7727:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "checked_add_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "x",
+ "nodeType": "YulTypedName",
+ "src": "7475:1:14",
+ "type": ""
+ },
+ {
+ "name": "y",
+ "nodeType": "YulTypedName",
+ "src": "7478:1:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "sum",
+ "nodeType": "YulTypedName",
+ "src": "7484:3:14",
+ "type": ""
+ }
+ ],
+ "src": "7444:305:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7861:118:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "7883:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7891:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "7879:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7879:14:14"
+ },
+ {
+ "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "7895:34:14",
+ "type": "",
+ "value": "ERC20: decreased allowance below"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "7872:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7872:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7872:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "7951:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7959:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "7947:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7947:15:14"
+ },
+ {
+ "hexValue": "207a65726f",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "7964:7:14",
+ "type": "",
+ "value": " zero"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "7940:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7940:32:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7940:32:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "7853:6:14",
+ "type": ""
+ }
+ ],
+ "src": "7755:224:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "8131:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "8141:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "8207:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "8212:2:14",
+ "type": "",
+ "value": "37"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "8148:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8148:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "8141:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "8313:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8",
+ "nodeType": "YulIdentifier",
+ "src": "8224:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8224:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8224:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "8326:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "8337:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "8342:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "8333:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8333:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "8326:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "8119:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "8127:3:14",
+ "type": ""
+ }
+ ],
+ "src": "7985:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "8528:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "8538:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "8550:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "8561:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "8546:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8546:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "8538:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "8585:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "8596:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "8581:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8581:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "8604:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "8610:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "8600:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8600:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "8574:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8574:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8574:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "8630:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "8764:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "8638:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8638:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "8630:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "8508:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "8523:4:14",
+ "type": ""
+ }
+ ],
+ "src": "8357:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "8888:117:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "8910:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "8918:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "8906:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8906:14:14"
+ },
+ {
+ "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f20616464",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "8922:34:14",
+ "type": "",
+ "value": "ERC20: approve from the zero add"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "8899:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8899:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8899:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "8978:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "8986:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "8974:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8974:15:14"
+ },
+ {
+ "hexValue": "72657373",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "8991:6:14",
+ "type": "",
+ "value": "ress"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "8967:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8967:31:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8967:31:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "8880:6:14",
+ "type": ""
+ }
+ ],
+ "src": "8782:223:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "9157:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "9167:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "9233:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9238:2:14",
+ "type": "",
+ "value": "36"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "9174:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9174:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "9167:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "9339:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208",
+ "nodeType": "YulIdentifier",
+ "src": "9250:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9250:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "9250:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "9352:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "9363:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9368:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9359:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9359:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "9352:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "9145:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "9153:3:14",
+ "type": ""
+ }
+ ],
+ "src": "9011:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "9554:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "9564:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "9576:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9587:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9572:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9572:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "9564:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "9611:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9622:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9607:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9607:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "9630:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "9636:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "9626:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9626:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "9600:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9600:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "9600:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "9656:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "9790:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "9664:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9664:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "9656:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "9534:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "9549:4:14",
+ "type": ""
+ }
+ ],
+ "src": "9383:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "9914:115:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "9936:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9944:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9932:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9932:14:14"
+ },
+ {
+ "hexValue": "45524332303a20617070726f766520746f20746865207a65726f206164647265",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "9948:34:14",
+ "type": "",
+ "value": "ERC20: approve to the zero addre"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "9925:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9925:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "9925:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "10004:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10012:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "10000:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10000:15:14"
+ },
+ {
+ "hexValue": "7373",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "10017:4:14",
+ "type": "",
+ "value": "ss"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "9993:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9993:29:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "9993:29:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "9906:6:14",
+ "type": ""
+ }
+ ],
+ "src": "9808:221:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "10181:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "10191:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "10257:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10262:2:14",
+ "type": "",
+ "value": "34"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "10198:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10198:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "10191:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "10363:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029",
+ "nodeType": "YulIdentifier",
+ "src": "10274:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10274:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "10274:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "10376:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "10387:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10392:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "10383:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10383:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "10376:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "10169:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "10177:3:14",
+ "type": ""
+ }
+ ],
+ "src": "10035:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "10578:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "10588:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "10600:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10611:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "10596:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10596:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "10588:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "10635:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10646:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "10631:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10631:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "10654:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "10660:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "10650:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10650:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "10624:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10624:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "10624:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "10680:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "10814:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "10688:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10688:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "10680:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "10558:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "10573:4:14",
+ "type": ""
+ }
+ ],
+ "src": "10407:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "10938:118:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "10960:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10968:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "10956:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10956:14:14"
+ },
+ {
+ "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f206164",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "10972:34:14",
+ "type": "",
+ "value": "ERC20: transfer from the zero ad"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "10949:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10949:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "10949:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "11028:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11036:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "11024:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11024:15:14"
+ },
+ {
+ "hexValue": "6472657373",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "11041:7:14",
+ "type": "",
+ "value": "dress"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "11017:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11017:32:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "11017:32:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "10930:6:14",
+ "type": ""
+ }
+ ],
+ "src": "10832:224:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "11208:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "11218:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "11284:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11289:2:14",
+ "type": "",
+ "value": "37"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "11225:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11225:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "11218:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "11390:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea",
+ "nodeType": "YulIdentifier",
+ "src": "11301:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11301:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "11301:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "11403:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "11414:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11419:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "11410:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11410:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "11403:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "11196:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "11204:3:14",
+ "type": ""
+ }
+ ],
+ "src": "11062:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "11605:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "11615:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "11627:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11638:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "11623:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11623:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "11615:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "11662:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11673:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "11658:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11658:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "11681:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "11687:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "11677:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11677:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "11651:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11651:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "11651:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "11707:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "11841:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "11715:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11715:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "11707:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "11585:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "11600:4:14",
+ "type": ""
+ }
+ ],
+ "src": "11434:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "11965:116:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "11987:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11995:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "11983:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11983:14:14"
+ },
+ {
+ "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "11999:34:14",
+ "type": "",
+ "value": "ERC20: transfer to the zero addr"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "11976:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11976:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "11976:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "12055:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12063:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12051:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12051:15:14"
+ },
+ {
+ "hexValue": "657373",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "12068:5:14",
+ "type": "",
+ "value": "ess"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "12044:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12044:30:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "12044:30:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "11957:6:14",
+ "type": ""
+ }
+ ],
+ "src": "11859:222:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "12233:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "12243:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12309:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12314:2:14",
+ "type": "",
+ "value": "35"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "12250:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12250:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12243:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12415:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f",
+ "nodeType": "YulIdentifier",
+ "src": "12326:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12326:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "12326:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "12428:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12439:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12444:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12435:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12435:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "12428:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "12221:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "12229:3:14",
+ "type": ""
+ }
+ ],
+ "src": "12087:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "12630:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "12640:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "12652:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12663:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12648:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12648:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "12640:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "12687:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12698:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12683:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12683:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "12706:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "12712:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "12702:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12702:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "12676:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12676:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "12676:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "12732:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "12866:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "12740:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12740:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "12732:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "12610:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "12625:4:14",
+ "type": ""
+ }
+ ],
+ "src": "12459:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "12990:119:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "13012:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13020:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13008:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13008:14:14"
+ },
+ {
+ "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "13024:34:14",
+ "type": "",
+ "value": "ERC20: transfer amount exceeds b"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "13001:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13001:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "13001:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "13080:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13088:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13076:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13076:15:14"
+ },
+ {
+ "hexValue": "616c616e6365",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "13093:8:14",
+ "type": "",
+ "value": "alance"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "13069:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13069:33:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "13069:33:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "12982:6:14",
+ "type": ""
+ }
+ ],
+ "src": "12884:225:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "13261:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "13271:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "13337:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13342:2:14",
+ "type": "",
+ "value": "38"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "13278:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13278:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "13271:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "13443:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6",
+ "nodeType": "YulIdentifier",
+ "src": "13354:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13354:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "13354:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "13456:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "13467:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13472:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13463:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13463:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "13456:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "13249:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "13257:3:14",
+ "type": ""
+ }
+ ],
+ "src": "13115:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "13658:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "13668:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "13680:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13691:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13676:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13676:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "13668:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "13715:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13726:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13711:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13711:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "13734:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "13740:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "13730:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13730:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "13704:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13704:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "13704:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "13760:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "13894:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "13768:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13768:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "13760:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "13638:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "13653:4:14",
+ "type": ""
+ }
+ ],
+ "src": "13487:419:14"
+ }
+ ]
+ },
+ "contents": "{\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer amount exceeds a\")\n\n mstore(add(memPtr, 32), \"llowance\")\n\n }\n\n function abi_encode_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 40)\n store_literal_in_memory_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: decreased allowance below\")\n\n mstore(add(memPtr, 32), \" zero\")\n\n }\n\n function abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: approve from the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: approve to the zero addre\")\n\n mstore(add(memPtr, 32), \"ss\")\n\n }\n\n function abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer from the zero ad\")\n\n mstore(add(memPtr, 32), \"dress\")\n\n }\n\n function abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer to the zero addr\")\n\n mstore(add(memPtr, 32), \"ess\")\n\n }\n\n function abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer amount exceeds b\")\n\n mstore(add(memPtr, 32), \"alance\")\n\n }\n\n function abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n",
+ "id": 14,
+ "language": "Yul",
+ "name": "#utility.yul"
+ }
+ ],
+ "sourceMap": "1331:10416:0:-:0;;;1906:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1980:5;1972;:13;;;;;;;;;;;;:::i;:::-;;2005:7;1995;:17;;;;;;;;;;;;:::i;:::-;;1906:113;;1331:10416;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:14:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:307::-;1678:1;1688:113;1702:6;1699:1;1696:13;1688:113;;;1787:1;1782:3;1778:11;1772:18;1768:1;1763:3;1759:11;1752:39;1724:2;1721:1;1717:10;1712:15;;1688:113;;;1819:6;1816:1;1813:13;1810:101;;;1899:1;1890:6;1885:3;1881:16;1874:27;1810:101;1659:258;1610:307;;;:::o;1923:421::-;2012:5;2037:66;2053:49;2095:6;2053:49;:::i;:::-;2037:66;:::i;:::-;2028:75;;2126:6;2119:5;2112:21;2164:4;2157:5;2153:16;2202:3;2193:6;2188:3;2184:16;2181:25;2178:112;;;2209:79;;:::i;:::-;2178:112;2299:39;2331:6;2326:3;2321;2299:39;:::i;:::-;2018:326;1923:421;;;;;:::o;2364:355::-;2431:5;2480:3;2473:4;2465:6;2461:17;2457:27;2447:122;;2488:79;;:::i;:::-;2447:122;2598:6;2592:13;2623:90;2709:3;2701:6;2694:4;2686:6;2682:17;2623:90;:::i;:::-;2614:99;;2437:282;2364:355;;;;:::o;2725:853::-;2824:6;2832;2881:2;2869:9;2860:7;2856:23;2852:32;2849:119;;;2887:79;;:::i;:::-;2849:119;3028:1;3017:9;3013:17;3007:24;3058:18;3050:6;3047:30;3044:117;;;3080:79;;:::i;:::-;3044:117;3185:74;3251:7;3242:6;3231:9;3227:22;3185:74;:::i;:::-;3175:84;;2978:291;3329:2;3318:9;3314:18;3308:25;3360:18;3352:6;3349:30;3346:117;;;3382:79;;:::i;:::-;3346:117;3487:74;3553:7;3544:6;3533:9;3529:22;3487:74;:::i;:::-;3477:84;;3279:292;2725:853;;;;;:::o;3584:180::-;3632:77;3629:1;3622:88;3729:4;3726:1;3719:15;3753:4;3750:1;3743:15;3770:320;3814:6;3851:1;3845:4;3841:12;3831:22;;3898:1;3892:4;3888:12;3919:18;3909:81;;3975:4;3967:6;3963:17;3953:27;;3909:81;4037:2;4029:6;4026:14;4006:18;4003:38;4000:84;;;4056:18;;:::i;:::-;4000:84;3821:269;3770:320;;;:::o;1331:10416:0:-;;;;;;;",
+ "deployedSourceMap": "1331:10416:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2084:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4181:166;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3172:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4814:478;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3021:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5687:212;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3336:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2295:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6386:405;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3664:172;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3894:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2084:98;2138:13;2170:5;2163:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2084:98;:::o;4181:166::-;4264:4;4280:39;4289:12;:10;:12::i;:::-;4303:7;4312:6;4280:8;:39::i;:::-;4336:4;4329:11;;4181:166;;;;:::o;3172:106::-;3233:7;3259:12;;3252:19;;3172:106;:::o;4814:478::-;4950:4;4966:36;4976:6;4984:9;4995:6;4966:9;:36::i;:::-;5013:24;5040:11;:19;5052:6;5040:19;;;;;;;;;;;;;;;:33;5060:12;:10;:12::i;:::-;5040:33;;;;;;;;;;;;;;;;5013:60;;5111:6;5091:16;:26;;5083:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;5196:57;5205:6;5213:12;:10;:12::i;:::-;5246:6;5227:16;:25;5196:8;:57::i;:::-;5281:4;5274:11;;;4814:478;;;;;:::o;3021:91::-;3079:5;3103:2;3096:9;;3021:91;:::o;5687:212::-;5775:4;5791:80;5800:12;:10;:12::i;:::-;5814:7;5860:10;5823:11;:25;5835:12;:10;:12::i;:::-;5823:25;;;;;;;;;;;;;;;:34;5849:7;5823:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;5791:8;:80::i;:::-;5888:4;5881:11;;5687:212;;;;:::o;3336:125::-;3410:7;3436:9;:18;3446:7;3436:18;;;;;;;;;;;;;;;;3429:25;;3336:125;;;:::o;2295:102::-;2351:13;2383:7;2376:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2295:102;:::o;6386:405::-;6479:4;6495:24;6522:11;:25;6534:12;:10;:12::i;:::-;6522:25;;;;;;;;;;;;;;;:34;6548:7;6522:34;;;;;;;;;;;;;;;;6495:61;;6594:15;6574:16;:35;;6566:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6685:67;6694:12;:10;:12::i;:::-;6708:7;6736:15;6717:16;:34;6685:8;:67::i;:::-;6780:4;6773:11;;;6386:405;;;;:::o;3664:172::-;3750:4;3766:42;3776:12;:10;:12::i;:::-;3790:9;3801:6;3766:9;:42::i;:::-;3825:4;3818:11;;3664:172;;;;:::o;3894:149::-;3983:7;4009:11;:18;4021:5;4009:18;;;;;;;;;;;;;;;:27;4028:7;4009:27;;;;;;;;;;;;;;;;4002:34;;3894:149;;;;:::o;587:96:8:-;640:7;666:10;659:17;;587:96;:::o;9962:370:0:-;10110:1;10093:19;;:5;:19;;;;10085:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10190:1;10171:21;;:7;:21;;;;10163:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10272:6;10242:11;:18;10254:5;10242:18;;;;;;;;;;;;;;;:27;10261:7;10242:27;;;;;;;;;;;;;;;:36;;;;10309:7;10293:32;;10302:5;10293:32;;;10318:6;10293:32;;;;;;:::i;:::-;;;;;;;;9962:370;;;:::o;7265:713::-;7418:1;7400:20;;:6;:20;;;;7392:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;7501:1;7480:23;;:9;:23;;;;7472:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;7554:47;7575:6;7583:9;7594:6;7554:20;:47::i;:::-;7612:21;7636:9;:17;7646:6;7636:17;;;;;;;;;;;;;;;;7612:41;;7688:6;7671:13;:23;;7663:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7807:6;7791:13;:22;7771:9;:17;7781:6;7771:17;;;;;;;;;;;;;;;:42;;;;7857:6;7833:9;:20;7843:9;7833:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;7896:9;7879:35;;7888:6;7879:35;;;7907:6;7879:35;;;;;;:::i;:::-;;;;;;;;7925:46;7945:6;7953:9;7964:6;7925:19;:46::i;:::-;7382:596;7265:713;;;:::o;10916:121::-;;;;:::o;11625:120::-;;;;:::o;7:99:14:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:474::-;5304:6;5312;5361:2;5349:9;5340:7;5336:23;5332:32;5329:119;;;5367:79;;:::i;:::-;5329:119;5487:1;5512:53;5557:7;5548:6;5537:9;5533:22;5512:53;:::i;:::-;5502:63;;5458:117;5614:2;5640:53;5685:7;5676:6;5665:9;5661:22;5640:53;:::i;:::-;5630:63;;5585:118;5236:474;;;;;:::o;5716:180::-;5764:77;5761:1;5754:88;5861:4;5858:1;5851:15;5885:4;5882:1;5875:15;5902:320;5946:6;5983:1;5977:4;5973:12;5963:22;;6030:1;6024:4;6020:12;6051:18;6041:81;;6107:4;6099:6;6095:17;6085:27;;6041:81;6169:2;6161:6;6158:14;6138:18;6135:38;6132:84;;;6188:18;;:::i;:::-;6132:84;5953:269;5902:320;;;:::o;6228:227::-;6368:34;6364:1;6356:6;6352:14;6345:58;6437:10;6432:2;6424:6;6420:15;6413:35;6228:227;:::o;6461:366::-;6603:3;6624:67;6688:2;6683:3;6624:67;:::i;:::-;6617:74;;6700:93;6789:3;6700:93;:::i;:::-;6818:2;6813:3;6809:12;6802:19;;6461:366;;;:::o;6833:419::-;6999:4;7037:2;7026:9;7022:18;7014:26;;7086:9;7080:4;7076:20;7072:1;7061:9;7057:17;7050:47;7114:131;7240:4;7114:131;:::i;:::-;7106:139;;6833:419;;;:::o;7258:180::-;7306:77;7303:1;7296:88;7403:4;7400:1;7393:15;7427:4;7424:1;7417:15;7444:305;7484:3;7503:20;7521:1;7503:20;:::i;:::-;7498:25;;7537:20;7555:1;7537:20;:::i;:::-;7532:25;;7691:1;7623:66;7619:74;7616:1;7613:81;7610:107;;;7697:18;;:::i;:::-;7610:107;7741:1;7738;7734:9;7727:16;;7444:305;;;;:::o;7755:224::-;7895:34;7891:1;7883:6;7879:14;7872:58;7964:7;7959:2;7951:6;7947:15;7940:32;7755:224;:::o;7985:366::-;8127:3;8148:67;8212:2;8207:3;8148:67;:::i;:::-;8141:74;;8224:93;8313:3;8224:93;:::i;:::-;8342:2;8337:3;8333:12;8326:19;;7985:366;;;:::o;8357:419::-;8523:4;8561:2;8550:9;8546:18;8538:26;;8610:9;8604:4;8600:20;8596:1;8585:9;8581:17;8574:47;8638:131;8764:4;8638:131;:::i;:::-;8630:139;;8357:419;;;:::o;8782:223::-;8922:34;8918:1;8910:6;8906:14;8899:58;8991:6;8986:2;8978:6;8974:15;8967:31;8782:223;:::o;9011:366::-;9153:3;9174:67;9238:2;9233:3;9174:67;:::i;:::-;9167:74;;9250:93;9339:3;9250:93;:::i;:::-;9368:2;9363:3;9359:12;9352:19;;9011:366;;;:::o;9383:419::-;9549:4;9587:2;9576:9;9572:18;9564:26;;9636:9;9630:4;9626:20;9622:1;9611:9;9607:17;9600:47;9664:131;9790:4;9664:131;:::i;:::-;9656:139;;9383:419;;;:::o;9808:221::-;9948:34;9944:1;9936:6;9932:14;9925:58;10017:4;10012:2;10004:6;10000:15;9993:29;9808:221;:::o;10035:366::-;10177:3;10198:67;10262:2;10257:3;10198:67;:::i;:::-;10191:74;;10274:93;10363:3;10274:93;:::i;:::-;10392:2;10387:3;10383:12;10376:19;;10035:366;;;:::o;10407:419::-;10573:4;10611:2;10600:9;10596:18;10588:26;;10660:9;10654:4;10650:20;10646:1;10635:9;10631:17;10624:47;10688:131;10814:4;10688:131;:::i;:::-;10680:139;;10407:419;;;:::o;10832:224::-;10972:34;10968:1;10960:6;10956:14;10949:58;11041:7;11036:2;11028:6;11024:15;11017:32;10832:224;:::o;11062:366::-;11204:3;11225:67;11289:2;11284:3;11225:67;:::i;:::-;11218:74;;11301:93;11390:3;11301:93;:::i;:::-;11419:2;11414:3;11410:12;11403:19;;11062:366;;;:::o;11434:419::-;11600:4;11638:2;11627:9;11623:18;11615:26;;11687:9;11681:4;11677:20;11673:1;11662:9;11658:17;11651:47;11715:131;11841:4;11715:131;:::i;:::-;11707:139;;11434:419;;;:::o;11859:222::-;11999:34;11995:1;11987:6;11983:14;11976:58;12068:5;12063:2;12055:6;12051:15;12044:30;11859:222;:::o;12087:366::-;12229:3;12250:67;12314:2;12309:3;12250:67;:::i;:::-;12243:74;;12326:93;12415:3;12326:93;:::i;:::-;12444:2;12439:3;12435:12;12428:19;;12087:366;;;:::o;12459:419::-;12625:4;12663:2;12652:9;12648:18;12640:26;;12712:9;12706:4;12702:20;12698:1;12687:9;12683:17;12676:47;12740:131;12866:4;12740:131;:::i;:::-;12732:139;;12459:419;;;:::o;12884:225::-;13024:34;13020:1;13012:6;13008:14;13001:58;13093:8;13088:2;13080:6;13076:15;13069:33;12884:225;:::o;13115:366::-;13257:3;13278:67;13342:2;13337:3;13278:67;:::i;:::-;13271:74;;13354:93;13443:3;13354:93;:::i;:::-;13472:2;13467:3;13463:12;13456:19;;13115:366;;;:::o;13487:419::-;13653:4;13691:2;13680:9;13676:18;13668:26;;13740:9;13734:4;13730:20;13726:1;13715:9;13711:17;13704:47;13768:131;13894:4;13768:131;:::i;:::-;13760:139;;13487:419;;;:::o",
+ "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\nimport \"./extensions/IERC20Metadata.sol\";\nimport \"../../utils/Context.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20PresetMinterPauser}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC20\n * applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20, IERC20Metadata {\n mapping(address => uint256) private _balances;\n\n mapping(address => mapping(address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n /**\n * @dev Sets the values for {name} and {symbol}.\n *\n * The default value of {decimals} is 18. To select a different value for\n * {decimals} you should overload it.\n *\n * All two of these values are immutable: they can only be set once during\n * construction.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the value {ERC20} uses, unless this function is\n * overridden;\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual override returns (uint8) {\n return 18;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view virtual override returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view virtual override returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `recipient` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address recipient, uint256 amount) public virtual override returns (bool) {\n _transfer(_msgSender(), recipient, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual override returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public virtual override returns (bool) {\n _approve(_msgSender(), spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20}.\n *\n * Requirements:\n *\n * - `sender` and `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n * - the caller must have allowance for ``sender``'s tokens of at least\n * `amount`.\n */\n function transferFrom(\n address sender,\n address recipient,\n uint256 amount\n ) public virtual override returns (bool) {\n _transfer(sender, recipient, amount);\n\n uint256 currentAllowance = _allowances[sender][_msgSender()];\n require(currentAllowance >= amount, \"ERC20: transfer amount exceeds allowance\");\n unchecked {\n _approve(sender, _msgSender(), currentAllowance - amount);\n }\n\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {\n uint256 currentAllowance = _allowances[_msgSender()][spender];\n require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\");\n unchecked {\n _approve(_msgSender(), spender, currentAllowance - subtractedValue);\n }\n\n return true;\n }\n\n /**\n * @dev Moves `amount` of tokens from `sender` to `recipient`.\n *\n * This internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `sender` cannot be the zero address.\n * - `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n */\n function _transfer(\n address sender,\n address recipient,\n uint256 amount\n ) internal virtual {\n require(sender != address(0), \"ERC20: transfer from the zero address\");\n require(recipient != address(0), \"ERC20: transfer to the zero address\");\n\n _beforeTokenTransfer(sender, recipient, amount);\n\n uint256 senderBalance = _balances[sender];\n require(senderBalance >= amount, \"ERC20: transfer amount exceeds balance\");\n unchecked {\n _balances[sender] = senderBalance - amount;\n }\n _balances[recipient] += amount;\n\n emit Transfer(sender, recipient, amount);\n\n _afterTokenTransfer(sender, recipient, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _beforeTokenTransfer(address(0), account, amount);\n\n _totalSupply += amount;\n _balances[account] += amount;\n emit Transfer(address(0), account, amount);\n\n _afterTokenTransfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _beforeTokenTransfer(account, address(0), amount);\n\n uint256 accountBalance = _balances[account];\n require(accountBalance >= amount, \"ERC20: burn amount exceeds balance\");\n unchecked {\n _balances[account] = accountBalance - amount;\n }\n _totalSupply -= amount;\n\n emit Transfer(account, address(0), amount);\n\n _afterTokenTransfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Hook that is called before any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n\n /**\n * @dev Hook that is called after any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * has been transferred to `to`.\n * - when `from` is zero, `amount` tokens have been minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _afterTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n}\n",
+ "sourcePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
+ "ast": {
+ "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
+ "exportedSymbols": {
+ "Context": [
+ 1944
+ ],
+ "ERC20": [
+ 545
+ ],
+ "IERC20": [
+ 623
+ ],
+ "IERC20Metadata": [
+ 648
+ ]
+ },
+ "id": 546,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 1,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:0"
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
+ "file": "./IERC20.sol",
+ "id": 2,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 546,
+ "sourceUnit": 624,
+ "src": "58:22:0",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol",
+ "file": "./extensions/IERC20Metadata.sol",
+ "id": 3,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 546,
+ "sourceUnit": 649,
+ "src": "81:41:0",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/Context.sol",
+ "file": "../../utils/Context.sol",
+ "id": 4,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 546,
+ "sourceUnit": 1945,
+ "src": "123:33:0",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "abstract": false,
+ "baseContracts": [
+ {
+ "baseName": {
+ "id": 6,
+ "name": "Context",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1944,
+ "src": "1349:7:0"
+ },
+ "id": 7,
+ "nodeType": "InheritanceSpecifier",
+ "src": "1349:7:0"
+ },
+ {
+ "baseName": {
+ "id": 8,
+ "name": "IERC20",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 623,
+ "src": "1358:6:0"
+ },
+ "id": 9,
+ "nodeType": "InheritanceSpecifier",
+ "src": "1358:6:0"
+ },
+ {
+ "baseName": {
+ "id": 10,
+ "name": "IERC20Metadata",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 648,
+ "src": "1366:14:0"
+ },
+ "id": 11,
+ "nodeType": "InheritanceSpecifier",
+ "src": "1366:14:0"
+ }
+ ],
+ "canonicalName": "ERC20",
+ "contractDependencies": [],
+ "contractKind": "contract",
+ "documentation": {
+ "id": 5,
+ "nodeType": "StructuredDocumentation",
+ "src": "158:1172:0",
+ "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}."
+ },
+ "fullyImplemented": true,
+ "id": 545,
+ "linearizedBaseContracts": [
+ 545,
+ 648,
+ 623,
+ 1944
+ ],
+ "name": "ERC20",
+ "nameLocation": "1340:5:0",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "constant": false,
+ "id": 15,
+ "mutability": "mutable",
+ "name": "_balances",
+ "nameLocation": "1423:9:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 545,
+ "src": "1387:45:0",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ },
+ "typeName": {
+ "id": 14,
+ "keyType": {
+ "id": 12,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1395:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1387:27:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ },
+ "valueType": {
+ "id": 13,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1406:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 21,
+ "mutability": "mutable",
+ "name": "_allowances",
+ "nameLocation": "1495:11:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 545,
+ "src": "1439:67:0",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
+ "typeString": "mapping(address => mapping(address => uint256))"
+ },
+ "typeName": {
+ "id": 20,
+ "keyType": {
+ "id": 16,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1447:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1439:47:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
+ "typeString": "mapping(address => mapping(address => uint256))"
+ },
+ "valueType": {
+ "id": 19,
+ "keyType": {
+ "id": 17,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1466:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1458:27:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ },
+ "valueType": {
+ "id": 18,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1477:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 23,
+ "mutability": "mutable",
+ "name": "_totalSupply",
+ "nameLocation": "1529:12:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 545,
+ "src": "1513:28:0",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 22,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1513:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 25,
+ "mutability": "mutable",
+ "name": "_name",
+ "nameLocation": "1563:5:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 545,
+ "src": "1548:20:0",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 24,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1548:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 27,
+ "mutability": "mutable",
+ "name": "_symbol",
+ "nameLocation": "1589:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 545,
+ "src": "1574:22:0",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 26,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1574:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "body": {
+ "id": 43,
+ "nodeType": "Block",
+ "src": "1962:57:0",
+ "statements": [
+ {
+ "expression": {
+ "id": 37,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 35,
+ "name": "_name",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 25,
+ "src": "1972:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 36,
+ "name": "name_",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 30,
+ "src": "1980:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "src": "1972:13:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "id": 38,
+ "nodeType": "ExpressionStatement",
+ "src": "1972:13:0"
+ },
+ {
+ "expression": {
+ "id": 41,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 39,
+ "name": "_symbol",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 27,
+ "src": "1995:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 40,
+ "name": "symbol_",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 32,
+ "src": "2005:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "src": "1995:17:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "id": 42,
+ "nodeType": "ExpressionStatement",
+ "src": "1995:17:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 28,
+ "nodeType": "StructuredDocumentation",
+ "src": "1603:298:0",
+ "text": " @dev Sets the values for {name} and {symbol}.\n The default value of {decimals} is 18. To select a different value for\n {decimals} you should overload it.\n All two of these values are immutable: they can only be set once during\n construction."
+ },
+ "id": 44,
+ "implemented": true,
+ "kind": "constructor",
+ "modifiers": [],
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 33,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 30,
+ "mutability": "mutable",
+ "name": "name_",
+ "nameLocation": "1932:5:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 44,
+ "src": "1918:19:0",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 29,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1918:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 32,
+ "mutability": "mutable",
+ "name": "symbol_",
+ "nameLocation": "1953:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 44,
+ "src": "1939:21:0",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 31,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1939:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1917:44:0"
+ },
+ "returnParameters": {
+ "id": 34,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1962:0:0"
+ },
+ "scope": 545,
+ "src": "1906:113:0",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 635
+ ],
+ "body": {
+ "id": 53,
+ "nodeType": "Block",
+ "src": "2153:29:0",
+ "statements": [
+ {
+ "expression": {
+ "id": 51,
+ "name": "_name",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 25,
+ "src": "2170:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "functionReturnParameters": 50,
+ "id": 52,
+ "nodeType": "Return",
+ "src": "2163:12:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 45,
+ "nodeType": "StructuredDocumentation",
+ "src": "2025:54:0",
+ "text": " @dev Returns the name of the token."
+ },
+ "functionSelector": "06fdde03",
+ "id": 54,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "name",
+ "nameLocation": "2093:4:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 47,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "2120:8:0"
+ },
+ "parameters": {
+ "id": 46,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2097:2:0"
+ },
+ "returnParameters": {
+ "id": 50,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 49,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 54,
+ "src": "2138:13:0",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 48,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "2138:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2137:15:0"
+ },
+ "scope": 545,
+ "src": "2084:98:0",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 641
+ ],
+ "body": {
+ "id": 63,
+ "nodeType": "Block",
+ "src": "2366:31:0",
+ "statements": [
+ {
+ "expression": {
+ "id": 61,
+ "name": "_symbol",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 27,
+ "src": "2383:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "functionReturnParameters": 60,
+ "id": 62,
+ "nodeType": "Return",
+ "src": "2376:14:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 55,
+ "nodeType": "StructuredDocumentation",
+ "src": "2188:102:0",
+ "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name."
+ },
+ "functionSelector": "95d89b41",
+ "id": 64,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "symbol",
+ "nameLocation": "2304:6:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 57,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "2333:8:0"
+ },
+ "parameters": {
+ "id": 56,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2310:2:0"
+ },
+ "returnParameters": {
+ "id": 60,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 59,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 64,
+ "src": "2351:13:0",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 58,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "2351:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2350:15:0"
+ },
+ "scope": 545,
+ "src": "2295:102:0",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 647
+ ],
+ "body": {
+ "id": 73,
+ "nodeType": "Block",
+ "src": "3086:26:0",
+ "statements": [
+ {
+ "expression": {
+ "hexValue": "3138",
+ "id": 71,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3103:2:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_18_by_1",
+ "typeString": "int_const 18"
+ },
+ "value": "18"
+ },
+ "functionReturnParameters": 70,
+ "id": 72,
+ "nodeType": "Return",
+ "src": "3096:9:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 65,
+ "nodeType": "StructuredDocumentation",
+ "src": "2403:613:0",
+ "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the value {ERC20} uses, unless this function is\n overridden;\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."
+ },
+ "functionSelector": "313ce567",
+ "id": 74,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "decimals",
+ "nameLocation": "3030:8:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 67,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "3061:8:0"
+ },
+ "parameters": {
+ "id": 66,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3038:2:0"
+ },
+ "returnParameters": {
+ "id": 70,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 69,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 74,
+ "src": "3079:5:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint8",
+ "typeString": "uint8"
+ },
+ "typeName": {
+ "id": 68,
+ "name": "uint8",
+ "nodeType": "ElementaryTypeName",
+ "src": "3079:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint8",
+ "typeString": "uint8"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3078:7:0"
+ },
+ "scope": 545,
+ "src": "3021:91:0",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 554
+ ],
+ "body": {
+ "id": 83,
+ "nodeType": "Block",
+ "src": "3242:36:0",
+ "statements": [
+ {
+ "expression": {
+ "id": 81,
+ "name": "_totalSupply",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 23,
+ "src": "3259:12:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "functionReturnParameters": 80,
+ "id": 82,
+ "nodeType": "Return",
+ "src": "3252:19:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 75,
+ "nodeType": "StructuredDocumentation",
+ "src": "3118:49:0",
+ "text": " @dev See {IERC20-totalSupply}."
+ },
+ "functionSelector": "18160ddd",
+ "id": 84,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "totalSupply",
+ "nameLocation": "3181:11:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 77,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "3215:8:0"
+ },
+ "parameters": {
+ "id": 76,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3192:2:0"
+ },
+ "returnParameters": {
+ "id": 80,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 79,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 84,
+ "src": "3233:7:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 78,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3233:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3232:9:0"
+ },
+ "scope": 545,
+ "src": "3172:106:0",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 562
+ ],
+ "body": {
+ "id": 97,
+ "nodeType": "Block",
+ "src": "3419:42:0",
+ "statements": [
+ {
+ "expression": {
+ "baseExpression": {
+ "id": 93,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 15,
+ "src": "3436:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 95,
+ "indexExpression": {
+ "id": 94,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 87,
+ "src": "3446:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "3436:18:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "functionReturnParameters": 92,
+ "id": 96,
+ "nodeType": "Return",
+ "src": "3429:25:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 85,
+ "nodeType": "StructuredDocumentation",
+ "src": "3284:47:0",
+ "text": " @dev See {IERC20-balanceOf}."
+ },
+ "functionSelector": "70a08231",
+ "id": 98,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "balanceOf",
+ "nameLocation": "3345:9:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 89,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "3392:8:0"
+ },
+ "parameters": {
+ "id": 88,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 87,
+ "mutability": "mutable",
+ "name": "account",
+ "nameLocation": "3363:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 98,
+ "src": "3355:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 86,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3355:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3354:17:0"
+ },
+ "returnParameters": {
+ "id": 92,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 91,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 98,
+ "src": "3410:7:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 90,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3410:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3409:9:0"
+ },
+ "scope": 545,
+ "src": "3336:125:0",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 572
+ ],
+ "body": {
+ "id": 118,
+ "nodeType": "Block",
+ "src": "3756:80:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 110,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "3776:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 111,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3776:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 112,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 101,
+ "src": "3790:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 113,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 103,
+ "src": "3801:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 109,
+ "name": "_transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 349,
+ "src": "3766:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 114,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3766:42:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 115,
+ "nodeType": "ExpressionStatement",
+ "src": "3766:42:0"
+ },
+ {
+ "expression": {
+ "hexValue": "74727565",
+ "id": 116,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "bool",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3825:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "value": "true"
+ },
+ "functionReturnParameters": 108,
+ "id": 117,
+ "nodeType": "Return",
+ "src": "3818:11:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 99,
+ "nodeType": "StructuredDocumentation",
+ "src": "3467:192:0",
+ "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `recipient` cannot be the zero address.\n - the caller must have a balance of at least `amount`."
+ },
+ "functionSelector": "a9059cbb",
+ "id": 119,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "transfer",
+ "nameLocation": "3673:8:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 105,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "3732:8:0"
+ },
+ "parameters": {
+ "id": 104,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 101,
+ "mutability": "mutable",
+ "name": "recipient",
+ "nameLocation": "3690:9:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 119,
+ "src": "3682:17:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 100,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3682:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 103,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "3709:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 119,
+ "src": "3701:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 102,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3701:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3681:35:0"
+ },
+ "returnParameters": {
+ "id": 108,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 107,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 119,
+ "src": "3750:4:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 106,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "3750:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3749:6:0"
+ },
+ "scope": 545,
+ "src": "3664:172:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 582
+ ],
+ "body": {
+ "id": 136,
+ "nodeType": "Block",
+ "src": "3992:51:0",
+ "statements": [
+ {
+ "expression": {
+ "baseExpression": {
+ "baseExpression": {
+ "id": 130,
+ "name": "_allowances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 21,
+ "src": "4009:11:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
+ "typeString": "mapping(address => mapping(address => uint256))"
+ }
+ },
+ "id": 132,
+ "indexExpression": {
+ "id": 131,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 122,
+ "src": "4021:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4009:18:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 134,
+ "indexExpression": {
+ "id": 133,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 124,
+ "src": "4028:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4009:27:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "functionReturnParameters": 129,
+ "id": 135,
+ "nodeType": "Return",
+ "src": "4002:34:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 120,
+ "nodeType": "StructuredDocumentation",
+ "src": "3842:47:0",
+ "text": " @dev See {IERC20-allowance}."
+ },
+ "functionSelector": "dd62ed3e",
+ "id": 137,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "allowance",
+ "nameLocation": "3903:9:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 126,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "3965:8:0"
+ },
+ "parameters": {
+ "id": 125,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 122,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "3921:5:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 137,
+ "src": "3913:13:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 121,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3913:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 124,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "3936:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 137,
+ "src": "3928:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 123,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3928:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3912:32:0"
+ },
+ "returnParameters": {
+ "id": 129,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 128,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 137,
+ "src": "3983:7:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 127,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3983:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3982:9:0"
+ },
+ "scope": 545,
+ "src": "3894:149:0",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 592
+ ],
+ "body": {
+ "id": 157,
+ "nodeType": "Block",
+ "src": "4270:77:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 149,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "4289:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 150,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4289:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 151,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 140,
+ "src": "4303:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 152,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 142,
+ "src": "4312:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 148,
+ "name": "_approve",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 522,
+ "src": "4280:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 153,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4280:39:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 154,
+ "nodeType": "ExpressionStatement",
+ "src": "4280:39:0"
+ },
+ {
+ "expression": {
+ "hexValue": "74727565",
+ "id": 155,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "bool",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4336:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "value": "true"
+ },
+ "functionReturnParameters": 147,
+ "id": 156,
+ "nodeType": "Return",
+ "src": "4329:11:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 138,
+ "nodeType": "StructuredDocumentation",
+ "src": "4049:127:0",
+ "text": " @dev See {IERC20-approve}.\n Requirements:\n - `spender` cannot be the zero address."
+ },
+ "functionSelector": "095ea7b3",
+ "id": 158,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "approve",
+ "nameLocation": "4190:7:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 144,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "4246:8:0"
+ },
+ "parameters": {
+ "id": 143,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 140,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "4206:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 158,
+ "src": "4198:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 139,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4198:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 142,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "4223:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 158,
+ "src": "4215:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 141,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4215:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4197:33:0"
+ },
+ "returnParameters": {
+ "id": 147,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 146,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 158,
+ "src": "4264:4:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 145,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "4264:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4263:6:0"
+ },
+ "scope": 545,
+ "src": "4181:166:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 604
+ ],
+ "body": {
+ "id": 205,
+ "nodeType": "Block",
+ "src": "4956:336:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 172,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 161,
+ "src": "4976:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 173,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 163,
+ "src": "4984:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 174,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 165,
+ "src": "4995:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 171,
+ "name": "_transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 349,
+ "src": "4966:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 175,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4966:36:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 176,
+ "nodeType": "ExpressionStatement",
+ "src": "4966:36:0"
+ },
+ {
+ "assignments": [
+ 178
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 178,
+ "mutability": "mutable",
+ "name": "currentAllowance",
+ "nameLocation": "5021:16:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 205,
+ "src": "5013:24:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 177,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5013:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 185,
+ "initialValue": {
+ "baseExpression": {
+ "baseExpression": {
+ "id": 179,
+ "name": "_allowances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 21,
+ "src": "5040:11:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
+ "typeString": "mapping(address => mapping(address => uint256))"
+ }
+ },
+ "id": 181,
+ "indexExpression": {
+ "id": 180,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 161,
+ "src": "5052:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5040:19:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 184,
+ "indexExpression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 182,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "5060:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 183,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5060:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5040:33:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "5013:60:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 189,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 187,
+ "name": "currentAllowance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 178,
+ "src": "5091:16:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 188,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 165,
+ "src": "5111:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "5091:26:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365",
+ "id": 190,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5119:42:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330",
+ "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\""
+ },
+ "value": "ERC20: transfer amount exceeds allowance"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330",
+ "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\""
+ }
+ ],
+ "id": 186,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "5083:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 191,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5083:79:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 192,
+ "nodeType": "ExpressionStatement",
+ "src": "5083:79:0"
+ },
+ {
+ "id": 202,
+ "nodeType": "UncheckedBlock",
+ "src": "5172:92:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 194,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 161,
+ "src": "5205:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 195,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "5213:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 196,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5213:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 199,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 197,
+ "name": "currentAllowance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 178,
+ "src": "5227:16:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "id": 198,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 165,
+ "src": "5246:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "5227:25:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 193,
+ "name": "_approve",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 522,
+ "src": "5196:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 200,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5196:57:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 201,
+ "nodeType": "ExpressionStatement",
+ "src": "5196:57:0"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "hexValue": "74727565",
+ "id": 203,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "bool",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5281:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "value": "true"
+ },
+ "functionReturnParameters": 170,
+ "id": 204,
+ "nodeType": "Return",
+ "src": "5274:11:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 159,
+ "nodeType": "StructuredDocumentation",
+ "src": "4353:456:0",
+ "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n Requirements:\n - `sender` and `recipient` cannot be the zero address.\n - `sender` must have a balance of at least `amount`.\n - the caller must have allowance for ``sender``'s tokens of at least\n `amount`."
+ },
+ "functionSelector": "23b872dd",
+ "id": 206,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "transferFrom",
+ "nameLocation": "4823:12:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 167,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "4932:8:0"
+ },
+ "parameters": {
+ "id": 166,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 161,
+ "mutability": "mutable",
+ "name": "sender",
+ "nameLocation": "4853:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 206,
+ "src": "4845:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 160,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4845:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 163,
+ "mutability": "mutable",
+ "name": "recipient",
+ "nameLocation": "4877:9:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 206,
+ "src": "4869:17:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 162,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4869:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 165,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "4904:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 206,
+ "src": "4896:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 164,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4896:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4835:81:0"
+ },
+ "returnParameters": {
+ "id": 170,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 169,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 206,
+ "src": "4950:4:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 168,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "4950:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4949:6:0"
+ },
+ "scope": 545,
+ "src": "4814:478:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 232,
+ "nodeType": "Block",
+ "src": "5781:118:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 217,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "5800:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 218,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5800:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 219,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 209,
+ "src": "5814:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 227,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "baseExpression": {
+ "baseExpression": {
+ "id": 220,
+ "name": "_allowances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 21,
+ "src": "5823:11:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
+ "typeString": "mapping(address => mapping(address => uint256))"
+ }
+ },
+ "id": 223,
+ "indexExpression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 221,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "5835:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 222,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5835:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5823:25:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 225,
+ "indexExpression": {
+ "id": 224,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 209,
+ "src": "5849:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5823:34:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "+",
+ "rightExpression": {
+ "id": 226,
+ "name": "addedValue",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 211,
+ "src": "5860:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "5823:47:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 216,
+ "name": "_approve",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 522,
+ "src": "5791:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 228,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5791:80:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 229,
+ "nodeType": "ExpressionStatement",
+ "src": "5791:80:0"
+ },
+ {
+ "expression": {
+ "hexValue": "74727565",
+ "id": 230,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "bool",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5888:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "value": "true"
+ },
+ "functionReturnParameters": 215,
+ "id": 231,
+ "nodeType": "Return",
+ "src": "5881:11:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 207,
+ "nodeType": "StructuredDocumentation",
+ "src": "5298:384:0",
+ "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address."
+ },
+ "functionSelector": "39509351",
+ "id": 233,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "increaseAllowance",
+ "nameLocation": "5696:17:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 212,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 209,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "5722:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 233,
+ "src": "5714:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 208,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5714:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 211,
+ "mutability": "mutable",
+ "name": "addedValue",
+ "nameLocation": "5739:10:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 233,
+ "src": "5731:18:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 210,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5731:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5713:37:0"
+ },
+ "returnParameters": {
+ "id": 215,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 214,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 233,
+ "src": "5775:4:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 213,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "5775:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5774:6:0"
+ },
+ "scope": 545,
+ "src": "5687:212:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 271,
+ "nodeType": "Block",
+ "src": "6485:306:0",
+ "statements": [
+ {
+ "assignments": [
+ 244
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 244,
+ "mutability": "mutable",
+ "name": "currentAllowance",
+ "nameLocation": "6503:16:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 271,
+ "src": "6495:24:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 243,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "6495:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 251,
+ "initialValue": {
+ "baseExpression": {
+ "baseExpression": {
+ "id": 245,
+ "name": "_allowances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 21,
+ "src": "6522:11:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
+ "typeString": "mapping(address => mapping(address => uint256))"
+ }
+ },
+ "id": 248,
+ "indexExpression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 246,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "6534:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 247,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6534:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "6522:25:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 250,
+ "indexExpression": {
+ "id": 249,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 236,
+ "src": "6548:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "6522:34:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "6495:61:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 255,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 253,
+ "name": "currentAllowance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 244,
+ "src": "6574:16:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 254,
+ "name": "subtractedValue",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 238,
+ "src": "6594:15:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "6574:35:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f",
+ "id": 256,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "6611:39:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8",
+ "typeString": "literal_string \"ERC20: decreased allowance below zero\""
+ },
+ "value": "ERC20: decreased allowance below zero"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8",
+ "typeString": "literal_string \"ERC20: decreased allowance below zero\""
+ }
+ ],
+ "id": 252,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "6566:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 257,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6566:85:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 258,
+ "nodeType": "ExpressionStatement",
+ "src": "6566:85:0"
+ },
+ {
+ "id": 268,
+ "nodeType": "UncheckedBlock",
+ "src": "6661:102:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 260,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "6694:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 261,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6694:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 262,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 236,
+ "src": "6708:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 265,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 263,
+ "name": "currentAllowance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 244,
+ "src": "6717:16:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "id": 264,
+ "name": "subtractedValue",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 238,
+ "src": "6736:15:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "6717:34:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 259,
+ "name": "_approve",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 522,
+ "src": "6685:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 266,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6685:67:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 267,
+ "nodeType": "ExpressionStatement",
+ "src": "6685:67:0"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "hexValue": "74727565",
+ "id": 269,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "bool",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "6780:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "value": "true"
+ },
+ "functionReturnParameters": 242,
+ "id": 270,
+ "nodeType": "Return",
+ "src": "6773:11:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 234,
+ "nodeType": "StructuredDocumentation",
+ "src": "5905:476:0",
+ "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`."
+ },
+ "functionSelector": "a457c2d7",
+ "id": 272,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "decreaseAllowance",
+ "nameLocation": "6395:17:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 239,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 236,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "6421:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 272,
+ "src": "6413:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 235,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "6413:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 238,
+ "mutability": "mutable",
+ "name": "subtractedValue",
+ "nameLocation": "6438:15:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 272,
+ "src": "6430:23:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 237,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "6430:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "6412:42:0"
+ },
+ "returnParameters": {
+ "id": 242,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 241,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 272,
+ "src": "6479:4:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 240,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "6479:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "6478:6:0"
+ },
+ "scope": 545,
+ "src": "6386:405:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 348,
+ "nodeType": "Block",
+ "src": "7382:596:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 288,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 283,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 275,
+ "src": "7400:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 286,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7418:1:0",
+ "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": 285,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "7410:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 284,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "7410:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 287,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7410:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "7400:20:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373",
+ "id": 289,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7422:39:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea",
+ "typeString": "literal_string \"ERC20: transfer from the zero address\""
+ },
+ "value": "ERC20: transfer from the zero address"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea",
+ "typeString": "literal_string \"ERC20: transfer from the zero address\""
+ }
+ ],
+ "id": 282,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "7392:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 290,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7392:70:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 291,
+ "nodeType": "ExpressionStatement",
+ "src": "7392:70:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 298,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 293,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 277,
+ "src": "7480:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 296,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7501:1:0",
+ "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": 295,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "7493:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 294,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "7493:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 297,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7493:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "7480:23:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373",
+ "id": 299,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7505:37:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f",
+ "typeString": "literal_string \"ERC20: transfer to the zero address\""
+ },
+ "value": "ERC20: transfer to the zero address"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f",
+ "typeString": "literal_string \"ERC20: transfer to the zero address\""
+ }
+ ],
+ "id": 292,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "7472:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 300,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7472:71:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 301,
+ "nodeType": "ExpressionStatement",
+ "src": "7472:71:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 303,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 275,
+ "src": "7575:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 304,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 277,
+ "src": "7583:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 305,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 279,
+ "src": "7594:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 302,
+ "name": "_beforeTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 533,
+ "src": "7554:20:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 306,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7554:47:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 307,
+ "nodeType": "ExpressionStatement",
+ "src": "7554:47:0"
+ },
+ {
+ "assignments": [
+ 309
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 309,
+ "mutability": "mutable",
+ "name": "senderBalance",
+ "nameLocation": "7620:13:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 348,
+ "src": "7612:21:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 308,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "7612:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 313,
+ "initialValue": {
+ "baseExpression": {
+ "id": 310,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 15,
+ "src": "7636:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 312,
+ "indexExpression": {
+ "id": 311,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 275,
+ "src": "7646:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "7636:17:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "7612:41:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 317,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 315,
+ "name": "senderBalance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 309,
+ "src": "7671:13:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 316,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 279,
+ "src": "7688:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "7671:23:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365",
+ "id": 318,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7696:40:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6",
+ "typeString": "literal_string \"ERC20: transfer amount exceeds balance\""
+ },
+ "value": "ERC20: transfer amount exceeds balance"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6",
+ "typeString": "literal_string \"ERC20: transfer amount exceeds balance\""
+ }
+ ],
+ "id": 314,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "7663:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 319,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7663:74:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 320,
+ "nodeType": "ExpressionStatement",
+ "src": "7663:74:0"
+ },
+ {
+ "id": 329,
+ "nodeType": "UncheckedBlock",
+ "src": "7747:77:0",
+ "statements": [
+ {
+ "expression": {
+ "id": 327,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 321,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 15,
+ "src": "7771:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 323,
+ "indexExpression": {
+ "id": 322,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 275,
+ "src": "7781:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "7771:17:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 326,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 324,
+ "name": "senderBalance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 309,
+ "src": "7791:13:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "id": 325,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 279,
+ "src": "7807:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "7791:22:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "7771:42:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 328,
+ "nodeType": "ExpressionStatement",
+ "src": "7771:42:0"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "id": 334,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 330,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 15,
+ "src": "7833:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 332,
+ "indexExpression": {
+ "id": 331,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 277,
+ "src": "7843:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "7833:20:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "+=",
+ "rightHandSide": {
+ "id": 333,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 279,
+ "src": "7857:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "7833:30:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 335,
+ "nodeType": "ExpressionStatement",
+ "src": "7833:30:0"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "id": 337,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 275,
+ "src": "7888:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 338,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 277,
+ "src": "7896:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 339,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 279,
+ "src": "7907:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 336,
+ "name": "Transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 613,
+ "src": "7879:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 340,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7879:35:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 341,
+ "nodeType": "EmitStatement",
+ "src": "7874:40:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 343,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 275,
+ "src": "7945:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 344,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 277,
+ "src": "7953:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 345,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 279,
+ "src": "7964:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 342,
+ "name": "_afterTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 544,
+ "src": "7925:19:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 346,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7925:46:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 347,
+ "nodeType": "ExpressionStatement",
+ "src": "7925:46:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 273,
+ "nodeType": "StructuredDocumentation",
+ "src": "6797:463:0",
+ "text": " @dev Moves `amount` of tokens from `sender` to `recipient`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `sender` cannot be the zero address.\n - `recipient` cannot be the zero address.\n - `sender` must have a balance of at least `amount`."
+ },
+ "id": 349,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_transfer",
+ "nameLocation": "7274:9:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 280,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 275,
+ "mutability": "mutable",
+ "name": "sender",
+ "nameLocation": "7301:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 349,
+ "src": "7293:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 274,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "7293:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 277,
+ "mutability": "mutable",
+ "name": "recipient",
+ "nameLocation": "7325:9:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 349,
+ "src": "7317:17:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 276,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "7317:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 279,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "7352:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 349,
+ "src": "7344:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 278,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "7344:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "7283:81:0"
+ },
+ "returnParameters": {
+ "id": 281,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "7382:0:0"
+ },
+ "scope": 545,
+ "src": "7265:713:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 404,
+ "nodeType": "Block",
+ "src": "8319:324:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 363,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 358,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 352,
+ "src": "8337:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 361,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8356:1:0",
+ "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": 360,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "8348:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 359,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8348:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 362,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8348:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "8337:21:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373",
+ "id": 364,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8360:33:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e",
+ "typeString": "literal_string \"ERC20: mint to the zero address\""
+ },
+ "value": "ERC20: mint to the zero address"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e",
+ "typeString": "literal_string \"ERC20: mint to the zero address\""
+ }
+ ],
+ "id": 357,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "8329:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 365,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8329:65:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 366,
+ "nodeType": "ExpressionStatement",
+ "src": "8329:65:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 370,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8434:1:0",
+ "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": 369,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "8426:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 368,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8426:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 371,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8426:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 372,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 352,
+ "src": "8438:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 373,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 354,
+ "src": "8447:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 367,
+ "name": "_beforeTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 533,
+ "src": "8405:20:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 374,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8405:49:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 375,
+ "nodeType": "ExpressionStatement",
+ "src": "8405:49:0"
+ },
+ {
+ "expression": {
+ "id": 378,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 376,
+ "name": "_totalSupply",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 23,
+ "src": "8465:12:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "+=",
+ "rightHandSide": {
+ "id": 377,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 354,
+ "src": "8481:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "8465:22:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 379,
+ "nodeType": "ExpressionStatement",
+ "src": "8465:22:0"
+ },
+ {
+ "expression": {
+ "id": 384,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 380,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 15,
+ "src": "8497:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 382,
+ "indexExpression": {
+ "id": 381,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 352,
+ "src": "8507:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "8497:18:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "+=",
+ "rightHandSide": {
+ "id": 383,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 354,
+ "src": "8519:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "8497:28:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 385,
+ "nodeType": "ExpressionStatement",
+ "src": "8497:28:0"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 389,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8557:1:0",
+ "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": 388,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "8549:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 387,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8549:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 390,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8549:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 391,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 352,
+ "src": "8561:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 392,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 354,
+ "src": "8570:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 386,
+ "name": "Transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 613,
+ "src": "8540:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 393,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8540:37:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 394,
+ "nodeType": "EmitStatement",
+ "src": "8535:42:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 398,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8616:1:0",
+ "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": 397,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "8608:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 396,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8608:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 399,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8608:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 400,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 352,
+ "src": "8620:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 401,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 354,
+ "src": "8629:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 395,
+ "name": "_afterTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 544,
+ "src": "8588:19:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 402,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8588:48:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 403,
+ "nodeType": "ExpressionStatement",
+ "src": "8588:48:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 350,
+ "nodeType": "StructuredDocumentation",
+ "src": "7984:265:0",
+ "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address."
+ },
+ "id": 405,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_mint",
+ "nameLocation": "8263:5:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 355,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 352,
+ "mutability": "mutable",
+ "name": "account",
+ "nameLocation": "8277:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 405,
+ "src": "8269:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 351,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8269:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 354,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "8294:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 405,
+ "src": "8286:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 353,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "8286:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "8268:33:0"
+ },
+ "returnParameters": {
+ "id": 356,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "8319:0:0"
+ },
+ "scope": 545,
+ "src": "8254:389:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 476,
+ "nodeType": "Block",
+ "src": "9028:511:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 419,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 414,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 408,
+ "src": "9046:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 417,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9065:1:0",
+ "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": 416,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9057:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 415,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9057:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 418,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9057:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "9046:21:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373",
+ "id": 420,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9069:35:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f",
+ "typeString": "literal_string \"ERC20: burn from the zero address\""
+ },
+ "value": "ERC20: burn from the zero address"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f",
+ "typeString": "literal_string \"ERC20: burn from the zero address\""
+ }
+ ],
+ "id": 413,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "9038:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 421,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9038:67:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 422,
+ "nodeType": "ExpressionStatement",
+ "src": "9038:67:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 424,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 408,
+ "src": "9137:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 427,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9154:1:0",
+ "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": 426,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9146:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 425,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9146:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 428,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9146:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 429,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 410,
+ "src": "9158:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 423,
+ "name": "_beforeTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 533,
+ "src": "9116:20:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 430,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9116:49:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 431,
+ "nodeType": "ExpressionStatement",
+ "src": "9116:49:0"
+ },
+ {
+ "assignments": [
+ 433
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 433,
+ "mutability": "mutable",
+ "name": "accountBalance",
+ "nameLocation": "9184:14:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 476,
+ "src": "9176:22:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 432,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "9176:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 437,
+ "initialValue": {
+ "baseExpression": {
+ "id": 434,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 15,
+ "src": "9201:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 436,
+ "indexExpression": {
+ "id": 435,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 408,
+ "src": "9211:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "9201:18:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "9176:43:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 441,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 439,
+ "name": "accountBalance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 433,
+ "src": "9237:14:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 440,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 410,
+ "src": "9255:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "9237:24:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365",
+ "id": 442,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9263:36:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd",
+ "typeString": "literal_string \"ERC20: burn amount exceeds balance\""
+ },
+ "value": "ERC20: burn amount exceeds balance"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd",
+ "typeString": "literal_string \"ERC20: burn amount exceeds balance\""
+ }
+ ],
+ "id": 438,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "9229:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 443,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9229:71:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 444,
+ "nodeType": "ExpressionStatement",
+ "src": "9229:71:0"
+ },
+ {
+ "id": 453,
+ "nodeType": "UncheckedBlock",
+ "src": "9310:79:0",
+ "statements": [
+ {
+ "expression": {
+ "id": 451,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 445,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 15,
+ "src": "9334:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 447,
+ "indexExpression": {
+ "id": 446,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 408,
+ "src": "9344:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "9334:18:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 450,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 448,
+ "name": "accountBalance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 433,
+ "src": "9355:14:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "id": 449,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 410,
+ "src": "9372:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "9355:23:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "9334:44:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 452,
+ "nodeType": "ExpressionStatement",
+ "src": "9334:44:0"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "id": 456,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 454,
+ "name": "_totalSupply",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 23,
+ "src": "9398:12:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "-=",
+ "rightHandSide": {
+ "id": 455,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 410,
+ "src": "9414:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "9398:22:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 457,
+ "nodeType": "ExpressionStatement",
+ "src": "9398:22:0"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "id": 459,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 408,
+ "src": "9445:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 462,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9462:1:0",
+ "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": 461,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9454:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 460,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9454:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 463,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9454:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 464,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 410,
+ "src": "9466:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 458,
+ "name": "Transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 613,
+ "src": "9436:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 465,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9436:37:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 466,
+ "nodeType": "EmitStatement",
+ "src": "9431:42:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 468,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 408,
+ "src": "9504:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 471,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9521:1:0",
+ "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": 470,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9513:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 469,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9513:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 472,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9513:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 473,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 410,
+ "src": "9525:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 467,
+ "name": "_afterTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 544,
+ "src": "9484:19:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 474,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9484:48:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 475,
+ "nodeType": "ExpressionStatement",
+ "src": "9484:48:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 406,
+ "nodeType": "StructuredDocumentation",
+ "src": "8649:309:0",
+ "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens."
+ },
+ "id": 477,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_burn",
+ "nameLocation": "8972:5:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 411,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 408,
+ "mutability": "mutable",
+ "name": "account",
+ "nameLocation": "8986:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 477,
+ "src": "8978:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 407,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8978:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 410,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "9003:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 477,
+ "src": "8995:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 409,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "8995:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "8977:33:0"
+ },
+ "returnParameters": {
+ "id": 412,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "9028:0:0"
+ },
+ "scope": 545,
+ "src": "8963:576:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 521,
+ "nodeType": "Block",
+ "src": "10075:257:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 493,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 488,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 480,
+ "src": "10093:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 491,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10110:1:0",
+ "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": 490,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "10102:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 489,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10102:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 492,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10102:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "10093:19:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373",
+ "id": 494,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10114:38:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208",
+ "typeString": "literal_string \"ERC20: approve from the zero address\""
+ },
+ "value": "ERC20: approve from the zero address"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208",
+ "typeString": "literal_string \"ERC20: approve from the zero address\""
+ }
+ ],
+ "id": 487,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "10085:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 495,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10085:68:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 496,
+ "nodeType": "ExpressionStatement",
+ "src": "10085:68:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 503,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 498,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 482,
+ "src": "10171:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 501,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10190:1:0",
+ "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": 500,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "10182:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 499,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10182:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 502,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10182:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "10171:21:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373",
+ "id": 504,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10194:36:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029",
+ "typeString": "literal_string \"ERC20: approve to the zero address\""
+ },
+ "value": "ERC20: approve to the zero address"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029",
+ "typeString": "literal_string \"ERC20: approve to the zero address\""
+ }
+ ],
+ "id": 497,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "10163:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 505,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10163:68:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 506,
+ "nodeType": "ExpressionStatement",
+ "src": "10163:68:0"
+ },
+ {
+ "expression": {
+ "id": 513,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "baseExpression": {
+ "id": 507,
+ "name": "_allowances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 21,
+ "src": "10242:11:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
+ "typeString": "mapping(address => mapping(address => uint256))"
+ }
+ },
+ "id": 510,
+ "indexExpression": {
+ "id": 508,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 480,
+ "src": "10254:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "10242:18:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 511,
+ "indexExpression": {
+ "id": 509,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 482,
+ "src": "10261:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "10242:27:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 512,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 484,
+ "src": "10272:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "10242:36:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 514,
+ "nodeType": "ExpressionStatement",
+ "src": "10242:36:0"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "id": 516,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 480,
+ "src": "10302:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 517,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 482,
+ "src": "10309:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 518,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 484,
+ "src": "10318:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 515,
+ "name": "Approval",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 622,
+ "src": "10293:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 519,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10293:32:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 520,
+ "nodeType": "EmitStatement",
+ "src": "10288:37:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 478,
+ "nodeType": "StructuredDocumentation",
+ "src": "9545:412:0",
+ "text": " @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address."
+ },
+ "id": 522,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_approve",
+ "nameLocation": "9971:8:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 485,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 480,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "9997:5:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 522,
+ "src": "9989:13:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 479,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9989:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 482,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "10020:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 522,
+ "src": "10012:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 481,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10012:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 484,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "10045:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 522,
+ "src": "10037:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 483,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "10037:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "9979:78:0"
+ },
+ "returnParameters": {
+ "id": 486,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "10075:0:0"
+ },
+ "scope": 545,
+ "src": "9962:370:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 532,
+ "nodeType": "Block",
+ "src": "11035:2:0",
+ "statements": []
+ },
+ "documentation": {
+ "id": 523,
+ "nodeType": "StructuredDocumentation",
+ "src": "10338:573:0",
+ "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."
+ },
+ "id": 533,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_beforeTokenTransfer",
+ "nameLocation": "10925:20:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 530,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 525,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "10963:4:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 533,
+ "src": "10955:12:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 524,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10955:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 527,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "10985:2:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 533,
+ "src": "10977:10:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 526,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10977:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 529,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "11005:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 533,
+ "src": "10997:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 528,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "10997:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "10945:72:0"
+ },
+ "returnParameters": {
+ "id": 531,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "11035:0:0"
+ },
+ "scope": 545,
+ "src": "10916:121:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 543,
+ "nodeType": "Block",
+ "src": "11743:2:0",
+ "statements": []
+ },
+ "documentation": {
+ "id": 534,
+ "nodeType": "StructuredDocumentation",
+ "src": "11043:577:0",
+ "text": " @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."
+ },
+ "id": 544,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_afterTokenTransfer",
+ "nameLocation": "11634:19:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 541,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 536,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "11671:4:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 544,
+ "src": "11663:12:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 535,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "11663:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 538,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "11693:2:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 544,
+ "src": "11685:10:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 537,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "11685:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 540,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "11713:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 544,
+ "src": "11705:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 539,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "11705:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "11653:72:0"
+ },
+ "returnParameters": {
+ "id": 542,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "11743:0:0"
+ },
+ "scope": 545,
+ "src": "11625:120:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ }
+ ],
+ "scope": 546,
+ "src": "1331:10416:0",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:11715:0"
+ },
+ "legacyAST": {
+ "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
+ "exportedSymbols": {
+ "Context": [
+ 1944
+ ],
+ "ERC20": [
+ 545
+ ],
+ "IERC20": [
+ 623
+ ],
+ "IERC20Metadata": [
+ 648
+ ]
+ },
+ "id": 546,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 1,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:0"
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
+ "file": "./IERC20.sol",
+ "id": 2,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 546,
+ "sourceUnit": 624,
+ "src": "58:22:0",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol",
+ "file": "./extensions/IERC20Metadata.sol",
+ "id": 3,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 546,
+ "sourceUnit": 649,
+ "src": "81:41:0",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/Context.sol",
+ "file": "../../utils/Context.sol",
+ "id": 4,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 546,
+ "sourceUnit": 1945,
+ "src": "123:33:0",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "abstract": false,
+ "baseContracts": [
+ {
+ "baseName": {
+ "id": 6,
+ "name": "Context",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1944,
+ "src": "1349:7:0"
+ },
+ "id": 7,
+ "nodeType": "InheritanceSpecifier",
+ "src": "1349:7:0"
+ },
+ {
+ "baseName": {
+ "id": 8,
+ "name": "IERC20",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 623,
+ "src": "1358:6:0"
+ },
+ "id": 9,
+ "nodeType": "InheritanceSpecifier",
+ "src": "1358:6:0"
+ },
+ {
+ "baseName": {
+ "id": 10,
+ "name": "IERC20Metadata",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 648,
+ "src": "1366:14:0"
+ },
+ "id": 11,
+ "nodeType": "InheritanceSpecifier",
+ "src": "1366:14:0"
+ }
+ ],
+ "canonicalName": "ERC20",
+ "contractDependencies": [],
+ "contractKind": "contract",
+ "documentation": {
+ "id": 5,
+ "nodeType": "StructuredDocumentation",
+ "src": "158:1172:0",
+ "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}."
+ },
+ "fullyImplemented": true,
+ "id": 545,
+ "linearizedBaseContracts": [
+ 545,
+ 648,
+ 623,
+ 1944
+ ],
+ "name": "ERC20",
+ "nameLocation": "1340:5:0",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "constant": false,
+ "id": 15,
+ "mutability": "mutable",
+ "name": "_balances",
+ "nameLocation": "1423:9:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 545,
+ "src": "1387:45:0",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ },
+ "typeName": {
+ "id": 14,
+ "keyType": {
+ "id": 12,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1395:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1387:27:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ },
+ "valueType": {
+ "id": 13,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1406:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 21,
+ "mutability": "mutable",
+ "name": "_allowances",
+ "nameLocation": "1495:11:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 545,
+ "src": "1439:67:0",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
+ "typeString": "mapping(address => mapping(address => uint256))"
+ },
+ "typeName": {
+ "id": 20,
+ "keyType": {
+ "id": 16,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1447:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1439:47:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
+ "typeString": "mapping(address => mapping(address => uint256))"
+ },
+ "valueType": {
+ "id": 19,
+ "keyType": {
+ "id": 17,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1466:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1458:27:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ },
+ "valueType": {
+ "id": 18,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1477:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 23,
+ "mutability": "mutable",
+ "name": "_totalSupply",
+ "nameLocation": "1529:12:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 545,
+ "src": "1513:28:0",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 22,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1513:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 25,
+ "mutability": "mutable",
+ "name": "_name",
+ "nameLocation": "1563:5:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 545,
+ "src": "1548:20:0",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 24,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1548:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 27,
+ "mutability": "mutable",
+ "name": "_symbol",
+ "nameLocation": "1589:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 545,
+ "src": "1574:22:0",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 26,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1574:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "body": {
+ "id": 43,
+ "nodeType": "Block",
+ "src": "1962:57:0",
+ "statements": [
+ {
+ "expression": {
+ "id": 37,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 35,
+ "name": "_name",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 25,
+ "src": "1972:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 36,
+ "name": "name_",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 30,
+ "src": "1980:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "src": "1972:13:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "id": 38,
+ "nodeType": "ExpressionStatement",
+ "src": "1972:13:0"
+ },
+ {
+ "expression": {
+ "id": 41,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 39,
+ "name": "_symbol",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 27,
+ "src": "1995:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 40,
+ "name": "symbol_",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 32,
+ "src": "2005:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "src": "1995:17:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "id": 42,
+ "nodeType": "ExpressionStatement",
+ "src": "1995:17:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 28,
+ "nodeType": "StructuredDocumentation",
+ "src": "1603:298:0",
+ "text": " @dev Sets the values for {name} and {symbol}.\n The default value of {decimals} is 18. To select a different value for\n {decimals} you should overload it.\n All two of these values are immutable: they can only be set once during\n construction."
+ },
+ "id": 44,
+ "implemented": true,
+ "kind": "constructor",
+ "modifiers": [],
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 33,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 30,
+ "mutability": "mutable",
+ "name": "name_",
+ "nameLocation": "1932:5:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 44,
+ "src": "1918:19:0",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 29,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1918:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 32,
+ "mutability": "mutable",
+ "name": "symbol_",
+ "nameLocation": "1953:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 44,
+ "src": "1939:21:0",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 31,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1939:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1917:44:0"
+ },
+ "returnParameters": {
+ "id": 34,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1962:0:0"
+ },
+ "scope": 545,
+ "src": "1906:113:0",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 635
+ ],
+ "body": {
+ "id": 53,
+ "nodeType": "Block",
+ "src": "2153:29:0",
+ "statements": [
+ {
+ "expression": {
+ "id": 51,
+ "name": "_name",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 25,
+ "src": "2170:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "functionReturnParameters": 50,
+ "id": 52,
+ "nodeType": "Return",
+ "src": "2163:12:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 45,
+ "nodeType": "StructuredDocumentation",
+ "src": "2025:54:0",
+ "text": " @dev Returns the name of the token."
+ },
+ "functionSelector": "06fdde03",
+ "id": 54,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "name",
+ "nameLocation": "2093:4:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 47,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "2120:8:0"
+ },
+ "parameters": {
+ "id": 46,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2097:2:0"
+ },
+ "returnParameters": {
+ "id": 50,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 49,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 54,
+ "src": "2138:13:0",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 48,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "2138:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2137:15:0"
+ },
+ "scope": 545,
+ "src": "2084:98:0",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 641
+ ],
+ "body": {
+ "id": 63,
+ "nodeType": "Block",
+ "src": "2366:31:0",
+ "statements": [
+ {
+ "expression": {
+ "id": 61,
+ "name": "_symbol",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 27,
+ "src": "2383:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "functionReturnParameters": 60,
+ "id": 62,
+ "nodeType": "Return",
+ "src": "2376:14:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 55,
+ "nodeType": "StructuredDocumentation",
+ "src": "2188:102:0",
+ "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name."
+ },
+ "functionSelector": "95d89b41",
+ "id": 64,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "symbol",
+ "nameLocation": "2304:6:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 57,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "2333:8:0"
+ },
+ "parameters": {
+ "id": 56,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2310:2:0"
+ },
+ "returnParameters": {
+ "id": 60,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 59,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 64,
+ "src": "2351:13:0",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 58,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "2351:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2350:15:0"
+ },
+ "scope": 545,
+ "src": "2295:102:0",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 647
+ ],
+ "body": {
+ "id": 73,
+ "nodeType": "Block",
+ "src": "3086:26:0",
+ "statements": [
+ {
+ "expression": {
+ "hexValue": "3138",
+ "id": 71,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3103:2:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_18_by_1",
+ "typeString": "int_const 18"
+ },
+ "value": "18"
+ },
+ "functionReturnParameters": 70,
+ "id": 72,
+ "nodeType": "Return",
+ "src": "3096:9:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 65,
+ "nodeType": "StructuredDocumentation",
+ "src": "2403:613:0",
+ "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the value {ERC20} uses, unless this function is\n overridden;\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."
+ },
+ "functionSelector": "313ce567",
+ "id": 74,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "decimals",
+ "nameLocation": "3030:8:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 67,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "3061:8:0"
+ },
+ "parameters": {
+ "id": 66,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3038:2:0"
+ },
+ "returnParameters": {
+ "id": 70,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 69,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 74,
+ "src": "3079:5:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint8",
+ "typeString": "uint8"
+ },
+ "typeName": {
+ "id": 68,
+ "name": "uint8",
+ "nodeType": "ElementaryTypeName",
+ "src": "3079:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint8",
+ "typeString": "uint8"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3078:7:0"
+ },
+ "scope": 545,
+ "src": "3021:91:0",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 554
+ ],
+ "body": {
+ "id": 83,
+ "nodeType": "Block",
+ "src": "3242:36:0",
+ "statements": [
+ {
+ "expression": {
+ "id": 81,
+ "name": "_totalSupply",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 23,
+ "src": "3259:12:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "functionReturnParameters": 80,
+ "id": 82,
+ "nodeType": "Return",
+ "src": "3252:19:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 75,
+ "nodeType": "StructuredDocumentation",
+ "src": "3118:49:0",
+ "text": " @dev See {IERC20-totalSupply}."
+ },
+ "functionSelector": "18160ddd",
+ "id": 84,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "totalSupply",
+ "nameLocation": "3181:11:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 77,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "3215:8:0"
+ },
+ "parameters": {
+ "id": 76,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3192:2:0"
+ },
+ "returnParameters": {
+ "id": 80,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 79,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 84,
+ "src": "3233:7:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 78,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3233:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3232:9:0"
+ },
+ "scope": 545,
+ "src": "3172:106:0",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 562
+ ],
+ "body": {
+ "id": 97,
+ "nodeType": "Block",
+ "src": "3419:42:0",
+ "statements": [
+ {
+ "expression": {
+ "baseExpression": {
+ "id": 93,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 15,
+ "src": "3436:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 95,
+ "indexExpression": {
+ "id": 94,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 87,
+ "src": "3446:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "3436:18:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "functionReturnParameters": 92,
+ "id": 96,
+ "nodeType": "Return",
+ "src": "3429:25:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 85,
+ "nodeType": "StructuredDocumentation",
+ "src": "3284:47:0",
+ "text": " @dev See {IERC20-balanceOf}."
+ },
+ "functionSelector": "70a08231",
+ "id": 98,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "balanceOf",
+ "nameLocation": "3345:9:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 89,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "3392:8:0"
+ },
+ "parameters": {
+ "id": 88,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 87,
+ "mutability": "mutable",
+ "name": "account",
+ "nameLocation": "3363:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 98,
+ "src": "3355:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 86,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3355:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3354:17:0"
+ },
+ "returnParameters": {
+ "id": 92,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 91,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 98,
+ "src": "3410:7:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 90,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3410:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3409:9:0"
+ },
+ "scope": 545,
+ "src": "3336:125:0",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 572
+ ],
+ "body": {
+ "id": 118,
+ "nodeType": "Block",
+ "src": "3756:80:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 110,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "3776:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 111,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3776:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 112,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 101,
+ "src": "3790:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 113,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 103,
+ "src": "3801:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 109,
+ "name": "_transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 349,
+ "src": "3766:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 114,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3766:42:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 115,
+ "nodeType": "ExpressionStatement",
+ "src": "3766:42:0"
+ },
+ {
+ "expression": {
+ "hexValue": "74727565",
+ "id": 116,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "bool",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3825:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "value": "true"
+ },
+ "functionReturnParameters": 108,
+ "id": 117,
+ "nodeType": "Return",
+ "src": "3818:11:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 99,
+ "nodeType": "StructuredDocumentation",
+ "src": "3467:192:0",
+ "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `recipient` cannot be the zero address.\n - the caller must have a balance of at least `amount`."
+ },
+ "functionSelector": "a9059cbb",
+ "id": 119,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "transfer",
+ "nameLocation": "3673:8:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 105,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "3732:8:0"
+ },
+ "parameters": {
+ "id": 104,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 101,
+ "mutability": "mutable",
+ "name": "recipient",
+ "nameLocation": "3690:9:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 119,
+ "src": "3682:17:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 100,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3682:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 103,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "3709:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 119,
+ "src": "3701:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 102,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3701:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3681:35:0"
+ },
+ "returnParameters": {
+ "id": 108,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 107,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 119,
+ "src": "3750:4:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 106,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "3750:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3749:6:0"
+ },
+ "scope": 545,
+ "src": "3664:172:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 582
+ ],
+ "body": {
+ "id": 136,
+ "nodeType": "Block",
+ "src": "3992:51:0",
+ "statements": [
+ {
+ "expression": {
+ "baseExpression": {
+ "baseExpression": {
+ "id": 130,
+ "name": "_allowances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 21,
+ "src": "4009:11:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
+ "typeString": "mapping(address => mapping(address => uint256))"
+ }
+ },
+ "id": 132,
+ "indexExpression": {
+ "id": 131,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 122,
+ "src": "4021:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4009:18:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 134,
+ "indexExpression": {
+ "id": 133,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 124,
+ "src": "4028:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4009:27:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "functionReturnParameters": 129,
+ "id": 135,
+ "nodeType": "Return",
+ "src": "4002:34:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 120,
+ "nodeType": "StructuredDocumentation",
+ "src": "3842:47:0",
+ "text": " @dev See {IERC20-allowance}."
+ },
+ "functionSelector": "dd62ed3e",
+ "id": 137,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "allowance",
+ "nameLocation": "3903:9:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 126,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "3965:8:0"
+ },
+ "parameters": {
+ "id": 125,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 122,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "3921:5:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 137,
+ "src": "3913:13:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 121,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3913:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 124,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "3936:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 137,
+ "src": "3928:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 123,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3928:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3912:32:0"
+ },
+ "returnParameters": {
+ "id": 129,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 128,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 137,
+ "src": "3983:7:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 127,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3983:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3982:9:0"
+ },
+ "scope": 545,
+ "src": "3894:149:0",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 592
+ ],
+ "body": {
+ "id": 157,
+ "nodeType": "Block",
+ "src": "4270:77:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 149,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "4289:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 150,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4289:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 151,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 140,
+ "src": "4303:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 152,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 142,
+ "src": "4312:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 148,
+ "name": "_approve",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 522,
+ "src": "4280:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 153,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4280:39:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 154,
+ "nodeType": "ExpressionStatement",
+ "src": "4280:39:0"
+ },
+ {
+ "expression": {
+ "hexValue": "74727565",
+ "id": 155,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "bool",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4336:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "value": "true"
+ },
+ "functionReturnParameters": 147,
+ "id": 156,
+ "nodeType": "Return",
+ "src": "4329:11:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 138,
+ "nodeType": "StructuredDocumentation",
+ "src": "4049:127:0",
+ "text": " @dev See {IERC20-approve}.\n Requirements:\n - `spender` cannot be the zero address."
+ },
+ "functionSelector": "095ea7b3",
+ "id": 158,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "approve",
+ "nameLocation": "4190:7:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 144,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "4246:8:0"
+ },
+ "parameters": {
+ "id": 143,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 140,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "4206:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 158,
+ "src": "4198:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 139,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4198:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 142,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "4223:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 158,
+ "src": "4215:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 141,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4215:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4197:33:0"
+ },
+ "returnParameters": {
+ "id": 147,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 146,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 158,
+ "src": "4264:4:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 145,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "4264:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4263:6:0"
+ },
+ "scope": 545,
+ "src": "4181:166:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 604
+ ],
+ "body": {
+ "id": 205,
+ "nodeType": "Block",
+ "src": "4956:336:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 172,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 161,
+ "src": "4976:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 173,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 163,
+ "src": "4984:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 174,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 165,
+ "src": "4995:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 171,
+ "name": "_transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 349,
+ "src": "4966:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 175,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4966:36:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 176,
+ "nodeType": "ExpressionStatement",
+ "src": "4966:36:0"
+ },
+ {
+ "assignments": [
+ 178
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 178,
+ "mutability": "mutable",
+ "name": "currentAllowance",
+ "nameLocation": "5021:16:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 205,
+ "src": "5013:24:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 177,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5013:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 185,
+ "initialValue": {
+ "baseExpression": {
+ "baseExpression": {
+ "id": 179,
+ "name": "_allowances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 21,
+ "src": "5040:11:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
+ "typeString": "mapping(address => mapping(address => uint256))"
+ }
+ },
+ "id": 181,
+ "indexExpression": {
+ "id": 180,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 161,
+ "src": "5052:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5040:19:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 184,
+ "indexExpression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 182,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "5060:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 183,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5060:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5040:33:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "5013:60:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 189,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 187,
+ "name": "currentAllowance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 178,
+ "src": "5091:16:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 188,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 165,
+ "src": "5111:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "5091:26:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365",
+ "id": 190,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5119:42:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330",
+ "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\""
+ },
+ "value": "ERC20: transfer amount exceeds allowance"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330",
+ "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\""
+ }
+ ],
+ "id": 186,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "5083:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 191,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5083:79:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 192,
+ "nodeType": "ExpressionStatement",
+ "src": "5083:79:0"
+ },
+ {
+ "id": 202,
+ "nodeType": "UncheckedBlock",
+ "src": "5172:92:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 194,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 161,
+ "src": "5205:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 195,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "5213:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 196,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5213:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 199,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 197,
+ "name": "currentAllowance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 178,
+ "src": "5227:16:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "id": 198,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 165,
+ "src": "5246:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "5227:25:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 193,
+ "name": "_approve",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 522,
+ "src": "5196:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 200,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5196:57:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 201,
+ "nodeType": "ExpressionStatement",
+ "src": "5196:57:0"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "hexValue": "74727565",
+ "id": 203,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "bool",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5281:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "value": "true"
+ },
+ "functionReturnParameters": 170,
+ "id": 204,
+ "nodeType": "Return",
+ "src": "5274:11:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 159,
+ "nodeType": "StructuredDocumentation",
+ "src": "4353:456:0",
+ "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n Requirements:\n - `sender` and `recipient` cannot be the zero address.\n - `sender` must have a balance of at least `amount`.\n - the caller must have allowance for ``sender``'s tokens of at least\n `amount`."
+ },
+ "functionSelector": "23b872dd",
+ "id": 206,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "transferFrom",
+ "nameLocation": "4823:12:0",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 167,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "4932:8:0"
+ },
+ "parameters": {
+ "id": 166,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 161,
+ "mutability": "mutable",
+ "name": "sender",
+ "nameLocation": "4853:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 206,
+ "src": "4845:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 160,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4845:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 163,
+ "mutability": "mutable",
+ "name": "recipient",
+ "nameLocation": "4877:9:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 206,
+ "src": "4869:17:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 162,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4869:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 165,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "4904:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 206,
+ "src": "4896:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 164,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4896:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4835:81:0"
+ },
+ "returnParameters": {
+ "id": 170,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 169,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 206,
+ "src": "4950:4:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 168,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "4950:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4949:6:0"
+ },
+ "scope": 545,
+ "src": "4814:478:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 232,
+ "nodeType": "Block",
+ "src": "5781:118:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 217,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "5800:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 218,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5800:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 219,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 209,
+ "src": "5814:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 227,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "baseExpression": {
+ "baseExpression": {
+ "id": 220,
+ "name": "_allowances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 21,
+ "src": "5823:11:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
+ "typeString": "mapping(address => mapping(address => uint256))"
+ }
+ },
+ "id": 223,
+ "indexExpression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 221,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "5835:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 222,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5835:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5823:25:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 225,
+ "indexExpression": {
+ "id": 224,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 209,
+ "src": "5849:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5823:34:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "+",
+ "rightExpression": {
+ "id": 226,
+ "name": "addedValue",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 211,
+ "src": "5860:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "5823:47:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 216,
+ "name": "_approve",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 522,
+ "src": "5791:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 228,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5791:80:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 229,
+ "nodeType": "ExpressionStatement",
+ "src": "5791:80:0"
+ },
+ {
+ "expression": {
+ "hexValue": "74727565",
+ "id": 230,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "bool",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5888:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "value": "true"
+ },
+ "functionReturnParameters": 215,
+ "id": 231,
+ "nodeType": "Return",
+ "src": "5881:11:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 207,
+ "nodeType": "StructuredDocumentation",
+ "src": "5298:384:0",
+ "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address."
+ },
+ "functionSelector": "39509351",
+ "id": 233,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "increaseAllowance",
+ "nameLocation": "5696:17:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 212,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 209,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "5722:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 233,
+ "src": "5714:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 208,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5714:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 211,
+ "mutability": "mutable",
+ "name": "addedValue",
+ "nameLocation": "5739:10:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 233,
+ "src": "5731:18:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 210,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5731:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5713:37:0"
+ },
+ "returnParameters": {
+ "id": 215,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 214,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 233,
+ "src": "5775:4:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 213,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "5775:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5774:6:0"
+ },
+ "scope": 545,
+ "src": "5687:212:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 271,
+ "nodeType": "Block",
+ "src": "6485:306:0",
+ "statements": [
+ {
+ "assignments": [
+ 244
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 244,
+ "mutability": "mutable",
+ "name": "currentAllowance",
+ "nameLocation": "6503:16:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 271,
+ "src": "6495:24:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 243,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "6495:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 251,
+ "initialValue": {
+ "baseExpression": {
+ "baseExpression": {
+ "id": 245,
+ "name": "_allowances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 21,
+ "src": "6522:11:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
+ "typeString": "mapping(address => mapping(address => uint256))"
+ }
+ },
+ "id": 248,
+ "indexExpression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 246,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "6534:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 247,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6534:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "6522:25:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 250,
+ "indexExpression": {
+ "id": 249,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 236,
+ "src": "6548:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "6522:34:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "6495:61:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 255,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 253,
+ "name": "currentAllowance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 244,
+ "src": "6574:16:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 254,
+ "name": "subtractedValue",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 238,
+ "src": "6594:15:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "6574:35:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f",
+ "id": 256,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "6611:39:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8",
+ "typeString": "literal_string \"ERC20: decreased allowance below zero\""
+ },
+ "value": "ERC20: decreased allowance below zero"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8",
+ "typeString": "literal_string \"ERC20: decreased allowance below zero\""
+ }
+ ],
+ "id": 252,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "6566:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 257,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6566:85:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 258,
+ "nodeType": "ExpressionStatement",
+ "src": "6566:85:0"
+ },
+ {
+ "id": 268,
+ "nodeType": "UncheckedBlock",
+ "src": "6661:102:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 260,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "6694:10:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 261,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6694:12:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 262,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 236,
+ "src": "6708:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 265,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 263,
+ "name": "currentAllowance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 244,
+ "src": "6717:16:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "id": 264,
+ "name": "subtractedValue",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 238,
+ "src": "6736:15:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "6717:34:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 259,
+ "name": "_approve",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 522,
+ "src": "6685:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 266,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6685:67:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 267,
+ "nodeType": "ExpressionStatement",
+ "src": "6685:67:0"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "hexValue": "74727565",
+ "id": 269,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "bool",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "6780:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "value": "true"
+ },
+ "functionReturnParameters": 242,
+ "id": 270,
+ "nodeType": "Return",
+ "src": "6773:11:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 234,
+ "nodeType": "StructuredDocumentation",
+ "src": "5905:476:0",
+ "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`."
+ },
+ "functionSelector": "a457c2d7",
+ "id": 272,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "decreaseAllowance",
+ "nameLocation": "6395:17:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 239,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 236,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "6421:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 272,
+ "src": "6413:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 235,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "6413:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 238,
+ "mutability": "mutable",
+ "name": "subtractedValue",
+ "nameLocation": "6438:15:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 272,
+ "src": "6430:23:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 237,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "6430:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "6412:42:0"
+ },
+ "returnParameters": {
+ "id": 242,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 241,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 272,
+ "src": "6479:4:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 240,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "6479:4:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "6478:6:0"
+ },
+ "scope": 545,
+ "src": "6386:405:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 348,
+ "nodeType": "Block",
+ "src": "7382:596:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 288,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 283,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 275,
+ "src": "7400:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 286,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7418:1:0",
+ "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": 285,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "7410:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 284,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "7410:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 287,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7410:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "7400:20:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373",
+ "id": 289,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7422:39:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea",
+ "typeString": "literal_string \"ERC20: transfer from the zero address\""
+ },
+ "value": "ERC20: transfer from the zero address"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea",
+ "typeString": "literal_string \"ERC20: transfer from the zero address\""
+ }
+ ],
+ "id": 282,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "7392:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 290,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7392:70:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 291,
+ "nodeType": "ExpressionStatement",
+ "src": "7392:70:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 298,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 293,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 277,
+ "src": "7480:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 296,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7501:1:0",
+ "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": 295,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "7493:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 294,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "7493:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 297,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7493:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "7480:23:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373",
+ "id": 299,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7505:37:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f",
+ "typeString": "literal_string \"ERC20: transfer to the zero address\""
+ },
+ "value": "ERC20: transfer to the zero address"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f",
+ "typeString": "literal_string \"ERC20: transfer to the zero address\""
+ }
+ ],
+ "id": 292,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "7472:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 300,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7472:71:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 301,
+ "nodeType": "ExpressionStatement",
+ "src": "7472:71:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 303,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 275,
+ "src": "7575:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 304,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 277,
+ "src": "7583:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 305,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 279,
+ "src": "7594:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 302,
+ "name": "_beforeTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 533,
+ "src": "7554:20:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 306,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7554:47:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 307,
+ "nodeType": "ExpressionStatement",
+ "src": "7554:47:0"
+ },
+ {
+ "assignments": [
+ 309
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 309,
+ "mutability": "mutable",
+ "name": "senderBalance",
+ "nameLocation": "7620:13:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 348,
+ "src": "7612:21:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 308,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "7612:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 313,
+ "initialValue": {
+ "baseExpression": {
+ "id": 310,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 15,
+ "src": "7636:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 312,
+ "indexExpression": {
+ "id": 311,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 275,
+ "src": "7646:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "7636:17:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "7612:41:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 317,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 315,
+ "name": "senderBalance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 309,
+ "src": "7671:13:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 316,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 279,
+ "src": "7688:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "7671:23:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365",
+ "id": 318,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7696:40:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6",
+ "typeString": "literal_string \"ERC20: transfer amount exceeds balance\""
+ },
+ "value": "ERC20: transfer amount exceeds balance"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6",
+ "typeString": "literal_string \"ERC20: transfer amount exceeds balance\""
+ }
+ ],
+ "id": 314,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "7663:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 319,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7663:74:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 320,
+ "nodeType": "ExpressionStatement",
+ "src": "7663:74:0"
+ },
+ {
+ "id": 329,
+ "nodeType": "UncheckedBlock",
+ "src": "7747:77:0",
+ "statements": [
+ {
+ "expression": {
+ "id": 327,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 321,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 15,
+ "src": "7771:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 323,
+ "indexExpression": {
+ "id": 322,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 275,
+ "src": "7781:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "7771:17:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 326,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 324,
+ "name": "senderBalance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 309,
+ "src": "7791:13:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "id": 325,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 279,
+ "src": "7807:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "7791:22:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "7771:42:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 328,
+ "nodeType": "ExpressionStatement",
+ "src": "7771:42:0"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "id": 334,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 330,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 15,
+ "src": "7833:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 332,
+ "indexExpression": {
+ "id": 331,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 277,
+ "src": "7843:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "7833:20:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "+=",
+ "rightHandSide": {
+ "id": 333,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 279,
+ "src": "7857:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "7833:30:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 335,
+ "nodeType": "ExpressionStatement",
+ "src": "7833:30:0"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "id": 337,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 275,
+ "src": "7888:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 338,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 277,
+ "src": "7896:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 339,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 279,
+ "src": "7907:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 336,
+ "name": "Transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 613,
+ "src": "7879:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 340,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7879:35:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 341,
+ "nodeType": "EmitStatement",
+ "src": "7874:40:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 343,
+ "name": "sender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 275,
+ "src": "7945:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 344,
+ "name": "recipient",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 277,
+ "src": "7953:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 345,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 279,
+ "src": "7964:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 342,
+ "name": "_afterTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 544,
+ "src": "7925:19:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 346,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7925:46:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 347,
+ "nodeType": "ExpressionStatement",
+ "src": "7925:46:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 273,
+ "nodeType": "StructuredDocumentation",
+ "src": "6797:463:0",
+ "text": " @dev Moves `amount` of tokens from `sender` to `recipient`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `sender` cannot be the zero address.\n - `recipient` cannot be the zero address.\n - `sender` must have a balance of at least `amount`."
+ },
+ "id": 349,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_transfer",
+ "nameLocation": "7274:9:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 280,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 275,
+ "mutability": "mutable",
+ "name": "sender",
+ "nameLocation": "7301:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 349,
+ "src": "7293:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 274,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "7293:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 277,
+ "mutability": "mutable",
+ "name": "recipient",
+ "nameLocation": "7325:9:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 349,
+ "src": "7317:17:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 276,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "7317:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 279,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "7352:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 349,
+ "src": "7344:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 278,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "7344:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "7283:81:0"
+ },
+ "returnParameters": {
+ "id": 281,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "7382:0:0"
+ },
+ "scope": 545,
+ "src": "7265:713:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 404,
+ "nodeType": "Block",
+ "src": "8319:324:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 363,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 358,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 352,
+ "src": "8337:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 361,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8356:1:0",
+ "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": 360,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "8348:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 359,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8348:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 362,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8348:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "8337:21:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373",
+ "id": 364,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8360:33:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e",
+ "typeString": "literal_string \"ERC20: mint to the zero address\""
+ },
+ "value": "ERC20: mint to the zero address"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e",
+ "typeString": "literal_string \"ERC20: mint to the zero address\""
+ }
+ ],
+ "id": 357,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "8329:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 365,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8329:65:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 366,
+ "nodeType": "ExpressionStatement",
+ "src": "8329:65:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 370,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8434:1:0",
+ "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": 369,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "8426:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 368,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8426:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 371,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8426:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 372,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 352,
+ "src": "8438:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 373,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 354,
+ "src": "8447:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 367,
+ "name": "_beforeTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 533,
+ "src": "8405:20:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 374,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8405:49:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 375,
+ "nodeType": "ExpressionStatement",
+ "src": "8405:49:0"
+ },
+ {
+ "expression": {
+ "id": 378,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 376,
+ "name": "_totalSupply",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 23,
+ "src": "8465:12:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "+=",
+ "rightHandSide": {
+ "id": 377,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 354,
+ "src": "8481:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "8465:22:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 379,
+ "nodeType": "ExpressionStatement",
+ "src": "8465:22:0"
+ },
+ {
+ "expression": {
+ "id": 384,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 380,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 15,
+ "src": "8497:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 382,
+ "indexExpression": {
+ "id": 381,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 352,
+ "src": "8507:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "8497:18:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "+=",
+ "rightHandSide": {
+ "id": 383,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 354,
+ "src": "8519:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "8497:28:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 385,
+ "nodeType": "ExpressionStatement",
+ "src": "8497:28:0"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 389,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8557:1:0",
+ "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": 388,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "8549:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 387,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8549:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 390,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8549:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 391,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 352,
+ "src": "8561:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 392,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 354,
+ "src": "8570:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 386,
+ "name": "Transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 613,
+ "src": "8540:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 393,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8540:37:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 394,
+ "nodeType": "EmitStatement",
+ "src": "8535:42:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 398,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8616:1:0",
+ "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": 397,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "8608:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 396,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8608:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 399,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8608:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 400,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 352,
+ "src": "8620:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 401,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 354,
+ "src": "8629:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 395,
+ "name": "_afterTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 544,
+ "src": "8588:19:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 402,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8588:48:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 403,
+ "nodeType": "ExpressionStatement",
+ "src": "8588:48:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 350,
+ "nodeType": "StructuredDocumentation",
+ "src": "7984:265:0",
+ "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address."
+ },
+ "id": 405,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_mint",
+ "nameLocation": "8263:5:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 355,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 352,
+ "mutability": "mutable",
+ "name": "account",
+ "nameLocation": "8277:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 405,
+ "src": "8269:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 351,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8269:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 354,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "8294:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 405,
+ "src": "8286:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 353,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "8286:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "8268:33:0"
+ },
+ "returnParameters": {
+ "id": 356,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "8319:0:0"
+ },
+ "scope": 545,
+ "src": "8254:389:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 476,
+ "nodeType": "Block",
+ "src": "9028:511:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 419,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 414,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 408,
+ "src": "9046:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 417,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9065:1:0",
+ "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": 416,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9057:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 415,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9057:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 418,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9057:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "9046:21:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373",
+ "id": 420,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9069:35:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f",
+ "typeString": "literal_string \"ERC20: burn from the zero address\""
+ },
+ "value": "ERC20: burn from the zero address"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f",
+ "typeString": "literal_string \"ERC20: burn from the zero address\""
+ }
+ ],
+ "id": 413,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "9038:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 421,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9038:67:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 422,
+ "nodeType": "ExpressionStatement",
+ "src": "9038:67:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 424,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 408,
+ "src": "9137:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 427,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9154:1:0",
+ "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": 426,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9146:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 425,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9146:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 428,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9146:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 429,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 410,
+ "src": "9158:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 423,
+ "name": "_beforeTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 533,
+ "src": "9116:20:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 430,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9116:49:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 431,
+ "nodeType": "ExpressionStatement",
+ "src": "9116:49:0"
+ },
+ {
+ "assignments": [
+ 433
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 433,
+ "mutability": "mutable",
+ "name": "accountBalance",
+ "nameLocation": "9184:14:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 476,
+ "src": "9176:22:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 432,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "9176:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 437,
+ "initialValue": {
+ "baseExpression": {
+ "id": 434,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 15,
+ "src": "9201:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 436,
+ "indexExpression": {
+ "id": 435,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 408,
+ "src": "9211:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "9201:18:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "9176:43:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 441,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 439,
+ "name": "accountBalance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 433,
+ "src": "9237:14:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 440,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 410,
+ "src": "9255:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "9237:24:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365",
+ "id": 442,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9263:36:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd",
+ "typeString": "literal_string \"ERC20: burn amount exceeds balance\""
+ },
+ "value": "ERC20: burn amount exceeds balance"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd",
+ "typeString": "literal_string \"ERC20: burn amount exceeds balance\""
+ }
+ ],
+ "id": 438,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "9229:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 443,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9229:71:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 444,
+ "nodeType": "ExpressionStatement",
+ "src": "9229:71:0"
+ },
+ {
+ "id": 453,
+ "nodeType": "UncheckedBlock",
+ "src": "9310:79:0",
+ "statements": [
+ {
+ "expression": {
+ "id": 451,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 445,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 15,
+ "src": "9334:9:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 447,
+ "indexExpression": {
+ "id": 446,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 408,
+ "src": "9344:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "9334:18:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 450,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 448,
+ "name": "accountBalance",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 433,
+ "src": "9355:14:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "id": 449,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 410,
+ "src": "9372:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "9355:23:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "9334:44:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 452,
+ "nodeType": "ExpressionStatement",
+ "src": "9334:44:0"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "id": 456,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 454,
+ "name": "_totalSupply",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 23,
+ "src": "9398:12:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "-=",
+ "rightHandSide": {
+ "id": 455,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 410,
+ "src": "9414:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "9398:22:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 457,
+ "nodeType": "ExpressionStatement",
+ "src": "9398:22:0"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "id": 459,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 408,
+ "src": "9445:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 462,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9462:1:0",
+ "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": 461,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9454:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 460,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9454:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 463,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9454:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 464,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 410,
+ "src": "9466:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 458,
+ "name": "Transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 613,
+ "src": "9436:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 465,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9436:37:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 466,
+ "nodeType": "EmitStatement",
+ "src": "9431:42:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 468,
+ "name": "account",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 408,
+ "src": "9504:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 471,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9521:1:0",
+ "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": 470,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9513:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 469,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9513:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 472,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9513:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 473,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 410,
+ "src": "9525:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 467,
+ "name": "_afterTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 544,
+ "src": "9484:19:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 474,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9484:48:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 475,
+ "nodeType": "ExpressionStatement",
+ "src": "9484:48:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 406,
+ "nodeType": "StructuredDocumentation",
+ "src": "8649:309:0",
+ "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens."
+ },
+ "id": 477,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_burn",
+ "nameLocation": "8972:5:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 411,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 408,
+ "mutability": "mutable",
+ "name": "account",
+ "nameLocation": "8986:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 477,
+ "src": "8978:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 407,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8978:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 410,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "9003:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 477,
+ "src": "8995:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 409,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "8995:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "8977:33:0"
+ },
+ "returnParameters": {
+ "id": 412,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "9028:0:0"
+ },
+ "scope": 545,
+ "src": "8963:576:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 521,
+ "nodeType": "Block",
+ "src": "10075:257:0",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 493,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 488,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 480,
+ "src": "10093:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 491,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10110:1:0",
+ "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": 490,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "10102:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 489,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10102:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 492,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10102:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "10093:19:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373",
+ "id": 494,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10114:38:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208",
+ "typeString": "literal_string \"ERC20: approve from the zero address\""
+ },
+ "value": "ERC20: approve from the zero address"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208",
+ "typeString": "literal_string \"ERC20: approve from the zero address\""
+ }
+ ],
+ "id": 487,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "10085:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 495,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10085:68:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 496,
+ "nodeType": "ExpressionStatement",
+ "src": "10085:68:0"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 503,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 498,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 482,
+ "src": "10171:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 501,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10190:1:0",
+ "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": 500,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "10182:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 499,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10182:7:0",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 502,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10182:10:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "10171:21:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373",
+ "id": 504,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10194:36:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029",
+ "typeString": "literal_string \"ERC20: approve to the zero address\""
+ },
+ "value": "ERC20: approve to the zero address"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029",
+ "typeString": "literal_string \"ERC20: approve to the zero address\""
+ }
+ ],
+ "id": 497,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "10163:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 505,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10163:68:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 506,
+ "nodeType": "ExpressionStatement",
+ "src": "10163:68:0"
+ },
+ {
+ "expression": {
+ "id": 513,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "baseExpression": {
+ "id": 507,
+ "name": "_allowances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 21,
+ "src": "10242:11:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
+ "typeString": "mapping(address => mapping(address => uint256))"
+ }
+ },
+ "id": 510,
+ "indexExpression": {
+ "id": 508,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 480,
+ "src": "10254:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "10242:18:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 511,
+ "indexExpression": {
+ "id": 509,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 482,
+ "src": "10261:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "10242:27:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 512,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 484,
+ "src": "10272:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "10242:36:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 514,
+ "nodeType": "ExpressionStatement",
+ "src": "10242:36:0"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "id": 516,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 480,
+ "src": "10302:5:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 517,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 482,
+ "src": "10309:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 518,
+ "name": "amount",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 484,
+ "src": "10318:6:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 515,
+ "name": "Approval",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 622,
+ "src": "10293:8:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 519,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10293:32:0",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 520,
+ "nodeType": "EmitStatement",
+ "src": "10288:37:0"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 478,
+ "nodeType": "StructuredDocumentation",
+ "src": "9545:412:0",
+ "text": " @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address."
+ },
+ "id": 522,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_approve",
+ "nameLocation": "9971:8:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 485,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 480,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "9997:5:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 522,
+ "src": "9989:13:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 479,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9989:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 482,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "10020:7:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 522,
+ "src": "10012:15:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 481,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10012:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 484,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "10045:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 522,
+ "src": "10037:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 483,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "10037:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "9979:78:0"
+ },
+ "returnParameters": {
+ "id": 486,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "10075:0:0"
+ },
+ "scope": 545,
+ "src": "9962:370:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 532,
+ "nodeType": "Block",
+ "src": "11035:2:0",
+ "statements": []
+ },
+ "documentation": {
+ "id": 523,
+ "nodeType": "StructuredDocumentation",
+ "src": "10338:573:0",
+ "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."
+ },
+ "id": 533,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_beforeTokenTransfer",
+ "nameLocation": "10925:20:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 530,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 525,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "10963:4:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 533,
+ "src": "10955:12:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 524,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10955:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 527,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "10985:2:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 533,
+ "src": "10977:10:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 526,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10977:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 529,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "11005:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 533,
+ "src": "10997:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 528,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "10997:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "10945:72:0"
+ },
+ "returnParameters": {
+ "id": 531,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "11035:0:0"
+ },
+ "scope": 545,
+ "src": "10916:121:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 543,
+ "nodeType": "Block",
+ "src": "11743:2:0",
+ "statements": []
+ },
+ "documentation": {
+ "id": 534,
+ "nodeType": "StructuredDocumentation",
+ "src": "11043:577:0",
+ "text": " @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."
+ },
+ "id": 544,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_afterTokenTransfer",
+ "nameLocation": "11634:19:0",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 541,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 536,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "11671:4:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 544,
+ "src": "11663:12:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 535,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "11663:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 538,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "11693:2:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 544,
+ "src": "11685:10:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 537,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "11685:7:0",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 540,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "11713:6:0",
+ "nodeType": "VariableDeclaration",
+ "scope": 544,
+ "src": "11705:14:0",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 539,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "11705:7:0",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "11653:72:0"
+ },
+ "returnParameters": {
+ "id": 542,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "11743:0:0"
+ },
+ "scope": 545,
+ "src": "11625:120:0",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ }
+ ],
+ "scope": 546,
+ "src": "1331:10416:0",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:11715:0"
+ },
+ "compiler": {
+ "name": "solc",
+ "version": "0.8.10+commit.fc410830.Emscripten.clang"
+ },
+ "networks": {},
+ "schemaVersion": "3.4.1",
+ "updatedAt": "2021-11-28T13:47:02.559Z",
+ "devdoc": {
+ "details": "Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.",
+ "kind": "dev",
+ "methods": {
+ "allowance(address,address)": {
+ "details": "See {IERC20-allowance}."
+ },
+ "approve(address,uint256)": {
+ "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address."
+ },
+ "balanceOf(address)": {
+ "details": "See {IERC20-balanceOf}."
+ },
+ "constructor": {
+ "details": "Sets the values for {name} and {symbol}. The default value of {decimals} is 18. To select a different value for {decimals} you should overload it. All two of these values are immutable: they can only be set once during construction."
+ },
+ "decimals()": {
+ "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless this function is overridden; NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."
+ },
+ "decreaseAllowance(address,uint256)": {
+ "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."
+ },
+ "increaseAllowance(address,uint256)": {
+ "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."
+ },
+ "name()": {
+ "details": "Returns the name of the token."
+ },
+ "symbol()": {
+ "details": "Returns the symbol of the token, usually a shorter version of the name."
+ },
+ "totalSupply()": {
+ "details": "See {IERC20-totalSupply}."
+ },
+ "transfer(address,uint256)": {
+ "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`."
+ },
+ "transferFrom(address,address,uint256)": {
+ "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`."
+ }
+ },
+ "version": 1
+ },
+ "userdoc": {
+ "kind": "user",
+ "methods": {},
+ "version": 1
+ }
+}
\ No newline at end of file
diff --git a/Nftzi/abi/ERC721.json b/Nftzi/abi/ERC721.json
new file mode 100644
index 00000000..fd8a8230
--- /dev/null
+++ b/Nftzi/abi/ERC721.json
@@ -0,0 +1,36451 @@
+{
+ "contractName": "ERC721",
+ "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": "bytes4",
+ "name": "interfaceId",
+ "type": "bytes4"
+ }
+ ],
+ "name": "supportsInterface",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "owner",
+ "type": "address"
+ }
+ ],
+ "name": "balanceOf",
+ "outputs": [
+ {
+ "internalType": "uint256",
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "uint256",
+ "name": "tokenId",
+ "type": "uint256"
+ }
+ ],
+ "name": "ownerOf",
+ "outputs": [
+ {
+ "internalType": "address",
+ "name": "",
+ "type": "address"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "name",
+ "outputs": [
+ {
+ "internalType": "string",
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "symbol",
+ "outputs": [
+ {
+ "internalType": "string",
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "uint256",
+ "name": "tokenId",
+ "type": "uint256"
+ }
+ ],
+ "name": "tokenURI",
+ "outputs": [
+ {
+ "internalType": "string",
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "to",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "tokenId",
+ "type": "uint256"
+ }
+ ],
+ "name": "approve",
+ "outputs": [],
+ "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": "operator",
+ "type": "address"
+ },
+ {
+ "internalType": "bool",
+ "name": "approved",
+ "type": "bool"
+ }
+ ],
+ "name": "setApprovalForAll",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "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": "address",
+ "name": "from",
+ "type": "address"
+ },
+ {
+ "internalType": "address",
+ "name": "to",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "tokenId",
+ "type": "uint256"
+ }
+ ],
+ "name": "transferFrom",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "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"
+ }
+ ],
+ "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"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\":[{\"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\":\"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\"}],\"devdoc\":{\"details\":\"Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"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}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x7d2b8ba4b256bfcac347991b75242f9bc37f499c5236af50cf09d0b35943dc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8eeaf6afe00229af4c232ca058bb08b7a24cc3886f0b387159ac49ffd8b5312\",\"dweb:/ipfs/QmdnVKmDDWDvdRr6vtrxy3G6WafqA2TAhUZv1UFMsm4B4r\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xf101e8720213560fab41104d53b3cc7ba0456ef3a98455aa7f022391783144a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e7820bcf567e6892d937c3cb10db263a4042e446799bca602535868d822384e\",\"dweb:/ipfs/QmPG2oeDjKncqsEeyYGjAN7CwAJmMgHterXGGnpzhha4z7\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xd9517254724276e2e8de3769183c1f738f445f0095c26fd9b86d3c6687e887b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e604bcdcd5e5b2fb299ad09769cde6db19d5aa1929d1b5e939234a0f10d7eb8\",\"dweb:/ipfs/Qmd8hXE3GZfBHuWx3RNiYgFW2ci7KvHtib8DiwzJ2dgo9V\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0xd32fb7f530a914b1083d10a6bed3a586f2451952fec04fe542bcc670a82f7ba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af63ab940a34687c45f0ad84960b048fc5f49330c92ccb422db7822a444733b9\",\"dweb:/ipfs/QmUShaQEu8HS1GjDnsMJQ8jkZEBrecn6NuDZ3pfjY1gVck\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x3336baae5cf23e94274d75336e2d412193be508504aee185e61dc7d58cd05c8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39a05eec7083dfa0cc7e0cbfe6cd1bd085a340af1ede93fdff3ad047c5fb3d8e\",\"dweb:/ipfs/QmVApz5fCUq2QC8gKTsNNdCmcedJ3ETHp68zR5N3WUKS4r\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x90565a39ae45c80f0468dc96c7b20d0afc3055f344c8203a0c9258239f350b9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26e8b38a7ac8e7b4463af00cf7fff1bf48ae9875765bf4f7751e100124d0bc8c\",\"dweb:/ipfs/QmWcsmkVr24xmmjfnBQZoemFniXjj3vwT78Cz6uqZW1Hux\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x391d3ba97ab6856a16b225d6ee29617ad15ff00db70f3b4df1ab5ea33aa47c9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d636ba90bbbeed04a1ea7fe9ec2466757e30fd38ba2ca173636dbf69a518735e\",\"dweb:/ipfs/QmQwCB2BHnEuYR22PYt9HkpbgeFDhq4rHmaYqAZbX3WRC7\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x5718c5df9bd67ac68a796961df938821bb5dc0cd4c6118d77e9145afb187409b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d10e1d9b26042424789246603906ad06143bf9a928f4e99de8b5e3bdc662f549\",\"dweb:/ipfs/Qmejonoaj5MLekPus229rJQHcC6E9dz2xorjHJR84fMfmn\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0xa28007762d9da9db878dd421960c8cb9a10471f47ab5c1b3309bfe48e9e79ff4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://796ab6e88af7bf0e78def0f059310c903af6a312b565344e0ff524a0f26e81c6\",\"dweb:/ipfs/QmcsVgLgzWdor3UnAztUkXKNGcysm1MPneWksF72AvnwBx\"]}},\"version\":1}",
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162002775380380620027758339818101604052810190620000379190620002be565b81600090805190602001906200004f92919062000071565b5080600190805190602001906200006892919062000071565b505050620003a8565b8280546200007f9062000372565b90600052602060002090601f016020900481019282620000a35760008555620000ef565b82601f10620000be57805160ff1916838001178555620000ef565b82800160010185558215620000ef579182015b82811115620000ee578251825591602001919060010190620000d1565b5b509050620000fe919062000102565b5090565b5b808211156200011d57600081600090555060010162000103565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200018a826200013f565b810181811067ffffffffffffffff82111715620001ac57620001ab62000150565b5b80604052505050565b6000620001c162000121565b9050620001cf82826200017f565b919050565b600067ffffffffffffffff821115620001f257620001f162000150565b5b620001fd826200013f565b9050602081019050919050565b60005b838110156200022a5780820151818401526020810190506200020d565b838111156200023a576000848401525b50505050565b6000620002576200025184620001d4565b620001b5565b9050828152602081018484840111156200027657620002756200013a565b5b620002838482856200020a565b509392505050565b600082601f830112620002a357620002a262000135565b5b8151620002b584826020860162000240565b91505092915050565b60008060408385031215620002d857620002d76200012b565b5b600083015167ffffffffffffffff811115620002f957620002f862000130565b5b62000307858286016200028b565b925050602083015167ffffffffffffffff8111156200032b576200032a62000130565b5b62000339858286016200028b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200038b57607f821691505b60208210811415620003a257620003a162000343565b5b50919050565b6123bd80620003b86000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb46514610224578063b88d4fde14610240578063c87b56dd1461025c578063e985e9c51461028c576100cf565b80636352211e146101a657806370a08231146101d657806395d89b4114610206576100cf565b806301ffc9a7146100d457806306fdde0314610104578063081812fc14610122578063095ea7b31461015257806323b872dd1461016e57806342842e0e1461018a575b600080fd5b6100ee60048036038101906100e99190611418565b6102bc565b6040516100fb9190611460565b60405180910390f35b61010c61039e565b6040516101199190611514565b60405180910390f35b61013c6004803603810190610137919061156c565b610430565b60405161014991906115da565b60405180910390f35b61016c60048036038101906101679190611621565b6104b5565b005b61018860048036038101906101839190611661565b6105cd565b005b6101a4600480360381019061019f9190611661565b61062d565b005b6101c060048036038101906101bb919061156c565b61064d565b6040516101cd91906115da565b60405180910390f35b6101f060048036038101906101eb91906116b4565b6106ff565b6040516101fd91906116f0565b60405180910390f35b61020e6107b7565b60405161021b9190611514565b60405180910390f35b61023e60048036038101906102399190611737565b610849565b005b61025a600480360381019061025591906118ac565b6109ca565b005b6102766004803603810190610271919061156c565b610a2c565b6040516102839190611514565b60405180910390f35b6102a660048036038101906102a1919061192f565b610ad3565b6040516102b39190611460565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061038757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610397575061039682610b67565b5b9050919050565b6060600080546103ad9061199e565b80601f01602080910402602001604051908101604052809291908181526020018280546103d99061199e565b80156104265780601f106103fb57610100808354040283529160200191610426565b820191906000526020600020905b81548152906001019060200180831161040957829003601f168201915b5050505050905090565b600061043b82610bd1565b61047a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190611a42565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104c08261064d565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610531576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052890611ad4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610550610c3d565b73ffffffffffffffffffffffffffffffffffffffff16148061057f575061057e81610579610c3d565b610ad3565b5b6105be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b590611b66565b60405180910390fd5b6105c88383610c45565b505050565b6105de6105d8610c3d565b82610cfe565b61061d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061490611bf8565b60405180910390fd5b610628838383610ddc565b505050565b610648838383604051806020016040528060008152506109ca565b505050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156106f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ed90611c8a565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610770576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076790611d1c565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546107c69061199e565b80601f01602080910402602001604051908101604052809291908181526020018280546107f29061199e565b801561083f5780601f106108145761010080835404028352916020019161083f565b820191906000526020600020905b81548152906001019060200180831161082257829003601f168201915b5050505050905090565b610851610c3d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b690611d88565b60405180910390fd5b80600560006108cc610c3d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610979610c3d565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516109be9190611460565b60405180910390a35050565b6109db6109d5610c3d565b83610cfe565b610a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1190611bf8565b60405180910390fd5b610a2684848484611038565b50505050565b6060610a3782610bd1565b610a76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6d90611e1a565b60405180910390fd5b6000610a80611094565b90506000815111610aa05760405180602001604052806000815250610acb565b80610aaa846110ab565b604051602001610abb929190611e76565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610cb88361064d565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610d0982610bd1565b610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f90611f0c565b60405180910390fd5b6000610d538361064d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610dc257508373ffffffffffffffffffffffffffffffffffffffff16610daa84610430565b73ffffffffffffffffffffffffffffffffffffffff16145b80610dd35750610dd28185610ad3565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610dfc8261064d565b73ffffffffffffffffffffffffffffffffffffffff1614610e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4990611f9e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb990612030565b60405180910390fd5b610ecd83838361120c565b610ed8600082610c45565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f28919061207f565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f7f91906120b3565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b611043848484610ddc565b61104f84848484611211565b61108e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110859061217b565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b606060008214156110f3576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611207565b600082905060005b6000821461112557808061110e9061219b565b915050600a8261111e9190612213565b91506110fb565b60008167ffffffffffffffff81111561114157611140611781565b5b6040519080825280601f01601f1916602001820160405280156111735781602001600182028036833780820191505090505b5090505b600085146112005760018261118c919061207f565b9150600a8561119b9190612244565b60306111a791906120b3565b60f81b8183815181106111bd576111bc612275565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856111f99190612213565b9450611177565b8093505050505b919050565b505050565b60006112328473ffffffffffffffffffffffffffffffffffffffff16611399565b1561138c578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261125b610c3d565b8786866040518563ffffffff1660e01b815260040161127d94939291906122f9565b6020604051808303816000875af19250505080156112b957506040513d601f19601f820116820180604052508101906112b6919061235a565b60015b61133c573d80600081146112e9576040519150601f19603f3d011682016040523d82523d6000602084013e6112ee565b606091505b50600081511415611334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132b9061217b565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611391565b600190505b949350505050565b600080823b905060008111915050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6113f5816113c0565b811461140057600080fd5b50565b600081359050611412816113ec565b92915050565b60006020828403121561142e5761142d6113b6565b5b600061143c84828501611403565b91505092915050565b60008115159050919050565b61145a81611445565b82525050565b60006020820190506114756000830184611451565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156114b557808201518184015260208101905061149a565b838111156114c4576000848401525b50505050565b6000601f19601f8301169050919050565b60006114e68261147b565b6114f08185611486565b9350611500818560208601611497565b611509816114ca565b840191505092915050565b6000602082019050818103600083015261152e81846114db565b905092915050565b6000819050919050565b61154981611536565b811461155457600080fd5b50565b60008135905061156681611540565b92915050565b600060208284031215611582576115816113b6565b5b600061159084828501611557565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115c482611599565b9050919050565b6115d4816115b9565b82525050565b60006020820190506115ef60008301846115cb565b92915050565b6115fe816115b9565b811461160957600080fd5b50565b60008135905061161b816115f5565b92915050565b60008060408385031215611638576116376113b6565b5b60006116468582860161160c565b925050602061165785828601611557565b9150509250929050565b60008060006060848603121561167a576116796113b6565b5b60006116888682870161160c565b93505060206116998682870161160c565b92505060406116aa86828701611557565b9150509250925092565b6000602082840312156116ca576116c96113b6565b5b60006116d88482850161160c565b91505092915050565b6116ea81611536565b82525050565b600060208201905061170560008301846116e1565b92915050565b61171481611445565b811461171f57600080fd5b50565b6000813590506117318161170b565b92915050565b6000806040838503121561174e5761174d6113b6565b5b600061175c8582860161160c565b925050602061176d85828601611722565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6117b9826114ca565b810181811067ffffffffffffffff821117156117d8576117d7611781565b5b80604052505050565b60006117eb6113ac565b90506117f782826117b0565b919050565b600067ffffffffffffffff82111561181757611816611781565b5b611820826114ca565b9050602081019050919050565b82818337600083830152505050565b600061184f61184a846117fc565b6117e1565b90508281526020810184848401111561186b5761186a61177c565b5b61187684828561182d565b509392505050565b600082601f83011261189357611892611777565b5b81356118a384826020860161183c565b91505092915050565b600080600080608085870312156118c6576118c56113b6565b5b60006118d48782880161160c565b94505060206118e58782880161160c565b93505060406118f687828801611557565b925050606085013567ffffffffffffffff811115611917576119166113bb565b5b6119238782880161187e565b91505092959194509250565b60008060408385031215611946576119456113b6565b5b60006119548582860161160c565b92505060206119658582860161160c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806119b657607f821691505b602082108114156119ca576119c961196f565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000611a2c602c83611486565b9150611a37826119d0565b604082019050919050565b60006020820190508181036000830152611a5b81611a1f565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611abe602183611486565b9150611ac982611a62565b604082019050919050565b60006020820190508181036000830152611aed81611ab1565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b6000611b50603883611486565b9150611b5b82611af4565b604082019050919050565b60006020820190508181036000830152611b7f81611b43565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000611be2603183611486565b9150611bed82611b86565b604082019050919050565b60006020820190508181036000830152611c1181611bd5565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b6000611c74602983611486565b9150611c7f82611c18565b604082019050919050565b60006020820190508181036000830152611ca381611c67565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000611d06602a83611486565b9150611d1182611caa565b604082019050919050565b60006020820190508181036000830152611d3581611cf9565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000611d72601983611486565b9150611d7d82611d3c565b602082019050919050565b60006020820190508181036000830152611da181611d65565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000611e04602f83611486565b9150611e0f82611da8565b604082019050919050565b60006020820190508181036000830152611e3381611df7565b9050919050565b600081905092915050565b6000611e508261147b565b611e5a8185611e3a565b9350611e6a818560208601611497565b80840191505092915050565b6000611e828285611e45565b9150611e8e8284611e45565b91508190509392505050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000611ef6602c83611486565b9150611f0182611e9a565b604082019050919050565b60006020820190508181036000830152611f2581611ee9565b9050919050565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b6000611f88602983611486565b9150611f9382611f2c565b604082019050919050565b60006020820190508181036000830152611fb781611f7b565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061201a602483611486565b915061202582611fbe565b604082019050919050565b600060208201905081810360008301526120498161200d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061208a82611536565b915061209583611536565b9250828210156120a8576120a7612050565b5b828203905092915050565b60006120be82611536565b91506120c983611536565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156120fe576120fd612050565b5b828201905092915050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000612165603283611486565b915061217082612109565b604082019050919050565b6000602082019050818103600083015261219481612158565b9050919050565b60006121a682611536565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156121d9576121d8612050565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061221e82611536565b915061222983611536565b925082612239576122386121e4565b5b828204905092915050565b600061224f82611536565b915061225a83611536565b92508261226a576122696121e4565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b60006122cb826122a4565b6122d581856122af565b93506122e5818560208601611497565b6122ee816114ca565b840191505092915050565b600060808201905061230e60008301876115cb565b61231b60208301866115cb565b61232860408301856116e1565b818103606083015261233a81846122c0565b905095945050505050565b600081519050612354816113ec565b92915050565b6000602082840312156123705761236f6113b6565b5b600061237e84828501612345565b9150509291505056fea264697066735822122010dd172fa9d846160a76ea9d7460dd8d43bdd2ab36b213d72512d2bf15366ddf64736f6c634300080a0033",
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb46514610224578063b88d4fde14610240578063c87b56dd1461025c578063e985e9c51461028c576100cf565b80636352211e146101a657806370a08231146101d657806395d89b4114610206576100cf565b806301ffc9a7146100d457806306fdde0314610104578063081812fc14610122578063095ea7b31461015257806323b872dd1461016e57806342842e0e1461018a575b600080fd5b6100ee60048036038101906100e99190611418565b6102bc565b6040516100fb9190611460565b60405180910390f35b61010c61039e565b6040516101199190611514565b60405180910390f35b61013c6004803603810190610137919061156c565b610430565b60405161014991906115da565b60405180910390f35b61016c60048036038101906101679190611621565b6104b5565b005b61018860048036038101906101839190611661565b6105cd565b005b6101a4600480360381019061019f9190611661565b61062d565b005b6101c060048036038101906101bb919061156c565b61064d565b6040516101cd91906115da565b60405180910390f35b6101f060048036038101906101eb91906116b4565b6106ff565b6040516101fd91906116f0565b60405180910390f35b61020e6107b7565b60405161021b9190611514565b60405180910390f35b61023e60048036038101906102399190611737565b610849565b005b61025a600480360381019061025591906118ac565b6109ca565b005b6102766004803603810190610271919061156c565b610a2c565b6040516102839190611514565b60405180910390f35b6102a660048036038101906102a1919061192f565b610ad3565b6040516102b39190611460565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061038757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610397575061039682610b67565b5b9050919050565b6060600080546103ad9061199e565b80601f01602080910402602001604051908101604052809291908181526020018280546103d99061199e565b80156104265780601f106103fb57610100808354040283529160200191610426565b820191906000526020600020905b81548152906001019060200180831161040957829003601f168201915b5050505050905090565b600061043b82610bd1565b61047a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047190611a42565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104c08261064d565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610531576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052890611ad4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610550610c3d565b73ffffffffffffffffffffffffffffffffffffffff16148061057f575061057e81610579610c3d565b610ad3565b5b6105be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b590611b66565b60405180910390fd5b6105c88383610c45565b505050565b6105de6105d8610c3d565b82610cfe565b61061d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061490611bf8565b60405180910390fd5b610628838383610ddc565b505050565b610648838383604051806020016040528060008152506109ca565b505050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156106f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ed90611c8a565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610770576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076790611d1c565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600180546107c69061199e565b80601f01602080910402602001604051908101604052809291908181526020018280546107f29061199e565b801561083f5780601f106108145761010080835404028352916020019161083f565b820191906000526020600020905b81548152906001019060200180831161082257829003601f168201915b5050505050905090565b610851610c3d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b690611d88565b60405180910390fd5b80600560006108cc610c3d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610979610c3d565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516109be9190611460565b60405180910390a35050565b6109db6109d5610c3d565b83610cfe565b610a1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1190611bf8565b60405180910390fd5b610a2684848484611038565b50505050565b6060610a3782610bd1565b610a76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6d90611e1a565b60405180910390fd5b6000610a80611094565b90506000815111610aa05760405180602001604052806000815250610acb565b80610aaa846110ab565b604051602001610abb929190611e76565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610cb88361064d565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610d0982610bd1565b610d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3f90611f0c565b60405180910390fd5b6000610d538361064d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610dc257508373ffffffffffffffffffffffffffffffffffffffff16610daa84610430565b73ffffffffffffffffffffffffffffffffffffffff16145b80610dd35750610dd28185610ad3565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610dfc8261064d565b73ffffffffffffffffffffffffffffffffffffffff1614610e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4990611f9e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb990612030565b60405180910390fd5b610ecd83838361120c565b610ed8600082610c45565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f28919061207f565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f7f91906120b3565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b611043848484610ddc565b61104f84848484611211565b61108e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110859061217b565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b606060008214156110f3576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611207565b600082905060005b6000821461112557808061110e9061219b565b915050600a8261111e9190612213565b91506110fb565b60008167ffffffffffffffff81111561114157611140611781565b5b6040519080825280601f01601f1916602001820160405280156111735781602001600182028036833780820191505090505b5090505b600085146112005760018261118c919061207f565b9150600a8561119b9190612244565b60306111a791906120b3565b60f81b8183815181106111bd576111bc612275565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856111f99190612213565b9450611177565b8093505050505b919050565b505050565b60006112328473ffffffffffffffffffffffffffffffffffffffff16611399565b1561138c578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261125b610c3d565b8786866040518563ffffffff1660e01b815260040161127d94939291906122f9565b6020604051808303816000875af19250505080156112b957506040513d601f19601f820116820180604052508101906112b6919061235a565b60015b61133c573d80600081146112e9576040519150601f19603f3d011682016040523d82523d6000602084013e6112ee565b606091505b50600081511415611334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132b9061217b565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611391565b600190505b949350505050565b600080823b905060008111915050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6113f5816113c0565b811461140057600080fd5b50565b600081359050611412816113ec565b92915050565b60006020828403121561142e5761142d6113b6565b5b600061143c84828501611403565b91505092915050565b60008115159050919050565b61145a81611445565b82525050565b60006020820190506114756000830184611451565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156114b557808201518184015260208101905061149a565b838111156114c4576000848401525b50505050565b6000601f19601f8301169050919050565b60006114e68261147b565b6114f08185611486565b9350611500818560208601611497565b611509816114ca565b840191505092915050565b6000602082019050818103600083015261152e81846114db565b905092915050565b6000819050919050565b61154981611536565b811461155457600080fd5b50565b60008135905061156681611540565b92915050565b600060208284031215611582576115816113b6565b5b600061159084828501611557565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115c482611599565b9050919050565b6115d4816115b9565b82525050565b60006020820190506115ef60008301846115cb565b92915050565b6115fe816115b9565b811461160957600080fd5b50565b60008135905061161b816115f5565b92915050565b60008060408385031215611638576116376113b6565b5b60006116468582860161160c565b925050602061165785828601611557565b9150509250929050565b60008060006060848603121561167a576116796113b6565b5b60006116888682870161160c565b93505060206116998682870161160c565b92505060406116aa86828701611557565b9150509250925092565b6000602082840312156116ca576116c96113b6565b5b60006116d88482850161160c565b91505092915050565b6116ea81611536565b82525050565b600060208201905061170560008301846116e1565b92915050565b61171481611445565b811461171f57600080fd5b50565b6000813590506117318161170b565b92915050565b6000806040838503121561174e5761174d6113b6565b5b600061175c8582860161160c565b925050602061176d85828601611722565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6117b9826114ca565b810181811067ffffffffffffffff821117156117d8576117d7611781565b5b80604052505050565b60006117eb6113ac565b90506117f782826117b0565b919050565b600067ffffffffffffffff82111561181757611816611781565b5b611820826114ca565b9050602081019050919050565b82818337600083830152505050565b600061184f61184a846117fc565b6117e1565b90508281526020810184848401111561186b5761186a61177c565b5b61187684828561182d565b509392505050565b600082601f83011261189357611892611777565b5b81356118a384826020860161183c565b91505092915050565b600080600080608085870312156118c6576118c56113b6565b5b60006118d48782880161160c565b94505060206118e58782880161160c565b93505060406118f687828801611557565b925050606085013567ffffffffffffffff811115611917576119166113bb565b5b6119238782880161187e565b91505092959194509250565b60008060408385031215611946576119456113b6565b5b60006119548582860161160c565b92505060206119658582860161160c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806119b657607f821691505b602082108114156119ca576119c961196f565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000611a2c602c83611486565b9150611a37826119d0565b604082019050919050565b60006020820190508181036000830152611a5b81611a1f565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611abe602183611486565b9150611ac982611a62565b604082019050919050565b60006020820190508181036000830152611aed81611ab1565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b6000611b50603883611486565b9150611b5b82611af4565b604082019050919050565b60006020820190508181036000830152611b7f81611b43565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000611be2603183611486565b9150611bed82611b86565b604082019050919050565b60006020820190508181036000830152611c1181611bd5565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b6000611c74602983611486565b9150611c7f82611c18565b604082019050919050565b60006020820190508181036000830152611ca381611c67565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000611d06602a83611486565b9150611d1182611caa565b604082019050919050565b60006020820190508181036000830152611d3581611cf9565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000611d72601983611486565b9150611d7d82611d3c565b602082019050919050565b60006020820190508181036000830152611da181611d65565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000611e04602f83611486565b9150611e0f82611da8565b604082019050919050565b60006020820190508181036000830152611e3381611df7565b9050919050565b600081905092915050565b6000611e508261147b565b611e5a8185611e3a565b9350611e6a818560208601611497565b80840191505092915050565b6000611e828285611e45565b9150611e8e8284611e45565b91508190509392505050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000611ef6602c83611486565b9150611f0182611e9a565b604082019050919050565b60006020820190508181036000830152611f2581611ee9565b9050919050565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b6000611f88602983611486565b9150611f9382611f2c565b604082019050919050565b60006020820190508181036000830152611fb781611f7b565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061201a602483611486565b915061202582611fbe565b604082019050919050565b600060208201905081810360008301526120498161200d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061208a82611536565b915061209583611536565b9250828210156120a8576120a7612050565b5b828203905092915050565b60006120be82611536565b91506120c983611536565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156120fe576120fd612050565b5b828201905092915050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000612165603283611486565b915061217082612109565b604082019050919050565b6000602082019050818103600083015261219481612158565b9050919050565b60006121a682611536565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156121d9576121d8612050565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061221e82611536565b915061222983611536565b925082612239576122386121e4565b5b828204905092915050565b600061224f82611536565b915061225a83611536565b92508261226a576122696121e4565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b60006122cb826122a4565b6122d581856122af565b93506122e5818560208601611497565b6122ee816114ca565b840191505092915050565b600060808201905061230e60008301876115cb565b61231b60208301866115cb565b61232860408301856116e1565b818103606083015261233a81846122c0565b905095945050505050565b600081519050612354816113ec565b92915050565b6000602082840312156123705761236f6113b6565b5b600061237e84828501612345565b9150509291505056fea264697066735822122010dd172fa9d846160a76ea9d7460dd8d43bdd2ab36b213d72512d2bf15366ddf64736f6c634300080a0033",
+ "immutableReferences": {},
+ "generatedSources": [
+ {
+ "ast": {
+ "nodeType": "YulBlock",
+ "src": "0:4093:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "47:35:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "57:19:14",
+ "value": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "73:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "67:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "67:9:14"
+ },
+ "variableNames": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "57:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "allocate_unbounded",
+ "nodeType": "YulFunctionDefinition",
+ "returnVariables": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "40:6:14",
+ "type": ""
+ }
+ ],
+ "src": "7:75:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "177:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "194:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "197:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "187:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "187:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "187:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulFunctionDefinition",
+ "src": "88:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "300:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "317:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "320:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "310:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "310:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "310:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
+ "nodeType": "YulFunctionDefinition",
+ "src": "211:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "423:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "440:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "443:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "433:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "433:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "433:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
+ "nodeType": "YulFunctionDefinition",
+ "src": "334:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "546:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "563:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "566:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "556:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "556:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "556:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
+ "nodeType": "YulFunctionDefinition",
+ "src": "457:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "628:54:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "638:38:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "656:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "663:2:14",
+ "type": "",
+ "value": "31"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "652:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "652:14:14"
+ },
+ {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "672:2:14",
+ "type": "",
+ "value": "31"
+ }
+ ],
+ "functionName": {
+ "name": "not",
+ "nodeType": "YulIdentifier",
+ "src": "668:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "668:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "648:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "648:28:14"
+ },
+ "variableNames": [
+ {
+ "name": "result",
+ "nodeType": "YulIdentifier",
+ "src": "638:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "611:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "result",
+ "nodeType": "YulTypedName",
+ "src": "621:6:14",
+ "type": ""
+ }
+ ],
+ "src": "580:102:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "716:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "733:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "736:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "726:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "726:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "726:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "830:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "833:4:14",
+ "type": "",
+ "value": "0x41"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "823:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "823:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "823:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "854:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "857:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "847:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "847:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "847:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x41",
+ "nodeType": "YulFunctionDefinition",
+ "src": "688:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "917:238:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "927:58:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "949:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "979:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulIdentifier",
+ "src": "957:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "957:27:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "945:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "945:40:14"
+ },
+ "variables": [
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulTypedName",
+ "src": "931:10:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1096:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x41",
+ "nodeType": "YulIdentifier",
+ "src": "1098:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1098:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1098:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulIdentifier",
+ "src": "1039:10:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1051:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "1036:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1036:34:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulIdentifier",
+ "src": "1075:10:14"
+ },
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "1087:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "1072:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1072:22:14"
+ }
+ ],
+ "functionName": {
+ "name": "or",
+ "nodeType": "YulIdentifier",
+ "src": "1033:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1033:62:14"
+ },
+ "nodeType": "YulIf",
+ "src": "1030:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1134:2:14",
+ "type": "",
+ "value": "64"
+ },
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulIdentifier",
+ "src": "1138:10:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "1127:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1127:22:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1127:22:14"
+ }
+ ]
+ },
+ "name": "finalize_allocation",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "903:6:14",
+ "type": ""
+ },
+ {
+ "name": "size",
+ "nodeType": "YulTypedName",
+ "src": "911:4:14",
+ "type": ""
+ }
+ ],
+ "src": "874:281:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1202:88:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1212:30:14",
+ "value": {
+ "arguments": [],
+ "functionName": {
+ "name": "allocate_unbounded",
+ "nodeType": "YulIdentifier",
+ "src": "1222:18:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1222:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "1212:6:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "1271:6:14"
+ },
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "1279:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "finalize_allocation",
+ "nodeType": "YulIdentifier",
+ "src": "1251:19:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1251:33:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1251:33:14"
+ }
+ ]
+ },
+ "name": "allocate_memory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "size",
+ "nodeType": "YulTypedName",
+ "src": "1186:4:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "1195:6:14",
+ "type": ""
+ }
+ ],
+ "src": "1161:129:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1363:241:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1468:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x41",
+ "nodeType": "YulIdentifier",
+ "src": "1470:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1470:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1470:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "1440:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1448:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "1437:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1437:30:14"
+ },
+ "nodeType": "YulIf",
+ "src": "1434:56:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "1500:37:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "1530:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulIdentifier",
+ "src": "1508:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1508:29:14"
+ },
+ "variableNames": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "1500:4:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "1574:23:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "1586:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1592:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1582:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1582:15:14"
+ },
+ "variableNames": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "1574:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_allocation_size_t_string_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "1347:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "size",
+ "nodeType": "YulTypedName",
+ "src": "1358:4:14",
+ "type": ""
+ }
+ ],
+ "src": "1296:308:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1659:258:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "1669:10:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1678:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "i",
+ "nodeType": "YulTypedName",
+ "src": "1673:1:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1738:63:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "1763:3:14"
+ },
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1768:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1759:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1759:11:14"
+ },
+ {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "1782:3:14"
+ },
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1787:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1778:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1778:11:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "1772:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1772:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "1752:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1752:39:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1752:39:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1699:1:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "1702:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "1696:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1696:13:14"
+ },
+ "nodeType": "YulForLoop",
+ "post": {
+ "nodeType": "YulBlock",
+ "src": "1710:19:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1712:15:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1721:1:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1724:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1717:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1717:10:14"
+ },
+ "variableNames": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1712:1:14"
+ }
+ ]
+ }
+ ]
+ },
+ "pre": {
+ "nodeType": "YulBlock",
+ "src": "1692:3:14",
+ "statements": []
+ },
+ "src": "1688:113:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1835:76:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "1885:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "1890:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1881:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1881:16:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1899:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "1874:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1874:27:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1874:27:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1816:1:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "1819:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "1813:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1813:13:14"
+ },
+ "nodeType": "YulIf",
+ "src": "1810:101:14"
+ }
+ ]
+ },
+ "name": "copy_memory_to_memory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "src",
+ "nodeType": "YulTypedName",
+ "src": "1641:3:14",
+ "type": ""
+ },
+ {
+ "name": "dst",
+ "nodeType": "YulTypedName",
+ "src": "1646:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "1651:6:14",
+ "type": ""
+ }
+ ],
+ "src": "1610:307:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2018:326:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "2028:75:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2095:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_allocation_size_t_string_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "2053:41:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2053:49:14"
+ }
+ ],
+ "functionName": {
+ "name": "allocate_memory",
+ "nodeType": "YulIdentifier",
+ "src": "2037:15:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2037:66:14"
+ },
+ "variableNames": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "2028:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "2119:5:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2126:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "2112:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2112:21:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2112:21:14"
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "2142:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "2157:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2164:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2153:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2153:16:14"
+ },
+ "variables": [
+ {
+ "name": "dst",
+ "nodeType": "YulTypedName",
+ "src": "2146:3:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2207:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
+ "nodeType": "YulIdentifier",
+ "src": "2209:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2209:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2209:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "2188:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2193:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2184:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2184:16:14"
+ },
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "2202:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "2181:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2181:25:14"
+ },
+ "nodeType": "YulIf",
+ "src": "2178:112:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "2321:3:14"
+ },
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "2326:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2331:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "copy_memory_to_memory",
+ "nodeType": "YulIdentifier",
+ "src": "2299:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2299:39:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2299:39:14"
+ }
+ ]
+ },
+ "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "src",
+ "nodeType": "YulTypedName",
+ "src": "1991:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "1996:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "2004:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "array",
+ "nodeType": "YulTypedName",
+ "src": "2012:5:14",
+ "type": ""
+ }
+ ],
+ "src": "1923:421:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2437:282:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2486:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
+ "nodeType": "YulIdentifier",
+ "src": "2488:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2488:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2488:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "2465:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2473:4:14",
+ "type": "",
+ "value": "0x1f"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2461:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2461:17:14"
+ },
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "2480:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "2457:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2457:27:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "2450:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2450:35:14"
+ },
+ "nodeType": "YulIf",
+ "src": "2447:122:14"
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "2578:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "2598:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "2592:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2592:13:14"
+ },
+ "variables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "2582:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "2614:99:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "2686:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2694:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2682:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2682:17:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2701:6:14"
+ },
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "2709:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory",
+ "nodeType": "YulIdentifier",
+ "src": "2623:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2623:90:14"
+ },
+ "variableNames": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "2614:5:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_t_string_memory_ptr_fromMemory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "2415:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "2423:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "array",
+ "nodeType": "YulTypedName",
+ "src": "2431:5:14",
+ "type": ""
+ }
+ ],
+ "src": "2364:355:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2839:739:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2885:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "2887:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2887:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2887:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "2860:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "2869:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "2856:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2856:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2881:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "2852:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2852:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "2849:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "2978:291:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "2993:38:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3017:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3028:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3013:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3013:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "3007:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3007:24:14"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "2997:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3078:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
+ "nodeType": "YulIdentifier",
+ "src": "3080:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3080:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3080:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "3050:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3058:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "3047:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3047:30:14"
+ },
+ "nodeType": "YulIf",
+ "src": "3044:117:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "3175:84:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3231:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "3242:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3227:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3227:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "3251:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_string_memory_ptr_fromMemory",
+ "nodeType": "YulIdentifier",
+ "src": "3185:41:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3185:74:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "3175:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "3279:292:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "3294:39:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3318:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3329:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3314:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3314:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "3308:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3308:25:14"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "3298:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3380:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
+ "nodeType": "YulIdentifier",
+ "src": "3382:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3382:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3382:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "3352:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3360:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "3349:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3349:30:14"
+ },
+ "nodeType": "YulIf",
+ "src": "3346:117:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "3477:84:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3533:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "3544:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3529:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3529:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "3553:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_string_memory_ptr_fromMemory",
+ "nodeType": "YulIdentifier",
+ "src": "3487:41:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3487:74:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "3477:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "2801:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "2812:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "2824:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "2832:6:14",
+ "type": ""
+ }
+ ],
+ "src": "2725:853:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3612:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3629:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3632:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "3622:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3622:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3622:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3726:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3729:4:14",
+ "type": "",
+ "value": "0x22"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "3719:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3719:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3719:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3750:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3753:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "3743:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3743:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3743:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x22",
+ "nodeType": "YulFunctionDefinition",
+ "src": "3584:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3821:269:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "3831:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "data",
+ "nodeType": "YulIdentifier",
+ "src": "3845:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3851:1:14",
+ "type": "",
+ "value": "2"
+ }
+ ],
+ "functionName": {
+ "name": "div",
+ "nodeType": "YulIdentifier",
+ "src": "3841:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3841:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "3831:6:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "3862:38:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "data",
+ "nodeType": "YulIdentifier",
+ "src": "3892:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3898:1:14",
+ "type": "",
+ "value": "1"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "3888:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3888:12:14"
+ },
+ "variables": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulTypedName",
+ "src": "3866:18:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3939:51:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "3953:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "3967:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3975:4:14",
+ "type": "",
+ "value": "0x7f"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "3963:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3963:17:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "3953:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulIdentifier",
+ "src": "3919:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "3912:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3912:26:14"
+ },
+ "nodeType": "YulIf",
+ "src": "3909:81:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4042:42:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x22",
+ "nodeType": "YulIdentifier",
+ "src": "4056:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4056:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "4056:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulIdentifier",
+ "src": "4006:18:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "4029:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4037:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "4026:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4026:14:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "4003:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4003:38:14"
+ },
+ "nodeType": "YulIf",
+ "src": "4000:84:14"
+ }
+ ]
+ },
+ "name": "extract_byte_array_length",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "data",
+ "nodeType": "YulTypedName",
+ "src": "3805:4:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "3814:6:14",
+ "type": ""
+ }
+ ],
+ "src": "3770:320:14"
+ }
+ ]
+ },
+ "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n}\n",
+ "id": 14,
+ "language": "Yul",
+ "name": "#utility.yul"
+ }
+ ],
+ "deployedGeneratedSources": [
+ {
+ "ast": {
+ "nodeType": "YulBlock",
+ "src": "0:27822:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "47:35:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "57:19:14",
+ "value": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "73:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "67:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "67:9:14"
+ },
+ "variableNames": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "57:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "allocate_unbounded",
+ "nodeType": "YulFunctionDefinition",
+ "returnVariables": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "40:6:14",
+ "type": ""
+ }
+ ],
+ "src": "7:75:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "177:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "194:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "197:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "187:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "187:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "187:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulFunctionDefinition",
+ "src": "88:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "300:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "317:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "320:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "310:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "310:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "310:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
+ "nodeType": "YulFunctionDefinition",
+ "src": "211:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "378:105:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "388:89:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "403:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "410:66:14",
+ "type": "",
+ "value": "0xffffffff00000000000000000000000000000000000000000000000000000000"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "399:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "399:78:14"
+ },
+ "variableNames": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulIdentifier",
+ "src": "388:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "cleanup_t_bytes4",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "360:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulTypedName",
+ "src": "370:7:14",
+ "type": ""
+ }
+ ],
+ "src": "334:149:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "531:78:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "587:16:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "596:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "599:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "589:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "589:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "589:12:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "554:5:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "578:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_bytes4",
+ "nodeType": "YulIdentifier",
+ "src": "561:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "561:23:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "551:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "551:34:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "544:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "544:42:14"
+ },
+ "nodeType": "YulIf",
+ "src": "541:62:14"
+ }
+ ]
+ },
+ "name": "validator_revert_t_bytes4",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "524:5:14",
+ "type": ""
+ }
+ ],
+ "src": "489:120:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "666:86:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "676:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "698:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "685:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "685:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "676:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "740:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "validator_revert_t_bytes4",
+ "nodeType": "YulIdentifier",
+ "src": "714:25:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "714:32:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "714:32:14"
+ }
+ ]
+ },
+ "name": "abi_decode_t_bytes4",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "644:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "652:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "660:5:14",
+ "type": ""
+ }
+ ],
+ "src": "615:137:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "823:262:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "869:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "871:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "871:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "871:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "844:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "853:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "840:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "840:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "865:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "836:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "836:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "833:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "962:116:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "977:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "991:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "981:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "1006:62:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "1040:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "1051:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1036:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1036:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "1060:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_bytes4",
+ "nodeType": "YulIdentifier",
+ "src": "1016:19:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1016:52:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "1006:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_bytes4",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "793:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "804:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "816:6:14",
+ "type": ""
+ }
+ ],
+ "src": "758:327:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1133:48:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1143:32:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "1168:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "1161:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1161:13:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "1154:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1154:21:14"
+ },
+ "variableNames": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulIdentifier",
+ "src": "1143:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "cleanup_t_bool",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "1115:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulTypedName",
+ "src": "1125:7:14",
+ "type": ""
+ }
+ ],
+ "src": "1091:90:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1246:50:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "1263:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "1283:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_bool",
+ "nodeType": "YulIdentifier",
+ "src": "1268:14:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1268:21:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "1256:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1256:34:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1256:34:14"
+ }
+ ]
+ },
+ "name": "abi_encode_t_bool_to_t_bool_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "1234:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "1241:3:14",
+ "type": ""
+ }
+ ],
+ "src": "1187:109:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1394:118:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1404:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "1416:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1427:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1412:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1412:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "1404:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "1478:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "1491:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1502:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1487:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1487:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_bool_to_t_bool_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "1440:37:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1440:65:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1440:65:14"
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "1366:9:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "1378:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "1389:4:14",
+ "type": ""
+ }
+ ],
+ "src": "1302:210:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1577:40:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1588:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "1604:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "1598:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1598:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "1588:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_length_t_string_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "1560:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "1570:6:14",
+ "type": ""
+ }
+ ],
+ "src": "1518:99:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1719:73:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "1736:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "1741:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "1729:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1729:19:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1729:19:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "1757:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "1776:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1781:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1772:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1772:14:14"
+ },
+ "variableNames": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulIdentifier",
+ "src": "1757:11:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "1691:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "1696:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulTypedName",
+ "src": "1707:11:14",
+ "type": ""
+ }
+ ],
+ "src": "1623:169:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1847:258:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "1857:10:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1866:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "i",
+ "nodeType": "YulTypedName",
+ "src": "1861:1:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1926:63:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "1951:3:14"
+ },
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1956:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1947:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1947:11:14"
+ },
+ {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "1970:3:14"
+ },
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1975:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1966:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1966:11:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "1960:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1960:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "1940:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1940:39:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1940:39:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1887:1:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "1890:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "1884:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1884:13:14"
+ },
+ "nodeType": "YulForLoop",
+ "post": {
+ "nodeType": "YulBlock",
+ "src": "1898:19:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1900:15:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1909:1:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1912:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1905:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1905:10:14"
+ },
+ "variableNames": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "1900:1:14"
+ }
+ ]
+ }
+ ]
+ },
+ "pre": {
+ "nodeType": "YulBlock",
+ "src": "1880:3:14",
+ "statements": []
+ },
+ "src": "1876:113:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2023:76:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "2073:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2078:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2069:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2069:16:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2087:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "2062:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2062:27:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2062:27:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "2004:1:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2007:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "2001:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2001:13:14"
+ },
+ "nodeType": "YulIf",
+ "src": "1998:101:14"
+ }
+ ]
+ },
+ "name": "copy_memory_to_memory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "src",
+ "nodeType": "YulTypedName",
+ "src": "1829:3:14",
+ "type": ""
+ },
+ {
+ "name": "dst",
+ "nodeType": "YulTypedName",
+ "src": "1834:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "1839:6:14",
+ "type": ""
+ }
+ ],
+ "src": "1798:307:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2159:54:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "2169:38:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2187:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2194:2:14",
+ "type": "",
+ "value": "31"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2183:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2183:14:14"
+ },
+ {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2203:2:14",
+ "type": "",
+ "value": "31"
+ }
+ ],
+ "functionName": {
+ "name": "not",
+ "nodeType": "YulIdentifier",
+ "src": "2199:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2199:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "2179:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2179:28:14"
+ },
+ "variableNames": [
+ {
+ "name": "result",
+ "nodeType": "YulIdentifier",
+ "src": "2169:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "2142:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "result",
+ "nodeType": "YulTypedName",
+ "src": "2152:6:14",
+ "type": ""
+ }
+ ],
+ "src": "2111:102:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2311:272:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "2321:53:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2368:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_length_t_string_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "2335:32:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2335:39:14"
+ },
+ "variables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "2325:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "2383:78:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "2449:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2454:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "2390:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2390:71:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "2383:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2496:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2503:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2492:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2492:16:14"
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "2510:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2515:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "copy_memory_to_memory",
+ "nodeType": "YulIdentifier",
+ "src": "2470:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2470:52:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2470:52:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "2531:46:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "2542:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2569:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulIdentifier",
+ "src": "2547:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2547:29:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2538:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2538:39:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "2531:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "2292:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "2299:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "2307:3:14",
+ "type": ""
+ }
+ ],
+ "src": "2219:364:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2707:195:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "2717:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "2729:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2740:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2725:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2725:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "2717:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "2764:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2775:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2760:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2760:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "2783:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "2789:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "2779:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2779:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "2753:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2753:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2753:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "2809:86:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "2881:6:14"
+ },
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "2890:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "2817:63:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2817:78:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "2809:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "2679:9:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "2691:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "2702:4:14",
+ "type": ""
+ }
+ ],
+ "src": "2589:313:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2953:32:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "2963:16:14",
+ "value": {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2974:5:14"
+ },
+ "variableNames": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulIdentifier",
+ "src": "2963:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "2935:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulTypedName",
+ "src": "2945:7:14",
+ "type": ""
+ }
+ ],
+ "src": "2908:77:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3034:79:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3091:16:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3100:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3103:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "3093:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3093:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3093:12:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "3057:5:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "3082:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "3064:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3064:24:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "3054:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3054:35:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "3047:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3047:43:14"
+ },
+ "nodeType": "YulIf",
+ "src": "3044:63:14"
+ }
+ ]
+ },
+ "name": "validator_revert_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "3027:5:14",
+ "type": ""
+ }
+ ],
+ "src": "2991:122:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3171:87:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "3181:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "3203:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "3190:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3190:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "3181:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "3246:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "validator_revert_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "3219:26:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3219:33:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3219:33:14"
+ }
+ ]
+ },
+ "name": "abi_decode_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "3149:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "3157:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "3165:5:14",
+ "type": ""
+ }
+ ],
+ "src": "3119:139:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3330:263:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3376:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "3378:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3378:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3378:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "3351:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3360:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "3347:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3347:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3372:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "3343:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3343:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "3340:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "3469:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "3484:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3498:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "3488:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "3513:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3548:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "3559:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3544:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3544:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "3568:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "3523:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3523:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "3513:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "3300:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "3311:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "3323:6:14",
+ "type": ""
+ }
+ ],
+ "src": "3264:329:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3644:81:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "3654:65:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "3669:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3676:42:14",
+ "type": "",
+ "value": "0xffffffffffffffffffffffffffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "3665:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3665:54:14"
+ },
+ "variableNames": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulIdentifier",
+ "src": "3654:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "cleanup_t_uint160",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "3626:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulTypedName",
+ "src": "3636:7:14",
+ "type": ""
+ }
+ ],
+ "src": "3599:126:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3776:51:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "3786:35:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "3815:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint160",
+ "nodeType": "YulIdentifier",
+ "src": "3797:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3797:24:14"
+ },
+ "variableNames": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulIdentifier",
+ "src": "3786:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "cleanup_t_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "3758:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulTypedName",
+ "src": "3768:7:14",
+ "type": ""
+ }
+ ],
+ "src": "3731:96:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3898:53:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "3915:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "3938:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "3920:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3920:24:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "3908:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3908:37:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3908:37:14"
+ }
+ ]
+ },
+ "name": "abi_encode_t_address_to_t_address_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "3886:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "3893:3:14",
+ "type": ""
+ }
+ ],
+ "src": "3833:118:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4055:124:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "4065:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "4077:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4088:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "4073:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4073:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "4065:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "4145:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "4158:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4169:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "4154:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4154:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_address_to_t_address_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "4101:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4101:71:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "4101:71:14"
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "4027:9:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "4039:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "4050:4:14",
+ "type": ""
+ }
+ ],
+ "src": "3957:222:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4228:79:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4285:16:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4294:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4297:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "4287:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4287:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "4287:12:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "4251:5:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "4276:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "4258:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4258:24:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "4248:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4248:35:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "4241:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4241:43:14"
+ },
+ "nodeType": "YulIf",
+ "src": "4238:63:14"
+ }
+ ]
+ },
+ "name": "validator_revert_t_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "4221:5:14",
+ "type": ""
+ }
+ ],
+ "src": "4185:122:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4365:87:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "4375:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "4397:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "4384:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4384:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "4375:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "4440:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "validator_revert_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "4413:26:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4413:33:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "4413:33:14"
+ }
+ ]
+ },
+ "name": "abi_decode_t_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "4343:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "4351:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "4359:5:14",
+ "type": ""
+ }
+ ],
+ "src": "4313:139:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4541:391:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4587:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "4589:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4589:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "4589:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "4562:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "4571:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "4558:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4558:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4583:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "4554:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4554:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "4551:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "4680:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "4695:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4709:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "4699:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "4724:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "4759:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "4770:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "4755:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4755:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "4779:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "4734:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4734:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "4724:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "4807:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "4822:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4836:2:14",
+ "type": "",
+ "value": "32"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "4826:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "4852:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "4887:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "4898:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "4883:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4883:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "4907:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "4862:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4862:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "4852:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_addresst_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "4503:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "4514:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "4526:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "4534:6:14",
+ "type": ""
+ }
+ ],
+ "src": "4458:474:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "5038:519:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "5084:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "5086:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5086:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "5086:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5059:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5068:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "5055:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5055:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5080:2:14",
+ "type": "",
+ "value": "96"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "5051:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5051:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "5048:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "5177:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "5192:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5206:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "5196:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "5221:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5256:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "5267:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "5252:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5252:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5276:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "5231:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5231:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "5221:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "5304:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "5319:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5333:2:14",
+ "type": "",
+ "value": "32"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "5323:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "5349:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5384:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "5395:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "5380:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5380:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5404:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "5359:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5359:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "5349:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "5432:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "5447:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5461:2:14",
+ "type": "",
+ "value": "64"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "5451:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "5477:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5512:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "5523:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "5508:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5508:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5532:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "5487:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5487:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value2",
+ "nodeType": "YulIdentifier",
+ "src": "5477:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_addresst_addresst_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "4992:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "5003:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "5015:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "5023:6:14",
+ "type": ""
+ },
+ {
+ "name": "value2",
+ "nodeType": "YulTypedName",
+ "src": "5031:6:14",
+ "type": ""
+ }
+ ],
+ "src": "4938:619:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "5629:263:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "5675:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "5677:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5677:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "5677:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5650:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5659:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "5646:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5646:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5671:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "5642:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5642:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "5639:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "5768:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "5783:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5797:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "5787:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "5812:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5847:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "5858:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "5843:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5843:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5867:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "5822:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5822:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "5812:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "5599:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "5610:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "5622:6:14",
+ "type": ""
+ }
+ ],
+ "src": "5563:329:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "5963:53:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "5980:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "6003:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "5985:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5985:24:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "5973:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5973:37:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "5973:37:14"
+ }
+ ]
+ },
+ "name": "abi_encode_t_uint256_to_t_uint256_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "5951:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "5958:3:14",
+ "type": ""
+ }
+ ],
+ "src": "5898:118:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6120:124:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "6130:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "6142:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6153:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "6138:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6138:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "6130:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "6210:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "6223:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6234:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "6219:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6219:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_uint256_to_t_uint256_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "6166:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6166:71:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "6166:71:14"
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "6092:9:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "6104:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "6115:4:14",
+ "type": ""
+ }
+ ],
+ "src": "6022:222:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6290:76:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6344:16:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6353:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6356:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "6346:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6346:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "6346:12:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "6313:5:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "6335:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_bool",
+ "nodeType": "YulIdentifier",
+ "src": "6320:14:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6320:21:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "6310:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6310:32:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "6303:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6303:40:14"
+ },
+ "nodeType": "YulIf",
+ "src": "6300:60:14"
+ }
+ ]
+ },
+ "name": "validator_revert_t_bool",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "6283:5:14",
+ "type": ""
+ }
+ ],
+ "src": "6250:116:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6421:84:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "6431:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "6453:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "6440:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6440:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "6431:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "6493:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "validator_revert_t_bool",
+ "nodeType": "YulIdentifier",
+ "src": "6469:23:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6469:30:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "6469:30:14"
+ }
+ ]
+ },
+ "name": "abi_decode_t_bool",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "6399:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "6407:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "6415:5:14",
+ "type": ""
+ }
+ ],
+ "src": "6372:133:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6591:388:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6637:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "6639:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6639:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "6639:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "6612:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "6621:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "6608:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6608:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6633:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "6604:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6604:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "6601:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "6730:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "6745:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6759:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "6749:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "6774:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "6809:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "6820:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "6805:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6805:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "6829:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "6784:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6784:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "6774:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "6857:115:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "6872:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6886:2:14",
+ "type": "",
+ "value": "32"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "6876:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "6902:60:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "6934:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "6945:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "6930:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6930:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "6954:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_bool",
+ "nodeType": "YulIdentifier",
+ "src": "6912:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6912:50:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "6902:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_addresst_bool",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "6553:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "6564:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "6576:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "6584:6:14",
+ "type": ""
+ }
+ ],
+ "src": "6511:468:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7074:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7091:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7094:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "7084:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7084:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7084:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
+ "nodeType": "YulFunctionDefinition",
+ "src": "6985:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7197:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7214:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7217:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "7207:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7207:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7207:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
+ "nodeType": "YulFunctionDefinition",
+ "src": "7108:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7259:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7276:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7279:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "7269:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7269:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7269:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7373:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7376:4:14",
+ "type": "",
+ "value": "0x41"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "7366:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7366:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7366:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7397:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7400:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "7390:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7390:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7390:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x41",
+ "nodeType": "YulFunctionDefinition",
+ "src": "7231:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7460:238:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "7470:58:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "7492:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "7522:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulIdentifier",
+ "src": "7500:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7500:27:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "7488:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7488:40:14"
+ },
+ "variables": [
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulTypedName",
+ "src": "7474:10:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7639:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x41",
+ "nodeType": "YulIdentifier",
+ "src": "7641:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7641:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7641:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulIdentifier",
+ "src": "7582:10:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7594:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "7579:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7579:34:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulIdentifier",
+ "src": "7618:10:14"
+ },
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "7630:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "7615:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7615:22:14"
+ }
+ ],
+ "functionName": {
+ "name": "or",
+ "nodeType": "YulIdentifier",
+ "src": "7576:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7576:62:14"
+ },
+ "nodeType": "YulIf",
+ "src": "7573:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7677:2:14",
+ "type": "",
+ "value": "64"
+ },
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulIdentifier",
+ "src": "7681:10:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "7670:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7670:22:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7670:22:14"
+ }
+ ]
+ },
+ "name": "finalize_allocation",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "7446:6:14",
+ "type": ""
+ },
+ {
+ "name": "size",
+ "nodeType": "YulTypedName",
+ "src": "7454:4:14",
+ "type": ""
+ }
+ ],
+ "src": "7417:281:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7745:88:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "7755:30:14",
+ "value": {
+ "arguments": [],
+ "functionName": {
+ "name": "allocate_unbounded",
+ "nodeType": "YulIdentifier",
+ "src": "7765:18:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7765:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "7755:6:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "7814:6:14"
+ },
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "7822:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "finalize_allocation",
+ "nodeType": "YulIdentifier",
+ "src": "7794:19:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7794:33:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7794:33:14"
+ }
+ ]
+ },
+ "name": "allocate_memory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "size",
+ "nodeType": "YulTypedName",
+ "src": "7729:4:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "7738:6:14",
+ "type": ""
+ }
+ ],
+ "src": "7704:129:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7905:241:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "8010:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x41",
+ "nodeType": "YulIdentifier",
+ "src": "8012:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8012:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8012:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "7982:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7990:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "7979:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7979:30:14"
+ },
+ "nodeType": "YulIf",
+ "src": "7976:56:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "8042:37:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "8072:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulIdentifier",
+ "src": "8050:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8050:29:14"
+ },
+ "variableNames": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "8042:4:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "8116:23:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "8128:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "8134:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "8124:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8124:15:14"
+ },
+ "variableNames": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "8116:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_allocation_size_t_bytes_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "7889:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "size",
+ "nodeType": "YulTypedName",
+ "src": "7900:4:14",
+ "type": ""
+ }
+ ],
+ "src": "7839:307:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "8203:103:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "8226:3:14"
+ },
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "8231:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "8236:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldatacopy",
+ "nodeType": "YulIdentifier",
+ "src": "8213:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8213:30:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8213:30:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "8284:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "8289:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "8280:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8280:16:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "8298:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "8273:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8273:27:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8273:27:14"
+ }
+ ]
+ },
+ "name": "copy_calldata_to_memory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "src",
+ "nodeType": "YulTypedName",
+ "src": "8185:3:14",
+ "type": ""
+ },
+ {
+ "name": "dst",
+ "nodeType": "YulTypedName",
+ "src": "8190:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "8195:6:14",
+ "type": ""
+ }
+ ],
+ "src": "8152:154:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "8395:327:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "8405:74:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "8471:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_allocation_size_t_bytes_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "8430:40:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8430:48:14"
+ }
+ ],
+ "functionName": {
+ "name": "allocate_memory",
+ "nodeType": "YulIdentifier",
+ "src": "8414:15:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8414:65:14"
+ },
+ "variableNames": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "8405:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "8495:5:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "8502:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "8488:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8488:21:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8488:21:14"
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "8518:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "8533:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "8540:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "8529:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8529:16:14"
+ },
+ "variables": [
+ {
+ "name": "dst",
+ "nodeType": "YulTypedName",
+ "src": "8522:3:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "8583:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
+ "nodeType": "YulIdentifier",
+ "src": "8585:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8585:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8585:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "8564:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "8569:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "8560:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8560:16:14"
+ },
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "8578:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "8557:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8557:25:14"
+ },
+ "nodeType": "YulIf",
+ "src": "8554:112:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "8699:3:14"
+ },
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "8704:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "8709:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "copy_calldata_to_memory",
+ "nodeType": "YulIdentifier",
+ "src": "8675:23:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8675:41:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8675:41:14"
+ }
+ ]
+ },
+ "name": "abi_decode_available_length_t_bytes_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "src",
+ "nodeType": "YulTypedName",
+ "src": "8368:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "8373:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "8381:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "array",
+ "nodeType": "YulTypedName",
+ "src": "8389:5:14",
+ "type": ""
+ }
+ ],
+ "src": "8312:410:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "8802:277:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "8851:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
+ "nodeType": "YulIdentifier",
+ "src": "8853:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8853:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8853:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "8830:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "8838:4:14",
+ "type": "",
+ "value": "0x1f"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "8826:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8826:17:14"
+ },
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "8845:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "8822:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8822:27:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "8815:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8815:35:14"
+ },
+ "nodeType": "YulIf",
+ "src": "8812:122:14"
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "8943:34:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "8970:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "8957:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8957:20:14"
+ },
+ "variables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "8947:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "8986:87:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "9046:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9054:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9042:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9042:17:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "9061:6:14"
+ },
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "9069:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_available_length_t_bytes_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "8995:46:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8995:78:14"
+ },
+ "variableNames": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "8986:5:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_t_bytes_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "8780:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "8788:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "array",
+ "nodeType": "YulTypedName",
+ "src": "8796:5:14",
+ "type": ""
+ }
+ ],
+ "src": "8741:338:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "9211:817:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "9258:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "9260:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9260:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "9260:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "9232:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "9241:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "9228:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9228:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9253:3:14",
+ "type": "",
+ "value": "128"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "9224:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9224:33:14"
+ },
+ "nodeType": "YulIf",
+ "src": "9221:120:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "9351:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "9366:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9380:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "9370:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "9395:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "9430:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "9441:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9426:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9426:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "9450:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "9405:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9405:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "9395:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "9478:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "9493:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9507:2:14",
+ "type": "",
+ "value": "32"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "9497:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "9523:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "9558:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "9569:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9554:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9554:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "9578:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "9533:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9533:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "9523:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "9606:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "9621:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9635:2:14",
+ "type": "",
+ "value": "64"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "9625:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "9651:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "9686:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "9697:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9682:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9682:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "9706:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "9661:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9661:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value2",
+ "nodeType": "YulIdentifier",
+ "src": "9651:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "9734:287:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "9749:46:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "9780:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9791:2:14",
+ "type": "",
+ "value": "96"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9776:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9776:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "9763:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9763:32:14"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "9753:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "9842:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
+ "nodeType": "YulIdentifier",
+ "src": "9844:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9844:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "9844:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "9814:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9822:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "9811:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9811:30:14"
+ },
+ "nodeType": "YulIf",
+ "src": "9808:117:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "9939:72:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "9983:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "9994:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9979:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9979:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "10003:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_bytes_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "9949:29:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9949:62:14"
+ },
+ "variableNames": [
+ {
+ "name": "value3",
+ "nodeType": "YulIdentifier",
+ "src": "9939:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "9157:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "9168:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "9180:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "9188:6:14",
+ "type": ""
+ },
+ {
+ "name": "value2",
+ "nodeType": "YulTypedName",
+ "src": "9196:6:14",
+ "type": ""
+ },
+ {
+ "name": "value3",
+ "nodeType": "YulTypedName",
+ "src": "9204:6:14",
+ "type": ""
+ }
+ ],
+ "src": "9085:943:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "10117:391:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "10163:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "10165:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10165:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "10165:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "10138:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "10147:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "10134:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10134:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10159:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "10130:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10130:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "10127:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "10256:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "10271:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10285:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "10275:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "10300:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "10335:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "10346:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "10331:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10331:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "10355:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "10310:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10310:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "10300:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "10383:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "10398:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10412:2:14",
+ "type": "",
+ "value": "32"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "10402:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "10428:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "10463:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "10474:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "10459:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10459:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "10483:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "10438:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10438:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "10428:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_addresst_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "10079:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "10090:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "10102:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "10110:6:14",
+ "type": ""
+ }
+ ],
+ "src": "10034:474:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "10542:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10559:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10562:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "10552:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10552:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "10552:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10656:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10659:4:14",
+ "type": "",
+ "value": "0x22"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "10649:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10649:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "10649:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10680:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10683:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "10673:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10673:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "10673:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x22",
+ "nodeType": "YulFunctionDefinition",
+ "src": "10514:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "10751:269:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "10761:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "data",
+ "nodeType": "YulIdentifier",
+ "src": "10775:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10781:1:14",
+ "type": "",
+ "value": "2"
+ }
+ ],
+ "functionName": {
+ "name": "div",
+ "nodeType": "YulIdentifier",
+ "src": "10771:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10771:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "10761:6:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "10792:38:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "data",
+ "nodeType": "YulIdentifier",
+ "src": "10822:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10828:1:14",
+ "type": "",
+ "value": "1"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "10818:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10818:12:14"
+ },
+ "variables": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulTypedName",
+ "src": "10796:18:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "10869:51:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "10883:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "10897:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10905:4:14",
+ "type": "",
+ "value": "0x7f"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "10893:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10893:17:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "10883:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulIdentifier",
+ "src": "10849:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "10842:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10842:26:14"
+ },
+ "nodeType": "YulIf",
+ "src": "10839:81:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "10972:42:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x22",
+ "nodeType": "YulIdentifier",
+ "src": "10986:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10986:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "10986:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulIdentifier",
+ "src": "10936:18:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "10959:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10967:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "10956:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10956:14:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "10933:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10933:38:14"
+ },
+ "nodeType": "YulIf",
+ "src": "10930:84:14"
+ }
+ ]
+ },
+ "name": "extract_byte_array_length",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "data",
+ "nodeType": "YulTypedName",
+ "src": "10735:4:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "10744:6:14",
+ "type": ""
+ }
+ ],
+ "src": "10700:320:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "11132:125:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "11154:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11162:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "11150:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11150:14:14"
+ },
+ {
+ "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "11166:34:14",
+ "type": "",
+ "value": "ERC721: approved query for nonex"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "11143:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11143:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "11143:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "11222:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11230:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "11218:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11218:15:14"
+ },
+ {
+ "hexValue": "697374656e7420746f6b656e",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "11235:14:14",
+ "type": "",
+ "value": "istent token"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "11211:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11211:39:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "11211:39:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "11124:6:14",
+ "type": ""
+ }
+ ],
+ "src": "11026:231:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "11409:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "11419:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "11485:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11490:2:14",
+ "type": "",
+ "value": "44"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "11426:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11426:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "11419:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "11591:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d",
+ "nodeType": "YulIdentifier",
+ "src": "11502:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11502:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "11502:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "11604:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "11615:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11620:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "11611:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11611:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "11604:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "11397:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "11405:3:14",
+ "type": ""
+ }
+ ],
+ "src": "11263:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "11806:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "11816:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "11828:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11839:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "11824:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11824:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "11816:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "11863:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11874:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "11859:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11859:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "11882:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "11888:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "11878:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11878:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "11852:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11852:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "11852:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "11908:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "12042:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "11916:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11916:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "11908:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "11786:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "11801:4:14",
+ "type": ""
+ }
+ ],
+ "src": "11635:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "12166:114:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "12188:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12196:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12184:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12184:14:14"
+ },
+ {
+ "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "12200:34:14",
+ "type": "",
+ "value": "ERC721: approval to current owne"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "12177:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12177:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "12177:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "12256:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12264:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12252:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12252:15:14"
+ },
+ {
+ "hexValue": "72",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "12269:3:14",
+ "type": "",
+ "value": "r"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "12245:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12245:28:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "12245:28:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "12158:6:14",
+ "type": ""
+ }
+ ],
+ "src": "12060:220:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "12432:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "12442:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12508:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12513:2:14",
+ "type": "",
+ "value": "33"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "12449:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12449:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12442:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12614:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942",
+ "nodeType": "YulIdentifier",
+ "src": "12525:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12525:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "12525:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "12627:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12638:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12643:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12634:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12634:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "12627:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "12420:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "12428:3:14",
+ "type": ""
+ }
+ ],
+ "src": "12286:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "12829:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "12839:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "12851:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12862:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12847:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12847:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "12839:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "12886:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12897:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12882:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12882:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "12905:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "12911:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "12901:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12901:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "12875:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12875:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "12875:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "12931:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "13065:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "12939:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12939:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "12931:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "12809:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "12824:4:14",
+ "type": ""
+ }
+ ],
+ "src": "12658:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "13189:137:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "13211:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13219:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13207:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13207:14:14"
+ },
+ {
+ "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f77",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "13223:34:14",
+ "type": "",
+ "value": "ERC721: approve caller is not ow"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "13200:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13200:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "13200:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "13279:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13287:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13275:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13275:15:14"
+ },
+ {
+ "hexValue": "6e6572206e6f7220617070726f76656420666f7220616c6c",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "13292:26:14",
+ "type": "",
+ "value": "ner nor approved for all"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "13268:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13268:51:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "13268:51:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "13181:6:14",
+ "type": ""
+ }
+ ],
+ "src": "13083:243:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "13478:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "13488:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "13554:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13559:2:14",
+ "type": "",
+ "value": "56"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "13495:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13495:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "13488:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "13660:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d",
+ "nodeType": "YulIdentifier",
+ "src": "13571:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13571:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "13571:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "13673:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "13684:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13689:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13680:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13680:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "13673:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "13466:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "13474:3:14",
+ "type": ""
+ }
+ ],
+ "src": "13332:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "13875:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "13885:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "13897:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13908:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13893:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13893:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "13885:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "13932:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13943:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13928:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13928:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "13951:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "13957:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "13947:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13947:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "13921:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13921:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "13921:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "13977:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "14111:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "13985:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13985:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "13977:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "13855:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "13870:4:14",
+ "type": ""
+ }
+ ],
+ "src": "13704:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "14235:130:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "14257:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "14265:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "14253:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14253:14:14"
+ },
+ {
+ "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "14269:34:14",
+ "type": "",
+ "value": "ERC721: transfer caller is not o"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "14246:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14246:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "14246:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "14325:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "14333:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "14321:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14321:15:14"
+ },
+ {
+ "hexValue": "776e6572206e6f7220617070726f766564",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "14338:19:14",
+ "type": "",
+ "value": "wner nor approved"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "14314:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14314:44:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "14314:44:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "14227:6:14",
+ "type": ""
+ }
+ ],
+ "src": "14129:236:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "14517:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "14527:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "14593:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "14598:2:14",
+ "type": "",
+ "value": "49"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "14534:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14534:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "14527:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "14699:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2",
+ "nodeType": "YulIdentifier",
+ "src": "14610:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14610:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "14610:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "14712:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "14723:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "14728:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "14719:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14719:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "14712:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "14505:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "14513:3:14",
+ "type": ""
+ }
+ ],
+ "src": "14371:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "14914:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "14924:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "14936:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "14947:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "14932:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14932:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "14924:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "14971:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "14982:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "14967:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14967:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "14990:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "14996:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "14986:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14986:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "14960:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14960:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "14960:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "15016:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "15150:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "15024:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15024:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "15016:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "14894:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "14909:4:14",
+ "type": ""
+ }
+ ],
+ "src": "14743:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "15274:122:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "15296:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "15304:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "15292:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15292:14:14"
+ },
+ {
+ "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "15308:34:14",
+ "type": "",
+ "value": "ERC721: owner query for nonexist"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "15285:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15285:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "15285:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "15364:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "15372:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "15360:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15360:15:14"
+ },
+ {
+ "hexValue": "656e7420746f6b656e",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "15377:11:14",
+ "type": "",
+ "value": "ent token"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "15353:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15353:36:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "15353:36:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "15266:6:14",
+ "type": ""
+ }
+ ],
+ "src": "15168:228:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "15548:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "15558:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "15624:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "15629:2:14",
+ "type": "",
+ "value": "41"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "15565:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15565:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "15558:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "15730:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397",
+ "nodeType": "YulIdentifier",
+ "src": "15641:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15641:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "15641:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "15743:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "15754:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "15759:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "15750:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15750:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "15743:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "15536:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "15544:3:14",
+ "type": ""
+ }
+ ],
+ "src": "15402:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "15945:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "15955:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "15967:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "15978:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "15963:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15963:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "15955:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "16002:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "16013:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "15998:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15998:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "16021:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "16027:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "16017:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16017:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "15991:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15991:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "15991:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "16047:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "16181:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "16055:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16055:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "16047:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "15925:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "15940:4:14",
+ "type": ""
+ }
+ ],
+ "src": "15774:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "16305:123:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "16327:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "16335:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "16323:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16323:14:14"
+ },
+ {
+ "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "16339:34:14",
+ "type": "",
+ "value": "ERC721: balance query for the ze"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "16316:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16316:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "16316:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "16395:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "16403:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "16391:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16391:15:14"
+ },
+ {
+ "hexValue": "726f2061646472657373",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "16408:12:14",
+ "type": "",
+ "value": "ro address"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "16384:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16384:37:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "16384:37:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "16297:6:14",
+ "type": ""
+ }
+ ],
+ "src": "16199:229:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "16580:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "16590:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "16656:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "16661:2:14",
+ "type": "",
+ "value": "42"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "16597:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16597:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "16590:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "16762:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba",
+ "nodeType": "YulIdentifier",
+ "src": "16673:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16673:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "16673:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "16775:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "16786:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "16791:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "16782:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16782:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "16775:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "16568:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "16576:3:14",
+ "type": ""
+ }
+ ],
+ "src": "16434:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "16977:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "16987:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "16999:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17010:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "16995:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16995:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "16987:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "17034:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17045:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "17030:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17030:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "17053:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "17059:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "17049:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17049:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "17023:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17023:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "17023:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "17079:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "17213:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "17087:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17087:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "17079:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "16957:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "16972:4:14",
+ "type": ""
+ }
+ ],
+ "src": "16806:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "17337:69:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "17359:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17367:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "17355:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17355:14:14"
+ },
+ {
+ "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "17371:27:14",
+ "type": "",
+ "value": "ERC721: approve to caller"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "17348:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17348:51:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "17348:51:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "17329:6:14",
+ "type": ""
+ }
+ ],
+ "src": "17231:175:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "17558:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "17568:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "17634:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17639:2:14",
+ "type": "",
+ "value": "25"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "17575:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17575:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "17568:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "17740:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05",
+ "nodeType": "YulIdentifier",
+ "src": "17651:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17651:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "17651:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "17753:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "17764:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17769:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "17760:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17760:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "17753:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "17546:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "17554:3:14",
+ "type": ""
+ }
+ ],
+ "src": "17412:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "17955:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "17965:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "17977:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17988:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "17973:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17973:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "17965:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "18012:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "18023:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "18008:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18008:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "18031:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "18037:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "18027:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18027:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "18001:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18001:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "18001:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "18057:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "18191:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "18065:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18065:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "18057:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "17935:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "17950:4:14",
+ "type": ""
+ }
+ ],
+ "src": "17784:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "18315:128:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "18337:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "18345:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "18333:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18333:14:14"
+ },
+ {
+ "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "18349:34:14",
+ "type": "",
+ "value": "ERC721Metadata: URI query for no"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "18326:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18326:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "18326:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "18405:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "18413:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "18401:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18401:15:14"
+ },
+ {
+ "hexValue": "6e6578697374656e7420746f6b656e",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "18418:17:14",
+ "type": "",
+ "value": "nexistent token"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "18394:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18394:42:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "18394:42:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "18307:6:14",
+ "type": ""
+ }
+ ],
+ "src": "18209:234:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "18595:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "18605:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "18671:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "18676:2:14",
+ "type": "",
+ "value": "47"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "18612:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18612:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "18605:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "18777:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb",
+ "nodeType": "YulIdentifier",
+ "src": "18688:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18688:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "18688:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "18790:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "18801:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "18806:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "18797:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18797:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "18790:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "18583:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "18591:3:14",
+ "type": ""
+ }
+ ],
+ "src": "18449:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "18992:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "19002:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "19014:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "19025:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "19010:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19010:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "19002:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "19049:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "19060:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "19045:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19045:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "19068:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "19074:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "19064:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19064:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "19038:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19038:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "19038:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "19094:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "19228:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "19102:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19102:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "19094:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "18972:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "18987:4:14",
+ "type": ""
+ }
+ ],
+ "src": "18821:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "19360:34:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "19370:18:14",
+ "value": {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "19385:3:14"
+ },
+ "variableNames": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulIdentifier",
+ "src": "19370:11:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "19332:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "19337:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulTypedName",
+ "src": "19348:11:14",
+ "type": ""
+ }
+ ],
+ "src": "19246:148:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "19510:267:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "19520:53:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "19567:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_length_t_string_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "19534:32:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19534:39:14"
+ },
+ "variables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "19524:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "19582:96:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "19666:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "19671:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "19589:76:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19589:89:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "19582:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "19713:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "19720:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "19709:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19709:16:14"
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "19727:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "19732:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "copy_memory_to_memory",
+ "nodeType": "YulIdentifier",
+ "src": "19687:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19687:52:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "19687:52:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "19748:23:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "19759:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "19764:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "19755:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19755:16:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "19748:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "19491:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "19498:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "19506:3:14",
+ "type": ""
+ }
+ ],
+ "src": "19400:377:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "19967:251:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "19978:102:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "20067:6:14"
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "20076:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "19985:81:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19985:95:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "19978:3:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "20090:102:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "20179:6:14"
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "20188:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "20097:81:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20097:95:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "20090:3:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "20202:10:14",
+ "value": {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "20209:3:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "20202:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "19938:3:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "19944:6:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "19952:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "19963:3:14",
+ "type": ""
+ }
+ ],
+ "src": "19783:435:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "20330:125:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "20352:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "20360:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "20348:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20348:14:14"
+ },
+ {
+ "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "20364:34:14",
+ "type": "",
+ "value": "ERC721: operator query for nonex"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "20341:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20341:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "20341:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "20420:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "20428:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "20416:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20416:15:14"
+ },
+ {
+ "hexValue": "697374656e7420746f6b656e",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "20433:14:14",
+ "type": "",
+ "value": "istent token"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "20409:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20409:39:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "20409:39:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "20322:6:14",
+ "type": ""
+ }
+ ],
+ "src": "20224:231:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "20607:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "20617:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "20683:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "20688:2:14",
+ "type": "",
+ "value": "44"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "20624:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20624:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "20617:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "20789:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c",
+ "nodeType": "YulIdentifier",
+ "src": "20700:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20700:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "20700:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "20802:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "20813:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "20818:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "20809:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20809:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "20802:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "20595:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "20603:3:14",
+ "type": ""
+ }
+ ],
+ "src": "20461:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "21004:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "21014:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "21026:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "21037:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "21022:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21022:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "21014:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "21061:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "21072:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "21057:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21057:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "21080:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "21086:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "21076:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21076:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "21050:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21050:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "21050:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "21106:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "21240:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "21114:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21114:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "21106:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "20984:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "20999:4:14",
+ "type": ""
+ }
+ ],
+ "src": "20833:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "21364:122:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "21386:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "21394:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "21382:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21382:14:14"
+ },
+ {
+ "hexValue": "4552433732313a207472616e73666572206f6620746f6b656e20746861742069",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "21398:34:14",
+ "type": "",
+ "value": "ERC721: transfer of token that i"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "21375:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21375:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "21375:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "21454:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "21462:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "21450:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21450:15:14"
+ },
+ {
+ "hexValue": "73206e6f74206f776e",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "21467:11:14",
+ "type": "",
+ "value": "s not own"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "21443:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21443:36:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "21443:36:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "21356:6:14",
+ "type": ""
+ }
+ ],
+ "src": "21258:228:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "21638:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "21648:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "21714:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "21719:2:14",
+ "type": "",
+ "value": "41"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "21655:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21655:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "21648:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "21820:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950",
+ "nodeType": "YulIdentifier",
+ "src": "21731:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21731:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "21731:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "21833:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "21844:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "21849:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "21840:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21840:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "21833:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "21626:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "21634:3:14",
+ "type": ""
+ }
+ ],
+ "src": "21492:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "22035:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "22045:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "22057:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "22068:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "22053:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22053:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "22045:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "22092:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "22103:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "22088:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22088:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "22111:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "22117:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "22107:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22107:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "22081:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22081:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "22081:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "22137:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "22271:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "22145:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22145:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "22137:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "22015:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "22030:4:14",
+ "type": ""
+ }
+ ],
+ "src": "21864:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "22395:117:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "22417:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "22425:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "22413:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22413:14:14"
+ },
+ {
+ "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "22429:34:14",
+ "type": "",
+ "value": "ERC721: transfer to the zero add"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "22406:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22406:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "22406:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "22485:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "22493:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "22481:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22481:15:14"
+ },
+ {
+ "hexValue": "72657373",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "22498:6:14",
+ "type": "",
+ "value": "ress"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "22474:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22474:31:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "22474:31:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "22387:6:14",
+ "type": ""
+ }
+ ],
+ "src": "22289:223:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "22664:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "22674:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "22740:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "22745:2:14",
+ "type": "",
+ "value": "36"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "22681:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22681:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "22674:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "22846:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4",
+ "nodeType": "YulIdentifier",
+ "src": "22757:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22757:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "22757:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "22859:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "22870:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "22875:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "22866:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22866:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "22859:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "22652:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "22660:3:14",
+ "type": ""
+ }
+ ],
+ "src": "22518:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "23061:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "23071:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "23083:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "23094:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "23079:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23079:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "23071:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "23118:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "23129:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "23114:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23114:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "23137:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "23143:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "23133:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23133:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "23107:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23107:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "23107:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "23163:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "23297:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "23171:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23171:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "23163:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "23041:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "23056:4:14",
+ "type": ""
+ }
+ ],
+ "src": "22890:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "23343:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "23360:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "23363:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "23353:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23353:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "23353:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "23457:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "23460:4:14",
+ "type": "",
+ "value": "0x11"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "23450:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23450:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "23450:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "23481:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "23484:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "23474:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23474:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "23474:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x11",
+ "nodeType": "YulFunctionDefinition",
+ "src": "23315:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "23546:146:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "23556:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "23579:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "23561:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23561:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "23556:1:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "23590:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "23613:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "23595:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23595:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "23590:1:14"
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "23637:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x11",
+ "nodeType": "YulIdentifier",
+ "src": "23639:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23639:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "23639:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "23631:1:14"
+ },
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "23634:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "23628:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23628:8:14"
+ },
+ "nodeType": "YulIf",
+ "src": "23625:34:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "23669:17:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "23681:1:14"
+ },
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "23684:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "23677:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23677:9:14"
+ },
+ "variableNames": [
+ {
+ "name": "diff",
+ "nodeType": "YulIdentifier",
+ "src": "23669:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "checked_sub_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "x",
+ "nodeType": "YulTypedName",
+ "src": "23532:1:14",
+ "type": ""
+ },
+ {
+ "name": "y",
+ "nodeType": "YulTypedName",
+ "src": "23535:1:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "diff",
+ "nodeType": "YulTypedName",
+ "src": "23541:4:14",
+ "type": ""
+ }
+ ],
+ "src": "23501:191:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "23742:261:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "23752:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "23775:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "23757:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23757:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "23752:1:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "23786:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "23809:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "23791:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23791:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "23786:1:14"
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "23949:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x11",
+ "nodeType": "YulIdentifier",
+ "src": "23951:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23951:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "23951:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "23870:1:14"
+ },
+ {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "23877:66:14",
+ "type": "",
+ "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ },
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "23945:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "23873:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23873:74:14"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "23867:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23867:81:14"
+ },
+ "nodeType": "YulIf",
+ "src": "23864:107:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "23981:16:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "23992:1:14"
+ },
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "23995:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "23988:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23988:9:14"
+ },
+ "variableNames": [
+ {
+ "name": "sum",
+ "nodeType": "YulIdentifier",
+ "src": "23981:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "checked_add_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "x",
+ "nodeType": "YulTypedName",
+ "src": "23729:1:14",
+ "type": ""
+ },
+ {
+ "name": "y",
+ "nodeType": "YulTypedName",
+ "src": "23732:1:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "sum",
+ "nodeType": "YulTypedName",
+ "src": "23738:3:14",
+ "type": ""
+ }
+ ],
+ "src": "23698:305:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "24115:131:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "24137:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "24145:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "24133:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24133:14:14"
+ },
+ {
+ "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "24149:34:14",
+ "type": "",
+ "value": "ERC721: transfer to non ERC721Re"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "24126:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24126:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "24126:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "24205:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "24213:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "24201:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24201:15:14"
+ },
+ {
+ "hexValue": "63656976657220696d706c656d656e746572",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "24218:20:14",
+ "type": "",
+ "value": "ceiver implementer"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "24194:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24194:45:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "24194:45:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "24107:6:14",
+ "type": ""
+ }
+ ],
+ "src": "24009:237:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "24398:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "24408:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "24474:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "24479:2:14",
+ "type": "",
+ "value": "50"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "24415:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24415:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "24408:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "24580:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
+ "nodeType": "YulIdentifier",
+ "src": "24491:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24491:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "24491:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "24593:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "24604:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "24609:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "24600:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24600:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "24593:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "24386:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "24394:3:14",
+ "type": ""
+ }
+ ],
+ "src": "24252:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "24795:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "24805:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "24817:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "24828:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "24813:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24813:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "24805:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "24852:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "24863:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "24848:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24848:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "24871:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "24877:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "24867:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24867:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "24841:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24841:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "24841:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "24897:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "25031:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "24905:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24905:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "24897:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "24775:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "24790:4:14",
+ "type": ""
+ }
+ ],
+ "src": "24624:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "25092:190:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "25102:33:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "25129:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "25111:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25111:24:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "25102:5:14"
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "25225:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x11",
+ "nodeType": "YulIdentifier",
+ "src": "25227:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25227:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "25227:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "25150:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25157:66:14",
+ "type": "",
+ "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "25147:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25147:77:14"
+ },
+ "nodeType": "YulIf",
+ "src": "25144:103:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "25256:20:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "25267:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25274:1:14",
+ "type": "",
+ "value": "1"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "25263:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25263:13:14"
+ },
+ "variableNames": [
+ {
+ "name": "ret",
+ "nodeType": "YulIdentifier",
+ "src": "25256:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "increment_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "25078:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "ret",
+ "nodeType": "YulTypedName",
+ "src": "25088:3:14",
+ "type": ""
+ }
+ ],
+ "src": "25049:233:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "25316:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25333:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25336:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "25326:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25326:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "25326:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25430:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25433:4:14",
+ "type": "",
+ "value": "0x12"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "25423:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25423:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "25423:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25454:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25457:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "25447:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25447:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "25447:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x12",
+ "nodeType": "YulFunctionDefinition",
+ "src": "25288:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "25516:143:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "25526:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "25549:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "25531:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25531:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "25526:1:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "25560:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "25583:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "25565:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25565:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "25560:1:14"
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "25607:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x12",
+ "nodeType": "YulIdentifier",
+ "src": "25609:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25609:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "25609:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "25604:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "25597:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25597:9:14"
+ },
+ "nodeType": "YulIf",
+ "src": "25594:35:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "25639:14:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "25648:1:14"
+ },
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "25651:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "div",
+ "nodeType": "YulIdentifier",
+ "src": "25644:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25644:9:14"
+ },
+ "variableNames": [
+ {
+ "name": "r",
+ "nodeType": "YulIdentifier",
+ "src": "25639:1:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "checked_div_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "x",
+ "nodeType": "YulTypedName",
+ "src": "25505:1:14",
+ "type": ""
+ },
+ {
+ "name": "y",
+ "nodeType": "YulTypedName",
+ "src": "25508:1:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "r",
+ "nodeType": "YulTypedName",
+ "src": "25514:1:14",
+ "type": ""
+ }
+ ],
+ "src": "25474:185:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "25699:142:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "25709:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "25732:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "25714:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25714:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "25709:1:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "25743:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "25766:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "25748:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25748:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "25743:1:14"
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "25790:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x12",
+ "nodeType": "YulIdentifier",
+ "src": "25792:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25792:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "25792:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "25787:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "25780:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25780:9:14"
+ },
+ "nodeType": "YulIf",
+ "src": "25777:35:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "25821:14:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "25830:1:14"
+ },
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "25833:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "mod",
+ "nodeType": "YulIdentifier",
+ "src": "25826:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25826:9:14"
+ },
+ "variableNames": [
+ {
+ "name": "r",
+ "nodeType": "YulIdentifier",
+ "src": "25821:1:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "mod_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "x",
+ "nodeType": "YulTypedName",
+ "src": "25688:1:14",
+ "type": ""
+ },
+ {
+ "name": "y",
+ "nodeType": "YulTypedName",
+ "src": "25691:1:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "r",
+ "nodeType": "YulTypedName",
+ "src": "25697:1:14",
+ "type": ""
+ }
+ ],
+ "src": "25665:176:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "25875:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25892:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25895:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "25885:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25885:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "25885:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25989:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25992:4:14",
+ "type": "",
+ "value": "0x32"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "25982:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25982:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "25982:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "26013:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "26016:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "26006:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26006:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "26006:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x32",
+ "nodeType": "YulFunctionDefinition",
+ "src": "25847:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "26091:40:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "26102:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "26118:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "26112:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26112:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "26102:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_length_t_bytes_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "26074:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "26084:6:14",
+ "type": ""
+ }
+ ],
+ "src": "26033:98:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "26232:73:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "26249:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "26254:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "26242:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26242:19:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "26242:19:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "26270:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "26289:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "26294:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "26285:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26285:14:14"
+ },
+ "variableNames": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulIdentifier",
+ "src": "26270:11:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "26204:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "26209:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulTypedName",
+ "src": "26220:11:14",
+ "type": ""
+ }
+ ],
+ "src": "26137:168:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "26401:270:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "26411:52:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "26457:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_length_t_bytes_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "26425:31:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26425:38:14"
+ },
+ "variables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "26415:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "26472:77:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "26537:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "26542:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "26479:57:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26479:70:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "26472:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "26584:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "26591:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "26580:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26580:16:14"
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "26598:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "26603:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "copy_memory_to_memory",
+ "nodeType": "YulIdentifier",
+ "src": "26558:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26558:52:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "26558:52:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "26619:46:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "26630:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "26657:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulIdentifier",
+ "src": "26635:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26635:29:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "26626:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26626:39:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "26619:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "26382:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "26389:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "26397:3:14",
+ "type": ""
+ }
+ ],
+ "src": "26311:360:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "26877:440:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "26887:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "26899:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "26910:3:14",
+ "type": "",
+ "value": "128"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "26895:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26895:19:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "26887:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "26968:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "26981:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "26992:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "26977:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26977:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_address_to_t_address_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "26924:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26924:71:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "26924:71:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "27049:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "27062:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "27073:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "27058:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27058:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_address_to_t_address_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "27005:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27005:72:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "27005:72:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value2",
+ "nodeType": "YulIdentifier",
+ "src": "27131:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "27144:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "27155:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "27140:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27140:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_uint256_to_t_uint256_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "27087:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27087:72:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "27087:72:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "27180:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "27191:2:14",
+ "type": "",
+ "value": "96"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "27176:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27176:18:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "27200:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "27206:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "27196:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27196:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "27169:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27169:48:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "27169:48:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "27226:84:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value3",
+ "nodeType": "YulIdentifier",
+ "src": "27296:6:14"
+ },
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "27305:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "27234:61:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27234:76:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "27226:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "26825:9:14",
+ "type": ""
+ },
+ {
+ "name": "value3",
+ "nodeType": "YulTypedName",
+ "src": "26837:6:14",
+ "type": ""
+ },
+ {
+ "name": "value2",
+ "nodeType": "YulTypedName",
+ "src": "26845:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "26853:6:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "26861:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "26872:4:14",
+ "type": ""
+ }
+ ],
+ "src": "26677:640:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "27385:79:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "27395:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "27410:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "27404:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27404:13:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "27395:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "27452:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "validator_revert_t_bytes4",
+ "nodeType": "YulIdentifier",
+ "src": "27426:25:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27426:32:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "27426:32:14"
+ }
+ ]
+ },
+ "name": "abi_decode_t_bytes4_fromMemory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "27363:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "27371:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "27379:5:14",
+ "type": ""
+ }
+ ],
+ "src": "27323:141:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "27546:273:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "27592:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "27594:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27594:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "27594:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "27567:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "27576:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "27563:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27563:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "27588:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "27559:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27559:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "27556:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "27685:127:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "27700:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "27714:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "27704:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "27729:73:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "27774:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "27785:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "27770:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27770:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "27794:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_bytes4_fromMemory",
+ "nodeType": "YulIdentifier",
+ "src": "27739:30:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27739:63:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "27729:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_bytes4_fromMemory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "27516:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "27527:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "27539:6:14",
+ "type": ""
+ }
+ ],
+ "src": "27470:349:14"
+ }
+ ]
+ },
+ "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approved query for nonex\")\n\n mstore(add(memPtr, 32), \"istent token\")\n\n }\n\n function abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approval to current owne\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not ow\")\n\n mstore(add(memPtr, 32), \"ner nor approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 56)\n store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer caller is not o\")\n\n mstore(add(memPtr, 32), \"wner nor approved\")\n\n }\n\n function abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 49)\n store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: owner query for nonexist\")\n\n mstore(add(memPtr, 32), \"ent token\")\n\n }\n\n function abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: balance query for the ze\")\n\n mstore(add(memPtr, 32), \"ro address\")\n\n }\n\n function abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve to caller\")\n\n }\n\n function abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Metadata: URI query for no\")\n\n mstore(add(memPtr, 32), \"nexistent token\")\n\n }\n\n function abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: operator query for nonex\")\n\n mstore(add(memPtr, 32), \"istent token\")\n\n }\n\n function abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer of token that i\")\n\n mstore(add(memPtr, 32), \"s not own\")\n\n }\n\n function abi_encode_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to non ERC721Re\")\n\n mstore(add(memPtr, 32), \"ceiver implementer\")\n\n }\n\n function abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function mod_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n }\n\n function abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n",
+ "id": 14,
+ "language": "Yul",
+ "name": "#utility.yul"
+ }
+ ],
+ "sourceMap": "554:12701:3:-:0;;;1316:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1390:5;1382;:13;;;;;;;;;;;;:::i;:::-;;1415:7;1405;:17;;;;;;;;;;;;:::i;:::-;;1316:113;;554:12701;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:14:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:307::-;1678:1;1688:113;1702:6;1699:1;1696:13;1688:113;;;1787:1;1782:3;1778:11;1772:18;1768:1;1763:3;1759:11;1752:39;1724:2;1721:1;1717:10;1712:15;;1688:113;;;1819:6;1816:1;1813:13;1810:101;;;1899:1;1890:6;1885:3;1881:16;1874:27;1810:101;1659:258;1610:307;;;:::o;1923:421::-;2012:5;2037:66;2053:49;2095:6;2053:49;:::i;:::-;2037:66;:::i;:::-;2028:75;;2126:6;2119:5;2112:21;2164:4;2157:5;2153:16;2202:3;2193:6;2188:3;2184:16;2181:25;2178:112;;;2209:79;;:::i;:::-;2178:112;2299:39;2331:6;2326:3;2321;2299:39;:::i;:::-;2018:326;1923:421;;;;;:::o;2364:355::-;2431:5;2480:3;2473:4;2465:6;2461:17;2457:27;2447:122;;2488:79;;:::i;:::-;2447:122;2598:6;2592:13;2623:90;2709:3;2701:6;2694:4;2686:6;2682:17;2623:90;:::i;:::-;2614:99;;2437:282;2364:355;;;;:::o;2725:853::-;2824:6;2832;2881:2;2869:9;2860:7;2856:23;2852:32;2849:119;;;2887:79;;:::i;:::-;2849:119;3028:1;3017:9;3013:17;3007:24;3058:18;3050:6;3047:30;3044:117;;;3080:79;;:::i;:::-;3044:117;3185:74;3251:7;3242:6;3231:9;3227:22;3185:74;:::i;:::-;3175:84;;2978:291;3329:2;3318:9;3314:18;3308:25;3360:18;3352:6;3349:30;3346:117;;;3382:79;;:::i;:::-;3346:117;3487:74;3553:7;3544:6;3533:9;3529:22;3487:74;:::i;:::-;3477:84;;3279:292;2725:853;;;;;:::o;3584:180::-;3632:77;3629:1;3622:88;3729:4;3726:1;3719:15;3753:4;3750:1;3743:15;3770:320;3814:6;3851:1;3845:4;3841:12;3831:22;;3898:1;3892:4;3888:12;3919:18;3909:81;;3975:4;3967:6;3963:17;3953:27;;3909:81;4037:2;4029:6;4026:14;4006:18;4003:38;4000:84;;;4056:18;;:::i;:::-;4000:84;3821:269;3770:320;;;:::o;554:12701:3:-;;;;;;;",
+ "deployedSourceMap": "554:12701:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1496:300;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2414:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3925:217;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3463:401;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4789:330;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5185:179;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2117:235;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1855:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2576:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4209:290;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5430:320;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2744:329;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4565:162;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1496:300;1598:4;1648:25;1633:40;;;:11;:40;;;;:104;;;;1704:33;1689:48;;;:11;:48;;;;1633:104;:156;;;;1753:36;1777:11;1753:23;:36::i;:::-;1633:156;1614:175;;1496:300;;;:::o;2414:98::-;2468:13;2500:5;2493:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2414:98;:::o;3925:217::-;4001:7;4028:16;4036:7;4028;:16::i;:::-;4020:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;4111:15;:24;4127:7;4111:24;;;;;;;;;;;;;;;;;;;;;4104:31;;3925:217;;;:::o;3463:401::-;3543:13;3559:23;3574:7;3559:14;:23::i;:::-;3543:39;;3606:5;3600:11;;:2;:11;;;;3592:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3697:5;3681:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3706:37;3723:5;3730:12;:10;:12::i;:::-;3706:16;:37::i;:::-;3681:62;3660:165;;;;;;;;;;;;:::i;:::-;;;;;;;;;3836:21;3845:2;3849:7;3836:8;:21::i;:::-;3533:331;3463:401;;:::o;4789:330::-;4978:41;4997:12;:10;:12::i;:::-;5011:7;4978:18;:41::i;:::-;4970:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;5084:28;5094:4;5100:2;5104:7;5084:9;:28::i;:::-;4789:330;;;:::o;5185:179::-;5318:39;5335:4;5341:2;5345:7;5318:39;;;;;;;;;;;;:16;:39::i;:::-;5185:179;;;:::o;2117:235::-;2189:7;2208:13;2224:7;:16;2232:7;2224:16;;;;;;;;;;;;;;;;;;;;;2208:32;;2275:1;2258:19;;:5;:19;;;;2250:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2340:5;2333:12;;;2117:235;;;:::o;1855:205::-;1927:7;1971:1;1954:19;;:5;:19;;;;1946:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;2037:9;:16;2047:5;2037:16;;;;;;;;;;;;;;;;2030:23;;1855:205;;;:::o;2576:102::-;2632:13;2664:7;2657:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2576:102;:::o;4209:290::-;4323:12;:10;:12::i;:::-;4311:24;;:8;:24;;;;4303:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;4421:8;4376:18;:32;4395:12;:10;:12::i;:::-;4376:32;;;;;;;;;;;;;;;:42;4409:8;4376:42;;;;;;;;;;;;;;;;:53;;;;;;;;;;;;;;;;;;4473:8;4444:48;;4459:12;:10;:12::i;:::-;4444:48;;;4483:8;4444:48;;;;;;:::i;:::-;;;;;;;;4209:290;;:::o;5430:320::-;5599:41;5618:12;:10;:12::i;:::-;5632:7;5599:18;:41::i;:::-;5591:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;5704:39;5718:4;5724:2;5728:7;5737:5;5704:13;:39::i;:::-;5430:320;;;;:::o;2744:329::-;2817:13;2850:16;2858:7;2850;:16::i;:::-;2842:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;2929:21;2953:10;:8;:10::i;:::-;2929:34;;3004:1;2986:7;2980:21;:25;:86;;;;;;;;;;;;;;;;;3032:7;3041:18;:7;:16;:18::i;:::-;3015:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2980:86;2973:93;;;2744:329;;;:::o;4565:162::-;4662:4;4685:18;:25;4704:5;4685:25;;;;;;;;;;;;;;;:35;4711:8;4685:35;;;;;;;;;;;;;;;;;;;;;;;;;4678:42;;4565:162;;;;:::o;763:155:11:-;848:4;886:25;871:40;;;:11;:40;;;;864:47;;763:155;;;:::o;7222:125:3:-;7287:4;7338:1;7310:30;;:7;:16;7318:7;7310:16;;;;;;;;;;;;;;;;;;;;;:30;;;;7303:37;;7222:125;;;:::o;587:96:8:-;640:7;666:10;659:17;;587:96;:::o;11073:171:3:-;11174:2;11147:15;:24;11163:7;11147:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;11229:7;11225:2;11191:46;;11200:23;11215:7;11200:14;:23::i;:::-;11191:46;;;;;;;;;;;;11073:171;;:::o;7505:344::-;7598:4;7622:16;7630:7;7622;:16::i;:::-;7614:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7697:13;7713:23;7728:7;7713:14;:23::i;:::-;7697:39;;7765:5;7754:16;;:7;:16;;;:51;;;;7798:7;7774:31;;:20;7786:7;7774:11;:20::i;:::-;:31;;;7754:51;:87;;;;7809:32;7826:5;7833:7;7809:16;:32::i;:::-;7754:87;7746:96;;;7505:344;;;;:::o;10402:560::-;10556:4;10529:31;;:23;10544:7;10529:14;:23::i;:::-;:31;;;10521:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;10638:1;10624:16;;:2;:16;;;;10616:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;10692:39;10713:4;10719:2;10723:7;10692:20;:39::i;:::-;10793:29;10810:1;10814:7;10793:8;:29::i;:::-;10852:1;10833:9;:15;10843:4;10833:15;;;;;;;;;;;;;;;;:20;;;;;;;:::i;:::-;;;;;;;;10880:1;10863:9;:13;10873:2;10863:13;;;;;;;;;;;;;;;;:18;;;;;;;:::i;:::-;;;;;;;;10910:2;10891:7;:16;10899:7;10891:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10947:7;10943:2;10928:27;;10937:4;10928:27;;;;;;;;;;;;10402:560;;;:::o;6612:307::-;6763:28;6773:4;6779:2;6783:7;6763:9;:28::i;:::-;6809:48;6832:4;6838:2;6842:7;6851:5;6809:22;:48::i;:::-;6801:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;6612:307;;;;:::o;3314:92::-;3365:13;3390:9;;;;;;;;;;;;;;3314:92;:::o;275:703:10:-;331:13;557:1;548:5;:10;544:51;;;574:10;;;;;;;;;;;;;;;;;;;;;544:51;604:12;619:5;604:20;;634:14;658:75;673:1;665:4;:9;658:75;;690:8;;;;;:::i;:::-;;;;720:2;712:10;;;;;:::i;:::-;;;658:75;;;742:19;774:6;764:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;742:39;;791:150;807:1;798:5;:10;791:150;;834:1;824:11;;;;;:::i;:::-;;;900:2;892:5;:10;;;;:::i;:::-;879:2;:24;;;;:::i;:::-;866:39;;849:6;856;849:14;;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;928:2;919:11;;;;;:::i;:::-;;;791:150;;;964:6;950:21;;;;;275:703;;;;:::o;13131:122:3:-;;;;:::o;11797:778::-;11947:4;11967:15;:2;:13;;;:15::i;:::-;11963:606;;;12018:2;12002:36;;;12039:12;:10;:12::i;:::-;12053:4;12059:7;12068:5;12002:72;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;11998:519;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12258:1;12241:6;:13;:18;12237:266;;;12283:60;;;;;;;;;;:::i;:::-;;;;;;;;12237:266;12455:6;12449:13;12440:6;12436:2;12432:15;12425:38;11998:519;12134:41;;;12124:51;;;:6;:51;;;;12117:58;;;;;11963:606;12554:4;12547:11;;11797:778;;;;;;;:::o;718:377:7:-;778:4;981:12;1046:7;1034:20;1026:28;;1087:1;1080:4;:8;1073:15;;;718:377;;;:::o;7:75:14:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:307::-;1866:1;1876:113;1890:6;1887:1;1884:13;1876:113;;;1975:1;1970:3;1966:11;1960:18;1956:1;1951:3;1947:11;1940:39;1912:2;1909:1;1905:10;1900:15;;1876:113;;;2007:6;2004:1;2001:13;1998:101;;;2087:1;2078:6;2073:3;2069:16;2062:27;1998:101;1847:258;1798:307;;;:::o;2111:102::-;2152:6;2203:2;2199:7;2194:2;2187:5;2183:14;2179:28;2169:38;;2111:102;;;:::o;2219:364::-;2307:3;2335:39;2368:5;2335:39;:::i;:::-;2390:71;2454:6;2449:3;2390:71;:::i;:::-;2383:78;;2470:52;2515:6;2510:3;2503:4;2496:5;2492:16;2470:52;:::i;:::-;2547:29;2569:6;2547:29;:::i;:::-;2542:3;2538:39;2531:46;;2311:272;2219:364;;;;:::o;2589:313::-;2702:4;2740:2;2729:9;2725:18;2717:26;;2789:9;2783:4;2779:20;2775:1;2764:9;2760:17;2753:47;2817:78;2890:4;2881:6;2817:78;:::i;:::-;2809:86;;2589:313;;;;:::o;2908:77::-;2945:7;2974:5;2963:16;;2908:77;;;:::o;2991:122::-;3064:24;3082:5;3064:24;:::i;:::-;3057:5;3054:35;3044:63;;3103:1;3100;3093:12;3044:63;2991:122;:::o;3119:139::-;3165:5;3203:6;3190:20;3181:29;;3219:33;3246:5;3219:33;:::i;:::-;3119:139;;;;:::o;3264:329::-;3323:6;3372:2;3360:9;3351:7;3347:23;3343:32;3340:119;;;3378:79;;:::i;:::-;3340:119;3498:1;3523:53;3568:7;3559:6;3548:9;3544:22;3523:53;:::i;:::-;3513:63;;3469:117;3264:329;;;;:::o;3599:126::-;3636:7;3676:42;3669:5;3665:54;3654:65;;3599:126;;;:::o;3731:96::-;3768:7;3797:24;3815:5;3797:24;:::i;:::-;3786:35;;3731:96;;;:::o;3833:118::-;3920:24;3938:5;3920:24;:::i;:::-;3915:3;3908:37;3833:118;;:::o;3957:222::-;4050:4;4088:2;4077:9;4073:18;4065:26;;4101:71;4169:1;4158:9;4154:17;4145:6;4101:71;:::i;:::-;3957:222;;;;:::o;4185:122::-;4258:24;4276:5;4258:24;:::i;:::-;4251:5;4248:35;4238:63;;4297:1;4294;4287:12;4238:63;4185:122;:::o;4313:139::-;4359:5;4397:6;4384:20;4375:29;;4413:33;4440:5;4413:33;:::i;:::-;4313:139;;;;:::o;4458:474::-;4526:6;4534;4583:2;4571:9;4562:7;4558:23;4554:32;4551:119;;;4589:79;;:::i;:::-;4551:119;4709:1;4734:53;4779:7;4770:6;4759:9;4755:22;4734:53;:::i;:::-;4724:63;;4680:117;4836:2;4862:53;4907:7;4898:6;4887:9;4883:22;4862:53;:::i;:::-;4852:63;;4807:118;4458:474;;;;;:::o;4938:619::-;5015:6;5023;5031;5080:2;5068:9;5059:7;5055:23;5051:32;5048:119;;;5086:79;;:::i;:::-;5048:119;5206:1;5231:53;5276:7;5267:6;5256:9;5252:22;5231:53;:::i;:::-;5221:63;;5177:117;5333:2;5359:53;5404:7;5395:6;5384:9;5380:22;5359:53;:::i;:::-;5349:63;;5304:118;5461:2;5487:53;5532:7;5523:6;5512:9;5508:22;5487:53;:::i;:::-;5477:63;;5432:118;4938:619;;;;;:::o;5563:329::-;5622:6;5671:2;5659:9;5650:7;5646:23;5642:32;5639:119;;;5677:79;;:::i;:::-;5639:119;5797:1;5822:53;5867:7;5858:6;5847:9;5843:22;5822:53;:::i;:::-;5812:63;;5768:117;5563:329;;;;:::o;5898:118::-;5985:24;6003:5;5985:24;:::i;:::-;5980:3;5973:37;5898:118;;:::o;6022:222::-;6115:4;6153:2;6142:9;6138:18;6130:26;;6166:71;6234:1;6223:9;6219:17;6210:6;6166:71;:::i;:::-;6022:222;;;;:::o;6250:116::-;6320:21;6335:5;6320:21;:::i;:::-;6313:5;6310:32;6300:60;;6356:1;6353;6346:12;6300:60;6250:116;:::o;6372:133::-;6415:5;6453:6;6440:20;6431:29;;6469:30;6493:5;6469:30;:::i;:::-;6372:133;;;;:::o;6511:468::-;6576:6;6584;6633:2;6621:9;6612:7;6608:23;6604:32;6601:119;;;6639:79;;:::i;:::-;6601:119;6759:1;6784:53;6829:7;6820:6;6809:9;6805:22;6784:53;:::i;:::-;6774:63;;6730:117;6886:2;6912:50;6954:7;6945:6;6934:9;6930:22;6912:50;:::i;:::-;6902:60;;6857:115;6511:468;;;;;:::o;6985:117::-;7094:1;7091;7084:12;7108:117;7217:1;7214;7207:12;7231:180;7279:77;7276:1;7269:88;7376:4;7373:1;7366:15;7400:4;7397:1;7390:15;7417:281;7500:27;7522:4;7500:27;:::i;:::-;7492:6;7488:40;7630:6;7618:10;7615:22;7594:18;7582:10;7579:34;7576:62;7573:88;;;7641:18;;:::i;:::-;7573:88;7681:10;7677:2;7670:22;7460:238;7417:281;;:::o;7704:129::-;7738:6;7765:20;;:::i;:::-;7755:30;;7794:33;7822:4;7814:6;7794:33;:::i;:::-;7704:129;;;:::o;7839:307::-;7900:4;7990:18;7982:6;7979:30;7976:56;;;8012:18;;:::i;:::-;7976:56;8050:29;8072:6;8050:29;:::i;:::-;8042:37;;8134:4;8128;8124:15;8116:23;;7839:307;;;:::o;8152:154::-;8236:6;8231:3;8226;8213:30;8298:1;8289:6;8284:3;8280:16;8273:27;8152:154;;;:::o;8312:410::-;8389:5;8414:65;8430:48;8471:6;8430:48;:::i;:::-;8414:65;:::i;:::-;8405:74;;8502:6;8495:5;8488:21;8540:4;8533:5;8529:16;8578:3;8569:6;8564:3;8560:16;8557:25;8554:112;;;8585:79;;:::i;:::-;8554:112;8675:41;8709:6;8704:3;8699;8675:41;:::i;:::-;8395:327;8312:410;;;;;:::o;8741:338::-;8796:5;8845:3;8838:4;8830:6;8826:17;8822:27;8812:122;;8853:79;;:::i;:::-;8812:122;8970:6;8957:20;8995:78;9069:3;9061:6;9054:4;9046:6;9042:17;8995:78;:::i;:::-;8986:87;;8802:277;8741:338;;;;:::o;9085:943::-;9180:6;9188;9196;9204;9253:3;9241:9;9232:7;9228:23;9224:33;9221:120;;;9260:79;;:::i;:::-;9221:120;9380:1;9405:53;9450:7;9441:6;9430:9;9426:22;9405:53;:::i;:::-;9395:63;;9351:117;9507:2;9533:53;9578:7;9569:6;9558:9;9554:22;9533:53;:::i;:::-;9523:63;;9478:118;9635:2;9661:53;9706:7;9697:6;9686:9;9682:22;9661:53;:::i;:::-;9651:63;;9606:118;9791:2;9780:9;9776:18;9763:32;9822:18;9814:6;9811:30;9808:117;;;9844:79;;:::i;:::-;9808:117;9949:62;10003:7;9994:6;9983:9;9979:22;9949:62;:::i;:::-;9939:72;;9734:287;9085:943;;;;;;;:::o;10034:474::-;10102:6;10110;10159:2;10147:9;10138:7;10134:23;10130:32;10127:119;;;10165:79;;:::i;:::-;10127:119;10285:1;10310:53;10355:7;10346:6;10335:9;10331:22;10310:53;:::i;:::-;10300:63;;10256:117;10412:2;10438:53;10483:7;10474:6;10463:9;10459:22;10438:53;:::i;:::-;10428:63;;10383:118;10034:474;;;;;:::o;10514:180::-;10562:77;10559:1;10552:88;10659:4;10656:1;10649:15;10683:4;10680:1;10673:15;10700:320;10744:6;10781:1;10775:4;10771:12;10761:22;;10828:1;10822:4;10818:12;10849:18;10839:81;;10905:4;10897:6;10893:17;10883:27;;10839:81;10967:2;10959:6;10956:14;10936:18;10933:38;10930:84;;;10986:18;;:::i;:::-;10930:84;10751:269;10700:320;;;:::o;11026:231::-;11166:34;11162:1;11154:6;11150:14;11143:58;11235:14;11230:2;11222:6;11218:15;11211:39;11026:231;:::o;11263:366::-;11405:3;11426:67;11490:2;11485:3;11426:67;:::i;:::-;11419:74;;11502:93;11591:3;11502:93;:::i;:::-;11620:2;11615:3;11611:12;11604:19;;11263:366;;;:::o;11635:419::-;11801:4;11839:2;11828:9;11824:18;11816:26;;11888:9;11882:4;11878:20;11874:1;11863:9;11859:17;11852:47;11916:131;12042:4;11916:131;:::i;:::-;11908:139;;11635:419;;;:::o;12060:220::-;12200:34;12196:1;12188:6;12184:14;12177:58;12269:3;12264:2;12256:6;12252:15;12245:28;12060:220;:::o;12286:366::-;12428:3;12449:67;12513:2;12508:3;12449:67;:::i;:::-;12442:74;;12525:93;12614:3;12525:93;:::i;:::-;12643:2;12638:3;12634:12;12627:19;;12286:366;;;:::o;12658:419::-;12824:4;12862:2;12851:9;12847:18;12839:26;;12911:9;12905:4;12901:20;12897:1;12886:9;12882:17;12875:47;12939:131;13065:4;12939:131;:::i;:::-;12931:139;;12658:419;;;:::o;13083:243::-;13223:34;13219:1;13211:6;13207:14;13200:58;13292:26;13287:2;13279:6;13275:15;13268:51;13083:243;:::o;13332:366::-;13474:3;13495:67;13559:2;13554:3;13495:67;:::i;:::-;13488:74;;13571:93;13660:3;13571:93;:::i;:::-;13689:2;13684:3;13680:12;13673:19;;13332:366;;;:::o;13704:419::-;13870:4;13908:2;13897:9;13893:18;13885:26;;13957:9;13951:4;13947:20;13943:1;13932:9;13928:17;13921:47;13985:131;14111:4;13985:131;:::i;:::-;13977:139;;13704:419;;;:::o;14129:236::-;14269:34;14265:1;14257:6;14253:14;14246:58;14338:19;14333:2;14325:6;14321:15;14314:44;14129:236;:::o;14371:366::-;14513:3;14534:67;14598:2;14593:3;14534:67;:::i;:::-;14527:74;;14610:93;14699:3;14610:93;:::i;:::-;14728:2;14723:3;14719:12;14712:19;;14371:366;;;:::o;14743:419::-;14909:4;14947:2;14936:9;14932:18;14924:26;;14996:9;14990:4;14986:20;14982:1;14971:9;14967:17;14960:47;15024:131;15150:4;15024:131;:::i;:::-;15016:139;;14743:419;;;:::o;15168:228::-;15308:34;15304:1;15296:6;15292:14;15285:58;15377:11;15372:2;15364:6;15360:15;15353:36;15168:228;:::o;15402:366::-;15544:3;15565:67;15629:2;15624:3;15565:67;:::i;:::-;15558:74;;15641:93;15730:3;15641:93;:::i;:::-;15759:2;15754:3;15750:12;15743:19;;15402:366;;;:::o;15774:419::-;15940:4;15978:2;15967:9;15963:18;15955:26;;16027:9;16021:4;16017:20;16013:1;16002:9;15998:17;15991:47;16055:131;16181:4;16055:131;:::i;:::-;16047:139;;15774:419;;;:::o;16199:229::-;16339:34;16335:1;16327:6;16323:14;16316:58;16408:12;16403:2;16395:6;16391:15;16384:37;16199:229;:::o;16434:366::-;16576:3;16597:67;16661:2;16656:3;16597:67;:::i;:::-;16590:74;;16673:93;16762:3;16673:93;:::i;:::-;16791:2;16786:3;16782:12;16775:19;;16434:366;;;:::o;16806:419::-;16972:4;17010:2;16999:9;16995:18;16987:26;;17059:9;17053:4;17049:20;17045:1;17034:9;17030:17;17023:47;17087:131;17213:4;17087:131;:::i;:::-;17079:139;;16806:419;;;:::o;17231:175::-;17371:27;17367:1;17359:6;17355:14;17348:51;17231:175;:::o;17412:366::-;17554:3;17575:67;17639:2;17634:3;17575:67;:::i;:::-;17568:74;;17651:93;17740:3;17651:93;:::i;:::-;17769:2;17764:3;17760:12;17753:19;;17412:366;;;:::o;17784:419::-;17950:4;17988:2;17977:9;17973:18;17965:26;;18037:9;18031:4;18027:20;18023:1;18012:9;18008:17;18001:47;18065:131;18191:4;18065:131;:::i;:::-;18057:139;;17784:419;;;:::o;18209:234::-;18349:34;18345:1;18337:6;18333:14;18326:58;18418:17;18413:2;18405:6;18401:15;18394:42;18209:234;:::o;18449:366::-;18591:3;18612:67;18676:2;18671:3;18612:67;:::i;:::-;18605:74;;18688:93;18777:3;18688:93;:::i;:::-;18806:2;18801:3;18797:12;18790:19;;18449:366;;;:::o;18821:419::-;18987:4;19025:2;19014:9;19010:18;19002:26;;19074:9;19068:4;19064:20;19060:1;19049:9;19045:17;19038:47;19102:131;19228:4;19102:131;:::i;:::-;19094:139;;18821:419;;;:::o;19246:148::-;19348:11;19385:3;19370:18;;19246:148;;;;:::o;19400:377::-;19506:3;19534:39;19567:5;19534:39;:::i;:::-;19589:89;19671:6;19666:3;19589:89;:::i;:::-;19582:96;;19687:52;19732:6;19727:3;19720:4;19713:5;19709:16;19687:52;:::i;:::-;19764:6;19759:3;19755:16;19748:23;;19510:267;19400:377;;;;:::o;19783:435::-;19963:3;19985:95;20076:3;20067:6;19985:95;:::i;:::-;19978:102;;20097:95;20188:3;20179:6;20097:95;:::i;:::-;20090:102;;20209:3;20202:10;;19783:435;;;;;:::o;20224:231::-;20364:34;20360:1;20352:6;20348:14;20341:58;20433:14;20428:2;20420:6;20416:15;20409:39;20224:231;:::o;20461:366::-;20603:3;20624:67;20688:2;20683:3;20624:67;:::i;:::-;20617:74;;20700:93;20789:3;20700:93;:::i;:::-;20818:2;20813:3;20809:12;20802:19;;20461:366;;;:::o;20833:419::-;20999:4;21037:2;21026:9;21022:18;21014:26;;21086:9;21080:4;21076:20;21072:1;21061:9;21057:17;21050:47;21114:131;21240:4;21114:131;:::i;:::-;21106:139;;20833:419;;;:::o;21258:228::-;21398:34;21394:1;21386:6;21382:14;21375:58;21467:11;21462:2;21454:6;21450:15;21443:36;21258:228;:::o;21492:366::-;21634:3;21655:67;21719:2;21714:3;21655:67;:::i;:::-;21648:74;;21731:93;21820:3;21731:93;:::i;:::-;21849:2;21844:3;21840:12;21833:19;;21492:366;;;:::o;21864:419::-;22030:4;22068:2;22057:9;22053:18;22045:26;;22117:9;22111:4;22107:20;22103:1;22092:9;22088:17;22081:47;22145:131;22271:4;22145:131;:::i;:::-;22137:139;;21864:419;;;:::o;22289:223::-;22429:34;22425:1;22417:6;22413:14;22406:58;22498:6;22493:2;22485:6;22481:15;22474:31;22289:223;:::o;22518:366::-;22660:3;22681:67;22745:2;22740:3;22681:67;:::i;:::-;22674:74;;22757:93;22846:3;22757:93;:::i;:::-;22875:2;22870:3;22866:12;22859:19;;22518:366;;;:::o;22890:419::-;23056:4;23094:2;23083:9;23079:18;23071:26;;23143:9;23137:4;23133:20;23129:1;23118:9;23114:17;23107:47;23171:131;23297:4;23171:131;:::i;:::-;23163:139;;22890:419;;;:::o;23315:180::-;23363:77;23360:1;23353:88;23460:4;23457:1;23450:15;23484:4;23481:1;23474:15;23501:191;23541:4;23561:20;23579:1;23561:20;:::i;:::-;23556:25;;23595:20;23613:1;23595:20;:::i;:::-;23590:25;;23634:1;23631;23628:8;23625:34;;;23639:18;;:::i;:::-;23625:34;23684:1;23681;23677:9;23669:17;;23501:191;;;;:::o;23698:305::-;23738:3;23757:20;23775:1;23757:20;:::i;:::-;23752:25;;23791:20;23809:1;23791:20;:::i;:::-;23786:25;;23945:1;23877:66;23873:74;23870:1;23867:81;23864:107;;;23951:18;;:::i;:::-;23864:107;23995:1;23992;23988:9;23981:16;;23698:305;;;;:::o;24009:237::-;24149:34;24145:1;24137:6;24133:14;24126:58;24218:20;24213:2;24205:6;24201:15;24194:45;24009:237;:::o;24252:366::-;24394:3;24415:67;24479:2;24474:3;24415:67;:::i;:::-;24408:74;;24491:93;24580:3;24491:93;:::i;:::-;24609:2;24604:3;24600:12;24593:19;;24252:366;;;:::o;24624:419::-;24790:4;24828:2;24817:9;24813:18;24805:26;;24877:9;24871:4;24867:20;24863:1;24852:9;24848:17;24841:47;24905:131;25031:4;24905:131;:::i;:::-;24897:139;;24624:419;;;:::o;25049:233::-;25088:3;25111:24;25129:5;25111:24;:::i;:::-;25102:33;;25157:66;25150:5;25147:77;25144:103;;;25227:18;;:::i;:::-;25144:103;25274:1;25267:5;25263:13;25256:20;;25049:233;;;:::o;25288:180::-;25336:77;25333:1;25326:88;25433:4;25430:1;25423:15;25457:4;25454:1;25447:15;25474:185;25514:1;25531:20;25549:1;25531:20;:::i;:::-;25526:25;;25565:20;25583:1;25565:20;:::i;:::-;25560:25;;25604:1;25594:35;;25609:18;;:::i;:::-;25594:35;25651:1;25648;25644:9;25639:14;;25474:185;;;;:::o;25665:176::-;25697:1;25714:20;25732:1;25714:20;:::i;:::-;25709:25;;25748:20;25766:1;25748:20;:::i;:::-;25743:25;;25787:1;25777:35;;25792:18;;:::i;:::-;25777:35;25833:1;25830;25826:9;25821:14;;25665:176;;;;:::o;25847:180::-;25895:77;25892:1;25885:88;25992:4;25989:1;25982:15;26016:4;26013:1;26006:15;26033:98;26084:6;26118:5;26112:12;26102:22;;26033:98;;;:::o;26137:168::-;26220:11;26254:6;26249:3;26242:19;26294:4;26289:3;26285:14;26270:29;;26137:168;;;;:::o;26311:360::-;26397:3;26425:38;26457:5;26425:38;:::i;:::-;26479:70;26542:6;26537:3;26479:70;:::i;:::-;26472:77;;26558:52;26603:6;26598:3;26591:4;26584:5;26580:16;26558:52;:::i;:::-;26635:29;26657:6;26635:29;:::i;:::-;26630:3;26626:39;26619:46;;26401:270;26311:360;;;;:::o;26677:640::-;26872:4;26910:3;26899:9;26895:19;26887:27;;26924:71;26992:1;26981:9;26977:17;26968:6;26924:71;:::i;:::-;27005:72;27073:2;27062:9;27058:18;27049:6;27005:72;:::i;:::-;27087;27155:2;27144:9;27140:18;27131:6;27087:72;:::i;:::-;27206:9;27200:4;27196:20;27191:2;27180:9;27176:18;27169:48;27234:76;27305:4;27296:6;27234:76;:::i;:::-;27226:84;;26677:640;;;;;;;:::o;27323:141::-;27379:5;27410:6;27404:13;27395:22;;27426:32;27452:5;27426:32;:::i;:::-;27323:141;;;;:::o;27470:349::-;27539:6;27588:2;27576:9;27567:7;27563:23;27559:32;27556:119;;;27594:79;;:::i;:::-;27556:119;27714:1;27739:63;27794:7;27785:6;27774:9;27770:22;27739:63;:::i;:::-;27729:73;;27685:127;27470:349;;;;:::o",
+ "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"./IERC721.sol\";\nimport \"./IERC721Receiver.sol\";\nimport \"./extensions/IERC721Metadata.sol\";\nimport \"../../utils/Address.sol\";\nimport \"../../utils/Context.sol\";\nimport \"../../utils/Strings.sol\";\nimport \"../../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n * the Metadata extension, but not including the Enumerable extension, which is available separately as\n * {ERC721Enumerable}.\n */\ncontract ERC721 is Context, ERC165, IERC721, IERC721Metadata {\n using Address for address;\n using Strings for uint256;\n\n // Token name\n string private _name;\n\n // Token symbol\n string private _symbol;\n\n // Mapping from token ID to owner address\n mapping(uint256 => address) private _owners;\n\n // Mapping owner address to token count\n mapping(address => uint256) private _balances;\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 /**\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_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {\n return\n interfaceId == type(IERC721).interfaceId ||\n interfaceId == type(IERC721Metadata).interfaceId ||\n super.supportsInterface(interfaceId);\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 _balances[owner];\n }\n\n /**\n * @dev See {IERC721-ownerOf}.\n */\n function ownerOf(uint256 tokenId) public view virtual override returns (address) {\n address owner = _owners[tokenId];\n require(owner != address(0), \"ERC721: owner query for nonexistent token\");\n return owner;\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 baseURI = _baseURI();\n return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : \"\";\n }\n\n /**\n * @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n * token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n * by default, can be overriden in child contracts.\n */\n function _baseURI() internal view virtual returns (string memory) {\n return \"\";\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(\n _msgSender() == owner || 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(\n address from,\n address to,\n uint256 tokenId\n ) 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(\n address from,\n address to,\n uint256 tokenId\n ) public virtual override {\n safeTransferFrom(from, to, tokenId, \"\");\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId,\n bytes memory _data\n ) 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(\n address from,\n address to,\n uint256 tokenId,\n bytes memory _data\n ) 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 _owners[tokenId] != address(0);\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 || isApprovedForAll(owner, spender));\n }\n\n /**\n * @dev Safely mints `tokenId` and transfers it to `to`.\n *\n * Requirements:\n *\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(\n address to,\n uint256 tokenId,\n bytes memory _data\n ) internal virtual {\n _mint(to, tokenId);\n require(\n _checkOnERC721Received(address(0), to, tokenId, _data),\n \"ERC721: transfer to non ERC721Receiver implementer\"\n );\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 _balances[to] += 1;\n _owners[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);\n\n _beforeTokenTransfer(owner, address(0), tokenId);\n\n // Clear approvals\n _approve(address(0), tokenId);\n\n _balances[owner] -= 1;\n delete _owners[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(\n address from,\n address to,\n uint256 tokenId\n ) internal virtual {\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer of token that is not own\");\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 _balances[from] -= 1;\n _balances[to] += 1;\n _owners[tokenId] = to;\n\n emit Transfer(from, to, tokenId);\n }\n\n /**\n * @dev Approve `to` to operate on `tokenId`\n *\n * Emits a {Approval} event.\n */\n function _approve(address to, uint256 tokenId) internal virtual {\n _tokenApprovals[tokenId] = to;\n emit Approval(ERC721.ownerOf(tokenId), to, tokenId);\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(\n address from,\n address to,\n uint256 tokenId,\n bytes memory _data\n ) private returns (bool) {\n if (to.isContract()) {\n try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) {\n return retval == IERC721Receiver.onERC721Received.selector;\n } catch (bytes memory reason) {\n if (reason.length == 0) {\n revert(\"ERC721: transfer to non ERC721Receiver implementer\");\n } else {\n assembly {\n revert(add(32, reason), mload(reason))\n }\n }\n }\n } else {\n return true;\n }\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` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 tokenId\n ) internal virtual {}\n}\n",
+ "sourcePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol",
+ "ast": {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol",
+ "exportedSymbols": {
+ "Address": [
+ 1922
+ ],
+ "Context": [
+ 1944
+ ],
+ "ERC165": [
+ 2245
+ ],
+ "ERC721": [
+ 1464
+ ],
+ "IERC165": [
+ 2257
+ ],
+ "IERC721": [
+ 1580
+ ],
+ "IERC721Metadata": [
+ 1625
+ ],
+ "IERC721Receiver": [
+ 1598
+ ],
+ "Strings": [
+ 2221
+ ]
+ },
+ "id": 1465,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 650,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:3"
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
+ "file": "./IERC721.sol",
+ "id": 651,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1465,
+ "sourceUnit": 1581,
+ "src": "58:23:3",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol",
+ "file": "./IERC721Receiver.sol",
+ "id": 652,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1465,
+ "sourceUnit": 1599,
+ "src": "82:31:3",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol",
+ "file": "./extensions/IERC721Metadata.sol",
+ "id": 653,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1465,
+ "sourceUnit": 1626,
+ "src": "114:42:3",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/Address.sol",
+ "file": "../../utils/Address.sol",
+ "id": 654,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1465,
+ "sourceUnit": 1923,
+ "src": "157:33:3",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/Context.sol",
+ "file": "../../utils/Context.sol",
+ "id": 655,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1465,
+ "sourceUnit": 1945,
+ "src": "191:33:3",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/Strings.sol",
+ "file": "../../utils/Strings.sol",
+ "id": 656,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1465,
+ "sourceUnit": 2222,
+ "src": "225:33:3",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol",
+ "file": "../../utils/introspection/ERC165.sol",
+ "id": 657,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1465,
+ "sourceUnit": 2246,
+ "src": "259:46:3",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "abstract": false,
+ "baseContracts": [
+ {
+ "baseName": {
+ "id": 659,
+ "name": "Context",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1944,
+ "src": "573:7:3"
+ },
+ "id": 660,
+ "nodeType": "InheritanceSpecifier",
+ "src": "573:7:3"
+ },
+ {
+ "baseName": {
+ "id": 661,
+ "name": "ERC165",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2245,
+ "src": "582:6:3"
+ },
+ "id": 662,
+ "nodeType": "InheritanceSpecifier",
+ "src": "582:6:3"
+ },
+ {
+ "baseName": {
+ "id": 663,
+ "name": "IERC721",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1580,
+ "src": "590:7:3"
+ },
+ "id": 664,
+ "nodeType": "InheritanceSpecifier",
+ "src": "590:7:3"
+ },
+ {
+ "baseName": {
+ "id": 665,
+ "name": "IERC721Metadata",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1625,
+ "src": "599:15:3"
+ },
+ "id": 666,
+ "nodeType": "InheritanceSpecifier",
+ "src": "599:15:3"
+ }
+ ],
+ "canonicalName": "ERC721",
+ "contractDependencies": [],
+ "contractKind": "contract",
+ "documentation": {
+ "id": 658,
+ "nodeType": "StructuredDocumentation",
+ "src": "307:246:3",
+ "text": " @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n the Metadata extension, but not including the Enumerable extension, which is available separately as\n {ERC721Enumerable}."
+ },
+ "fullyImplemented": true,
+ "id": 1464,
+ "linearizedBaseContracts": [
+ 1464,
+ 1625,
+ 1580,
+ 2245,
+ 2257,
+ 1944
+ ],
+ "name": "ERC721",
+ "nameLocation": "563:6:3",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "id": 669,
+ "libraryName": {
+ "id": 667,
+ "name": "Address",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1922,
+ "src": "627:7:3"
+ },
+ "nodeType": "UsingForDirective",
+ "src": "621:26:3",
+ "typeName": {
+ "id": 668,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "639:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ },
+ {
+ "id": 672,
+ "libraryName": {
+ "id": 670,
+ "name": "Strings",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2221,
+ "src": "658:7:3"
+ },
+ "nodeType": "UsingForDirective",
+ "src": "652:26:3",
+ "typeName": {
+ "id": 671,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "670:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ },
+ {
+ "constant": false,
+ "id": 674,
+ "mutability": "mutable",
+ "name": "_name",
+ "nameLocation": "717:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1464,
+ "src": "702:20:3",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 673,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "702:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 676,
+ "mutability": "mutable",
+ "name": "_symbol",
+ "nameLocation": "764:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1464,
+ "src": "749:22:3",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 675,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "749:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 680,
+ "mutability": "mutable",
+ "name": "_owners",
+ "nameLocation": "860:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1464,
+ "src": "824:43:3",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "typeName": {
+ "id": 679,
+ "keyType": {
+ "id": 677,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "832:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "824:27:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "valueType": {
+ "id": 678,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "843:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 684,
+ "mutability": "mutable",
+ "name": "_balances",
+ "nameLocation": "954:9:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1464,
+ "src": "918:45:3",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ },
+ "typeName": {
+ "id": 683,
+ "keyType": {
+ "id": 681,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "926:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "918:27:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ },
+ "valueType": {
+ "id": 682,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "937:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 688,
+ "mutability": "mutable",
+ "name": "_tokenApprovals",
+ "nameLocation": "1055:15:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1464,
+ "src": "1019:51:3",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "typeName": {
+ "id": 687,
+ "keyType": {
+ "id": 685,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1027:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1019:27:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "valueType": {
+ "id": 686,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1038:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 694,
+ "mutability": "mutable",
+ "name": "_operatorApprovals",
+ "nameLocation": "1178:18:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1464,
+ "src": "1125:71: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": 693,
+ "keyType": {
+ "id": 689,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1133:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1125:44:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$",
+ "typeString": "mapping(address => mapping(address => bool))"
+ },
+ "valueType": {
+ "id": 692,
+ "keyType": {
+ "id": 690,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1152:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1144:24:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
+ "typeString": "mapping(address => bool)"
+ },
+ "valueType": {
+ "id": 691,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "1163:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "body": {
+ "id": 710,
+ "nodeType": "Block",
+ "src": "1372:57:3",
+ "statements": [
+ {
+ "expression": {
+ "id": 704,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 702,
+ "name": "_name",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 674,
+ "src": "1382:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 703,
+ "name": "name_",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 697,
+ "src": "1390:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "src": "1382:13:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "id": 705,
+ "nodeType": "ExpressionStatement",
+ "src": "1382:13:3"
+ },
+ {
+ "expression": {
+ "id": 708,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 706,
+ "name": "_symbol",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 676,
+ "src": "1405:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 707,
+ "name": "symbol_",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 699,
+ "src": "1415:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "src": "1405:17:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "id": 709,
+ "nodeType": "ExpressionStatement",
+ "src": "1405:17:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 695,
+ "nodeType": "StructuredDocumentation",
+ "src": "1203:108:3",
+ "text": " @dev Initializes the contract by setting a `name` and a `symbol` to the token collection."
+ },
+ "id": 711,
+ "implemented": true,
+ "kind": "constructor",
+ "modifiers": [],
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 700,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 697,
+ "mutability": "mutable",
+ "name": "name_",
+ "nameLocation": "1342:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 711,
+ "src": "1328:19:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 696,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1328:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 699,
+ "mutability": "mutable",
+ "name": "symbol_",
+ "nameLocation": "1363:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 711,
+ "src": "1349:21:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 698,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1349:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1327:44:3"
+ },
+ "returnParameters": {
+ "id": 701,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1372:0:3"
+ },
+ "scope": 1464,
+ "src": "1316:113:3",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 2244,
+ 2256
+ ],
+ "body": {
+ "id": 741,
+ "nodeType": "Block",
+ "src": "1604:192:3",
+ "statements": [
+ {
+ "expression": {
+ "commonType": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "id": 739,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "id": 734,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "id": 727,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 722,
+ "name": "interfaceId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 714,
+ "src": "1633:11:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "expression": {
+ "arguments": [
+ {
+ "id": 724,
+ "name": "IERC721",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1580,
+ "src": "1653:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_IERC721_$1580_$",
+ "typeString": "type(contract IERC721)"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_type$_t_contract$_IERC721_$1580_$",
+ "typeString": "type(contract IERC721)"
+ }
+ ],
+ "id": 723,
+ "name": "type",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967269,
+ "src": "1648:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
+ "typeString": "function () pure"
+ }
+ },
+ "id": 725,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1648:13:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721_$1580",
+ "typeString": "type(contract IERC721)"
+ }
+ },
+ "id": 726,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "memberName": "interfaceId",
+ "nodeType": "MemberAccess",
+ "src": "1648:25:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "src": "1633:40:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "||",
+ "rightExpression": {
+ "commonType": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "id": 733,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 728,
+ "name": "interfaceId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 714,
+ "src": "1689:11:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "expression": {
+ "arguments": [
+ {
+ "id": 730,
+ "name": "IERC721Metadata",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1625,
+ "src": "1709:15:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1625_$",
+ "typeString": "type(contract IERC721Metadata)"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1625_$",
+ "typeString": "type(contract IERC721Metadata)"
+ }
+ ],
+ "id": 729,
+ "name": "type",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967269,
+ "src": "1704:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
+ "typeString": "function () pure"
+ }
+ },
+ "id": 731,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1704:21:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$1625",
+ "typeString": "type(contract IERC721Metadata)"
+ }
+ },
+ "id": 732,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "memberName": "interfaceId",
+ "nodeType": "MemberAccess",
+ "src": "1704:33:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "src": "1689:48:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "src": "1633:104:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "||",
+ "rightExpression": {
+ "arguments": [
+ {
+ "id": 737,
+ "name": "interfaceId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 714,
+ "src": "1777:11:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ ],
+ "expression": {
+ "id": 735,
+ "name": "super",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967271,
+ "src": "1753:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_super$_ERC721_$1464_$",
+ "typeString": "type(contract super ERC721)"
+ }
+ },
+ "id": 736,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "supportsInterface",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2244,
+ "src": "1753:23:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$",
+ "typeString": "function (bytes4) view returns (bool)"
+ }
+ },
+ "id": 738,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1753:36:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "src": "1633:156:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 721,
+ "id": 740,
+ "nodeType": "Return",
+ "src": "1614:175:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 712,
+ "nodeType": "StructuredDocumentation",
+ "src": "1435:56:3",
+ "text": " @dev See {IERC165-supportsInterface}."
+ },
+ "functionSelector": "01ffc9a7",
+ "id": 742,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "supportsInterface",
+ "nameLocation": "1505:17:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 718,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [
+ {
+ "id": 716,
+ "name": "ERC165",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2245,
+ "src": "1572:6:3"
+ },
+ {
+ "id": 717,
+ "name": "IERC165",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2257,
+ "src": "1580:7:3"
+ }
+ ],
+ "src": "1563:25:3"
+ },
+ "parameters": {
+ "id": 715,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 714,
+ "mutability": "mutable",
+ "name": "interfaceId",
+ "nameLocation": "1530:11:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 742,
+ "src": "1523:18:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "typeName": {
+ "id": 713,
+ "name": "bytes4",
+ "nodeType": "ElementaryTypeName",
+ "src": "1523:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1522:20:3"
+ },
+ "returnParameters": {
+ "id": 721,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 720,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 742,
+ "src": "1598:4:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 719,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "1598:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1597:6:3"
+ },
+ "scope": 1464,
+ "src": "1496:300:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1505
+ ],
+ "body": {
+ "id": 765,
+ "nodeType": "Block",
+ "src": "1936:124:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 757,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 752,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 745,
+ "src": "1954:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 755,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1971:1:3",
+ "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": "1963:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 753,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1963:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 756,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1963:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "1954:19:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65726f2061646472657373",
+ "id": 758,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1975:44:3",
+ "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": 751,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "1946:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 759,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1946:74:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 760,
+ "nodeType": "ExpressionStatement",
+ "src": "1946:74:3"
+ },
+ {
+ "expression": {
+ "baseExpression": {
+ "id": 761,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 684,
+ "src": "2037:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 763,
+ "indexExpression": {
+ "id": 762,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 745,
+ "src": "2047:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2037:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "functionReturnParameters": 750,
+ "id": 764,
+ "nodeType": "Return",
+ "src": "2030:23:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 743,
+ "nodeType": "StructuredDocumentation",
+ "src": "1802:48:3",
+ "text": " @dev See {IERC721-balanceOf}."
+ },
+ "functionSelector": "70a08231",
+ "id": 766,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "balanceOf",
+ "nameLocation": "1864:9:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 747,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "1909:8:3"
+ },
+ "parameters": {
+ "id": 746,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 745,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "1882:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 766,
+ "src": "1874:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 744,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1874:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1873:15:3"
+ },
+ "returnParameters": {
+ "id": 750,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 749,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 766,
+ "src": "1927:7:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 748,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1927:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1926:9:3"
+ },
+ "scope": 1464,
+ "src": "1855:205:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1513
+ ],
+ "body": {
+ "id": 793,
+ "nodeType": "Block",
+ "src": "2198:154:3",
+ "statements": [
+ {
+ "assignments": [
+ 776
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 776,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "2216:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 793,
+ "src": "2208:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 775,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2208:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 780,
+ "initialValue": {
+ "baseExpression": {
+ "id": 777,
+ "name": "_owners",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 680,
+ "src": "2224:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 779,
+ "indexExpression": {
+ "id": 778,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 769,
+ "src": "2232:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2224:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2208:32:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 787,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 782,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 776,
+ "src": "2258:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 785,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2275:1:3",
+ "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": 784,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "2267:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 783,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2267:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 786,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2267:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "2258:19:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 788,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2279:43:3",
+ "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_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397",
+ "typeString": "literal_string \"ERC721: owner query for nonexistent token\""
+ }
+ ],
+ "id": 781,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "2250:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 789,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2250:73:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 790,
+ "nodeType": "ExpressionStatement",
+ "src": "2250:73:3"
+ },
+ {
+ "expression": {
+ "id": 791,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 776,
+ "src": "2340:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "functionReturnParameters": 774,
+ "id": 792,
+ "nodeType": "Return",
+ "src": "2333:12:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 767,
+ "nodeType": "StructuredDocumentation",
+ "src": "2066:46:3",
+ "text": " @dev See {IERC721-ownerOf}."
+ },
+ "functionSelector": "6352211e",
+ "id": 794,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "ownerOf",
+ "nameLocation": "2126:7:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 771,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "2171:8:3"
+ },
+ "parameters": {
+ "id": 770,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 769,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "2142:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 794,
+ "src": "2134:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 768,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2134:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2133:17:3"
+ },
+ "returnParameters": {
+ "id": 774,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 773,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 794,
+ "src": "2189:7:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 772,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2189:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2188:9:3"
+ },
+ "scope": 1464,
+ "src": "2117:235:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1610
+ ],
+ "body": {
+ "id": 803,
+ "nodeType": "Block",
+ "src": "2483:29:3",
+ "statements": [
+ {
+ "expression": {
+ "id": 801,
+ "name": "_name",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 674,
+ "src": "2500:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "functionReturnParameters": 800,
+ "id": 802,
+ "nodeType": "Return",
+ "src": "2493:12:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 795,
+ "nodeType": "StructuredDocumentation",
+ "src": "2358:51:3",
+ "text": " @dev See {IERC721Metadata-name}."
+ },
+ "functionSelector": "06fdde03",
+ "id": 804,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "name",
+ "nameLocation": "2423:4:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 797,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "2450:8:3"
+ },
+ "parameters": {
+ "id": 796,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2427:2:3"
+ },
+ "returnParameters": {
+ "id": 800,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 799,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 804,
+ "src": "2468:13:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 798,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "2468:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2467:15:3"
+ },
+ "scope": 1464,
+ "src": "2414:98:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1616
+ ],
+ "body": {
+ "id": 813,
+ "nodeType": "Block",
+ "src": "2647:31:3",
+ "statements": [
+ {
+ "expression": {
+ "id": 811,
+ "name": "_symbol",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 676,
+ "src": "2664:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "functionReturnParameters": 810,
+ "id": 812,
+ "nodeType": "Return",
+ "src": "2657:14:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 805,
+ "nodeType": "StructuredDocumentation",
+ "src": "2518:53:3",
+ "text": " @dev See {IERC721Metadata-symbol}."
+ },
+ "functionSelector": "95d89b41",
+ "id": 814,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "symbol",
+ "nameLocation": "2585:6:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 807,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "2614:8:3"
+ },
+ "parameters": {
+ "id": 806,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2591:2:3"
+ },
+ "returnParameters": {
+ "id": 810,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 809,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 814,
+ "src": "2632:13:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 808,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "2632:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2631:15:3"
+ },
+ "scope": 1464,
+ "src": "2576:102:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1624
+ ],
+ "body": {
+ "id": 855,
+ "nodeType": "Block",
+ "src": "2832:241:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 825,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 817,
+ "src": "2858:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 824,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "2850:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 826,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2850:16:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 827,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2868:49:3",
+ "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": 823,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "2842:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 828,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2842:76:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 829,
+ "nodeType": "ExpressionStatement",
+ "src": "2842:76:3"
+ },
+ {
+ "assignments": [
+ 831
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 831,
+ "mutability": "mutable",
+ "name": "baseURI",
+ "nameLocation": "2943:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 855,
+ "src": "2929:21:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 830,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "2929:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 834,
+ "initialValue": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 832,
+ "name": "_baseURI",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 865,
+ "src": "2953:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$",
+ "typeString": "function () view returns (string memory)"
+ }
+ },
+ "id": 833,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2953:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2929:34:3"
+ },
+ {
+ "expression": {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 841,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "expression": {
+ "arguments": [
+ {
+ "id": 837,
+ "name": "baseURI",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 831,
+ "src": "2986:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ ],
+ "id": 836,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "2980:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
+ "typeString": "type(bytes storage pointer)"
+ },
+ "typeName": {
+ "id": 835,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "2980:5:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 838,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2980:14:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "id": 839,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "src": "2980:21:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 840,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3004:1:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "2980:25:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "falseExpression": {
+ "hexValue": "",
+ "id": 852,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3064:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
+ "typeString": "literal_string \"\""
+ },
+ "value": ""
+ },
+ "id": 853,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "Conditional",
+ "src": "2980:86:3",
+ "trueExpression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 846,
+ "name": "baseURI",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 831,
+ "src": "3032:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 847,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 817,
+ "src": "3041:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 848,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "toString",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2103,
+ "src": "3041: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": 849,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3041: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": {
+ "id": 844,
+ "name": "abi",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967295,
+ "src": "3015:3:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_abi",
+ "typeString": "abi"
+ }
+ },
+ "id": 845,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "memberName": "encodePacked",
+ "nodeType": "MemberAccess",
+ "src": "3015:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
+ "typeString": "function () pure returns (bytes memory)"
+ }
+ },
+ "id": 850,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3015:45:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ ],
+ "id": 843,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "3008:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_string_storage_ptr_$",
+ "typeString": "type(string storage pointer)"
+ },
+ "typeName": {
+ "id": 842,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "3008:6:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 851,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3008:53:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "functionReturnParameters": 822,
+ "id": 854,
+ "nodeType": "Return",
+ "src": "2973:93:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 815,
+ "nodeType": "StructuredDocumentation",
+ "src": "2684:55:3",
+ "text": " @dev See {IERC721Metadata-tokenURI}."
+ },
+ "functionSelector": "c87b56dd",
+ "id": 856,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "tokenURI",
+ "nameLocation": "2753:8:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 819,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "2799:8:3"
+ },
+ "parameters": {
+ "id": 818,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 817,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "2770:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 856,
+ "src": "2762:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 816,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2762:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2761:17:3"
+ },
+ "returnParameters": {
+ "id": 822,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 821,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 856,
+ "src": "2817:13:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 820,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "2817:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2816:15:3"
+ },
+ "scope": 1464,
+ "src": "2744:329:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 864,
+ "nodeType": "Block",
+ "src": "3380:26:3",
+ "statements": [
+ {
+ "expression": {
+ "hexValue": "",
+ "id": 862,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3397:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
+ "typeString": "literal_string \"\""
+ },
+ "value": ""
+ },
+ "functionReturnParameters": 861,
+ "id": 863,
+ "nodeType": "Return",
+ "src": "3390:9:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 857,
+ "nodeType": "StructuredDocumentation",
+ "src": "3079:230:3",
+ "text": " @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n by default, can be overriden in child contracts."
+ },
+ "id": 865,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_baseURI",
+ "nameLocation": "3323:8:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 858,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3331:2:3"
+ },
+ "returnParameters": {
+ "id": 861,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 860,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 865,
+ "src": "3365:13:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 859,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "3365:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3364:15:3"
+ },
+ "scope": 1464,
+ "src": "3314:92:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "baseFunctions": [
+ 1541
+ ],
+ "body": {
+ "id": 907,
+ "nodeType": "Block",
+ "src": "3533:331:3",
+ "statements": [
+ {
+ "assignments": [
+ 875
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 875,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "3551:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 907,
+ "src": "3543:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 874,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3543:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 880,
+ "initialValue": {
+ "arguments": [
+ {
+ "id": 878,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 870,
+ "src": "3574:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 876,
+ "name": "ERC721",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1464,
+ "src": "3559:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC721_$1464_$",
+ "typeString": "type(contract ERC721)"
+ }
+ },
+ "id": 877,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "ownerOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 794,
+ "src": "3559:14:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
+ "typeString": "function (uint256) view returns (address)"
+ }
+ },
+ "id": 879,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3559:23:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "3543:39:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 884,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 882,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 868,
+ "src": "3600:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "id": 883,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 875,
+ "src": "3606:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "3600:11:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572",
+ "id": 885,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3613:35:3",
+ "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": 881,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "3592:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 886,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3592:57:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 887,
+ "nodeType": "ExpressionStatement",
+ "src": "3592:57:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "id": 898,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 892,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 889,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "3681:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 890,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3681:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "id": 891,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 875,
+ "src": "3697:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "3681:21:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "||",
+ "rightExpression": {
+ "arguments": [
+ {
+ "id": 894,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 875,
+ "src": "3723:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 895,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "3730:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 896,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3730:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 893,
+ "name": "isApprovedForAll",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 981,
+ "src": "3706:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$",
+ "typeString": "function (address,address) view returns (bool)"
+ }
+ },
+ "id": 897,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3706:37:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "src": "3681:62:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c",
+ "id": 899,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3757:58:3",
+ "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": 888,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "3660:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 900,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3660:165:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 901,
+ "nodeType": "ExpressionStatement",
+ "src": "3660:165:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 903,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 868,
+ "src": "3845:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 904,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 870,
+ "src": "3849:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 902,
+ "name": "_approve",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1390,
+ "src": "3836:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,uint256)"
+ }
+ },
+ "id": 905,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3836:21:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 906,
+ "nodeType": "ExpressionStatement",
+ "src": "3836:21:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 866,
+ "nodeType": "StructuredDocumentation",
+ "src": "3412:46:3",
+ "text": " @dev See {IERC721-approve}."
+ },
+ "functionSelector": "095ea7b3",
+ "id": 908,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "approve",
+ "nameLocation": "3472:7:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 872,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "3524:8:3"
+ },
+ "parameters": {
+ "id": 871,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 868,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "3488:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 908,
+ "src": "3480:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 867,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3480:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 870,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "3500:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 908,
+ "src": "3492:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 869,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3492:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3479:29:3"
+ },
+ "returnParameters": {
+ "id": 873,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3533:0:3"
+ },
+ "scope": 1464,
+ "src": "3463:401:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1549
+ ],
+ "body": {
+ "id": 928,
+ "nodeType": "Block",
+ "src": "4010:132:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 919,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 911,
+ "src": "4036:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 918,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "4028:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 920,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4028:16:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 921,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4046:46:3",
+ "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": 917,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4020:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 922,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4020:73:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 923,
+ "nodeType": "ExpressionStatement",
+ "src": "4020:73:3"
+ },
+ {
+ "expression": {
+ "baseExpression": {
+ "id": 924,
+ "name": "_tokenApprovals",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 688,
+ "src": "4111:15:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 926,
+ "indexExpression": {
+ "id": 925,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 911,
+ "src": "4127:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4111:24:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "functionReturnParameters": 916,
+ "id": 927,
+ "nodeType": "Return",
+ "src": "4104:31:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 909,
+ "nodeType": "StructuredDocumentation",
+ "src": "3870:50:3",
+ "text": " @dev See {IERC721-getApproved}."
+ },
+ "functionSelector": "081812fc",
+ "id": 929,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "getApproved",
+ "nameLocation": "3934:11:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 913,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "3983:8:3"
+ },
+ "parameters": {
+ "id": 912,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 911,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "3954:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 929,
+ "src": "3946:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 910,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3946:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3945:17:3"
+ },
+ "returnParameters": {
+ "id": 916,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 915,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 929,
+ "src": "4001:7:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 914,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4001:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4000:9:3"
+ },
+ "scope": 1464,
+ "src": "3925:217:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1557
+ ],
+ "body": {
+ "id": 962,
+ "nodeType": "Block",
+ "src": "4293:206:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 942,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 939,
+ "name": "operator",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 932,
+ "src": "4311:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 940,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "4323:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 941,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4323:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "4311:24:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572",
+ "id": 943,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4337:27:3",
+ "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": 938,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4303:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 944,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4303:62:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 945,
+ "nodeType": "ExpressionStatement",
+ "src": "4303:62:3"
+ },
+ {
+ "expression": {
+ "id": 953,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "baseExpression": {
+ "id": 946,
+ "name": "_operatorApprovals",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 694,
+ "src": "4376:18:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$",
+ "typeString": "mapping(address => mapping(address => bool))"
+ }
+ },
+ "id": 950,
+ "indexExpression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 947,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "4395:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 948,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4395:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4376:32:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
+ "typeString": "mapping(address => bool)"
+ }
+ },
+ "id": 951,
+ "indexExpression": {
+ "id": 949,
+ "name": "operator",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 932,
+ "src": "4409:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "4376:42:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 952,
+ "name": "approved",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 934,
+ "src": "4421:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "src": "4376:53:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 954,
+ "nodeType": "ExpressionStatement",
+ "src": "4376:53:3"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 956,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "4459:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 957,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4459:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 958,
+ "name": "operator",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 932,
+ "src": "4473:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 959,
+ "name": "approved",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 934,
+ "src": "4483:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ ],
+ "id": 955,
+ "name": "ApprovalForAll",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1497,
+ "src": "4444:14:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$",
+ "typeString": "function (address,address,bool)"
+ }
+ },
+ "id": 960,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4444:48:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 961,
+ "nodeType": "EmitStatement",
+ "src": "4439:53:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 930,
+ "nodeType": "StructuredDocumentation",
+ "src": "4148:56:3",
+ "text": " @dev See {IERC721-setApprovalForAll}."
+ },
+ "functionSelector": "a22cb465",
+ "id": 963,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "setApprovalForAll",
+ "nameLocation": "4218:17:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 936,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "4284:8:3"
+ },
+ "parameters": {
+ "id": 935,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 932,
+ "mutability": "mutable",
+ "name": "operator",
+ "nameLocation": "4244:8:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 963,
+ "src": "4236:16:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 931,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4236:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 934,
+ "mutability": "mutable",
+ "name": "approved",
+ "nameLocation": "4259:8:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 963,
+ "src": "4254:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 933,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "4254:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4235:33:3"
+ },
+ "returnParameters": {
+ "id": 937,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "4293:0:3"
+ },
+ "scope": 1464,
+ "src": "4209:290:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1567
+ ],
+ "body": {
+ "id": 980,
+ "nodeType": "Block",
+ "src": "4668:59:3",
+ "statements": [
+ {
+ "expression": {
+ "baseExpression": {
+ "baseExpression": {
+ "id": 974,
+ "name": "_operatorApprovals",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 694,
+ "src": "4685:18:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$",
+ "typeString": "mapping(address => mapping(address => bool))"
+ }
+ },
+ "id": 976,
+ "indexExpression": {
+ "id": 975,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 966,
+ "src": "4704:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4685:25:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
+ "typeString": "mapping(address => bool)"
+ }
+ },
+ "id": 978,
+ "indexExpression": {
+ "id": 977,
+ "name": "operator",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 968,
+ "src": "4711:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4685:35:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 973,
+ "id": 979,
+ "nodeType": "Return",
+ "src": "4678:42:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 964,
+ "nodeType": "StructuredDocumentation",
+ "src": "4505:55:3",
+ "text": " @dev See {IERC721-isApprovedForAll}."
+ },
+ "functionSelector": "e985e9c5",
+ "id": 981,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "isApprovedForAll",
+ "nameLocation": "4574:16:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 970,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "4644:8:3"
+ },
+ "parameters": {
+ "id": 969,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 966,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "4599:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 981,
+ "src": "4591:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 965,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4591:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 968,
+ "mutability": "mutable",
+ "name": "operator",
+ "nameLocation": "4614:8:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 981,
+ "src": "4606:16:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 967,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4606:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4590:33:3"
+ },
+ "returnParameters": {
+ "id": 973,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 972,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 981,
+ "src": "4662:4:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 971,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "4662:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4661:6:3"
+ },
+ "scope": 1464,
+ "src": "4565:162:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1533
+ ],
+ "body": {
+ "id": 1007,
+ "nodeType": "Block",
+ "src": "4908:211:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 994,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "4997:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 995,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4997:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 996,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 988,
+ "src": "5011:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 993,
+ "name": "_isApprovedOrOwner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1145,
+ "src": "4978:18:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (address,uint256) view returns (bool)"
+ }
+ },
+ "id": 997,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4978:41:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564",
+ "id": 998,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5021:51:3",
+ "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": 992,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4970:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 999,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4970:103:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1000,
+ "nodeType": "ExpressionStatement",
+ "src": "4970:103:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1002,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 984,
+ "src": "5094:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1003,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 986,
+ "src": "5100:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1004,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 988,
+ "src": "5104: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": 1001,
+ "name": "_transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1366,
+ "src": "5084:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1005,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5084:28:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1006,
+ "nodeType": "ExpressionStatement",
+ "src": "5084:28:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 982,
+ "nodeType": "StructuredDocumentation",
+ "src": "4733:51:3",
+ "text": " @dev See {IERC721-transferFrom}."
+ },
+ "functionSelector": "23b872dd",
+ "id": 1008,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "transferFrom",
+ "nameLocation": "4798:12:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 990,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "4899:8:3"
+ },
+ "parameters": {
+ "id": 989,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 984,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "4828:4:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1008,
+ "src": "4820:12:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 983,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4820:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 986,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "4850:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1008,
+ "src": "4842:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 985,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4842:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 988,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "4870:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1008,
+ "src": "4862:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 987,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4862:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4810:73:3"
+ },
+ "returnParameters": {
+ "id": 991,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "4908:0:3"
+ },
+ "scope": 1464,
+ "src": "4789:330:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1523
+ ],
+ "body": {
+ "id": 1026,
+ "nodeType": "Block",
+ "src": "5308:56:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1020,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1011,
+ "src": "5335:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1021,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1013,
+ "src": "5341:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1022,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1015,
+ "src": "5345:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "hexValue": "",
+ "id": 1023,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5354:2:3",
+ "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": 1019,
+ "name": "safeTransferFrom",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1027,
+ 1057
+ ],
+ "referencedDeclaration": 1057,
+ "src": "5318: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": 1024,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5318:39:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1025,
+ "nodeType": "ExpressionStatement",
+ "src": "5318:39:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1009,
+ "nodeType": "StructuredDocumentation",
+ "src": "5125:55:3",
+ "text": " @dev See {IERC721-safeTransferFrom}."
+ },
+ "functionSelector": "42842e0e",
+ "id": 1027,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "safeTransferFrom",
+ "nameLocation": "5194:16:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 1017,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "5299:8:3"
+ },
+ "parameters": {
+ "id": 1016,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1011,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "5228:4:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1027,
+ "src": "5220:12:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1010,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5220:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1013,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "5250:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1027,
+ "src": "5242:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1012,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5242:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1015,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "5270:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1027,
+ "src": "5262:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1014,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5262:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5210:73:3"
+ },
+ "returnParameters": {
+ "id": 1018,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "5308:0:3"
+ },
+ "scope": 1464,
+ "src": "5185:179:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1579
+ ],
+ "body": {
+ "id": 1056,
+ "nodeType": "Block",
+ "src": "5581:169:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 1042,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "5618:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 1043,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5618:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1044,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1034,
+ "src": "5632:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 1041,
+ "name": "_isApprovedOrOwner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1145,
+ "src": "5599:18:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (address,uint256) view returns (bool)"
+ }
+ },
+ "id": 1045,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5599:41:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564",
+ "id": 1046,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5642:51:3",
+ "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": 1040,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "5591:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1047,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5591:103:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1048,
+ "nodeType": "ExpressionStatement",
+ "src": "5591:103:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1050,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1030,
+ "src": "5718:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1051,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1032,
+ "src": "5724:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1052,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1034,
+ "src": "5728:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "id": 1053,
+ "name": "_data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1036,
+ "src": "5737: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": 1049,
+ "name": "_safeTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1086,
+ "src": "5704: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": 1054,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5704:39:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1055,
+ "nodeType": "ExpressionStatement",
+ "src": "5704:39:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1028,
+ "nodeType": "StructuredDocumentation",
+ "src": "5370:55:3",
+ "text": " @dev See {IERC721-safeTransferFrom}."
+ },
+ "functionSelector": "b88d4fde",
+ "id": 1057,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "safeTransferFrom",
+ "nameLocation": "5439:16:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 1038,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "5572:8:3"
+ },
+ "parameters": {
+ "id": 1037,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1030,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "5473:4:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1057,
+ "src": "5465:12:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1029,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5465:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1032,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "5495:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1057,
+ "src": "5487:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1031,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5487:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1034,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "5515:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1057,
+ "src": "5507:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1033,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5507:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1036,
+ "mutability": "mutable",
+ "name": "_data",
+ "nameLocation": "5545:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1057,
+ "src": "5532:18:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1035,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "5532:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5455:101:3"
+ },
+ "returnParameters": {
+ "id": 1039,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "5581:0:3"
+ },
+ "scope": 1464,
+ "src": "5430:320:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 1085,
+ "nodeType": "Block",
+ "src": "6753:166:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1070,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1060,
+ "src": "6773:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1071,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1062,
+ "src": "6779:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1072,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1064,
+ "src": "6783: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": 1069,
+ "name": "_transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1366,
+ "src": "6763:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1073,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6763:28:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1074,
+ "nodeType": "ExpressionStatement",
+ "src": "6763:28:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 1077,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1060,
+ "src": "6832:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1078,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1062,
+ "src": "6838:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1079,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1064,
+ "src": "6842:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "id": 1080,
+ "name": "_data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1066,
+ "src": "6851: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": 1076,
+ "name": "_checkOnERC721Received",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1452,
+ "src": "6809: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": 1081,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6809:48:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572",
+ "id": 1082,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "6859:52:3",
+ "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": 1075,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "6801:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1083,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6801:111:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1084,
+ "nodeType": "ExpressionStatement",
+ "src": "6801:111:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1058,
+ "nodeType": "StructuredDocumentation",
+ "src": "5756:851:3",
+ "text": " @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 `_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.\n implement 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": 1086,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_safeTransfer",
+ "nameLocation": "6621:13:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1067,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1060,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "6652:4:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1086,
+ "src": "6644:12:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1059,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "6644:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1062,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "6674:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1086,
+ "src": "6666:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1061,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "6666:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1064,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "6694:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1086,
+ "src": "6686:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1063,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "6686:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1066,
+ "mutability": "mutable",
+ "name": "_data",
+ "nameLocation": "6724:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1086,
+ "src": "6711:18:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1065,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "6711:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "6634:101:3"
+ },
+ "returnParameters": {
+ "id": 1068,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "6753:0:3"
+ },
+ "scope": 1464,
+ "src": "6612:307:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1103,
+ "nodeType": "Block",
+ "src": "7293:54:3",
+ "statements": [
+ {
+ "expression": {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 1101,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "baseExpression": {
+ "id": 1094,
+ "name": "_owners",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 680,
+ "src": "7310:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 1096,
+ "indexExpression": {
+ "id": 1095,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1089,
+ "src": "7318:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "7310:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1099,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7338:1:3",
+ "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": 1098,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "7330:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1097,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "7330:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1100,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7330:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "7310:30:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 1093,
+ "id": 1102,
+ "nodeType": "Return",
+ "src": "7303:37:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1087,
+ "nodeType": "StructuredDocumentation",
+ "src": "6925: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`),\n and stop existing when they are burned (`_burn`)."
+ },
+ "id": 1104,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_exists",
+ "nameLocation": "7231:7:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1090,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1089,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "7247:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1104,
+ "src": "7239:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1088,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "7239:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "7238:17:3"
+ },
+ "returnParameters": {
+ "id": 1093,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1092,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1104,
+ "src": "7287:4:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1091,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "7287:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "7286:6:3"
+ },
+ "scope": 1464,
+ "src": "7222:125:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1144,
+ "nodeType": "Block",
+ "src": "7604:245:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 1116,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1109,
+ "src": "7630:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 1115,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "7622:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 1117,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7622:16:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 1118,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7640:46:3",
+ "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": 1114,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "7614:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1119,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7614:73:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1120,
+ "nodeType": "ExpressionStatement",
+ "src": "7614:73:3"
+ },
+ {
+ "assignments": [
+ 1122
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1122,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "7705:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1144,
+ "src": "7697:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1121,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "7697:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 1127,
+ "initialValue": {
+ "arguments": [
+ {
+ "id": 1125,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1109,
+ "src": "7728:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 1123,
+ "name": "ERC721",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1464,
+ "src": "7713:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC721_$1464_$",
+ "typeString": "type(contract ERC721)"
+ }
+ },
+ "id": 1124,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "ownerOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 794,
+ "src": "7713:14:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
+ "typeString": "function (uint256) view returns (address)"
+ }
+ },
+ "id": 1126,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7713:23:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "7697:39:3"
+ },
+ {
+ "expression": {
+ "components": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "id": 1141,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "id": 1136,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 1130,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 1128,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1107,
+ "src": "7754:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "id": 1129,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1122,
+ "src": "7765:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "7754:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "||",
+ "rightExpression": {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 1135,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "arguments": [
+ {
+ "id": 1132,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1109,
+ "src": "7786:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 1131,
+ "name": "getApproved",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 929,
+ "src": "7774:11:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
+ "typeString": "function (uint256) view returns (address)"
+ }
+ },
+ "id": 1133,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7774:20:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "id": 1134,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1107,
+ "src": "7798:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "7774:31:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "src": "7754:51:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "||",
+ "rightExpression": {
+ "arguments": [
+ {
+ "id": 1138,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1122,
+ "src": "7826:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1139,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1107,
+ "src": "7833:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 1137,
+ "name": "isApprovedForAll",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 981,
+ "src": "7809:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$",
+ "typeString": "function (address,address) view returns (bool)"
+ }
+ },
+ "id": 1140,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7809:32:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "src": "7754:87:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ }
+ ],
+ "id": 1142,
+ "isConstant": false,
+ "isInlineArray": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "TupleExpression",
+ "src": "7753:89:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 1113,
+ "id": 1143,
+ "nodeType": "Return",
+ "src": "7746:96:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1105,
+ "nodeType": "StructuredDocumentation",
+ "src": "7353:147:3",
+ "text": " @dev Returns whether `spender` is allowed to manage `tokenId`.\n Requirements:\n - `tokenId` must exist."
+ },
+ "id": 1145,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_isApprovedOrOwner",
+ "nameLocation": "7514:18:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1110,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1107,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "7541:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1145,
+ "src": "7533:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1106,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "7533:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1109,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "7558:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1145,
+ "src": "7550:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1108,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "7550:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "7532:34:3"
+ },
+ "returnParameters": {
+ "id": 1113,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1112,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1145,
+ "src": "7598:4:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1111,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "7598:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "7597:6:3"
+ },
+ "scope": 1464,
+ "src": "7505:344:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1159,
+ "nodeType": "Block",
+ "src": "8244:43:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1154,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1148,
+ "src": "8264:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1155,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1150,
+ "src": "8268:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "hexValue": "",
+ "id": 1156,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8277:2:3",
+ "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": 1153,
+ "name": "_safeMint",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1160,
+ 1189
+ ],
+ "referencedDeclaration": 1189,
+ "src": "8254:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$",
+ "typeString": "function (address,uint256,bytes memory)"
+ }
+ },
+ "id": 1157,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8254:26:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1158,
+ "nodeType": "ExpressionStatement",
+ "src": "8254:26:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1146,
+ "nodeType": "StructuredDocumentation",
+ "src": "7855:319:3",
+ "text": " @dev Safely mints `tokenId` and transfers it to `to`.\n Requirements:\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": 1160,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_safeMint",
+ "nameLocation": "8188:9:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1151,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1148,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "8206:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1160,
+ "src": "8198:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1147,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8198:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1150,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "8218:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1160,
+ "src": "8210:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1149,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "8210:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "8197:29:3"
+ },
+ "returnParameters": {
+ "id": 1152,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "8244:0:3"
+ },
+ "scope": 1464,
+ "src": "8179:108:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1188,
+ "nodeType": "Block",
+ "src": "8623:196:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1171,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1163,
+ "src": "8639:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1172,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1165,
+ "src": "8643:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 1170,
+ "name": "_mint",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1246,
+ "src": "8633:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,uint256)"
+ }
+ },
+ "id": 1173,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8633:18:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1174,
+ "nodeType": "ExpressionStatement",
+ "src": "8633:18:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1179,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8713:1:3",
+ "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": 1178,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "8705:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1177,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8705:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1180,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8705:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1181,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1163,
+ "src": "8717:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1182,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1165,
+ "src": "8721:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "id": 1183,
+ "name": "_data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1167,
+ "src": "8730: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": 1176,
+ "name": "_checkOnERC721Received",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1452,
+ "src": "8682: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": 1184,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8682:54:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572",
+ "id": 1185,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8750:52:3",
+ "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": 1175,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "8661:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1186,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8661:151:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1187,
+ "nodeType": "ExpressionStatement",
+ "src": "8661:151:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1161,
+ "nodeType": "StructuredDocumentation",
+ "src": "8293:210:3",
+ "text": " @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients."
+ },
+ "id": 1189,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_safeMint",
+ "nameLocation": "8517:9:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1168,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1163,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "8544:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1189,
+ "src": "8536:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1162,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8536:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1165,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "8564:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1189,
+ "src": "8556:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1164,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "8556:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1167,
+ "mutability": "mutable",
+ "name": "_data",
+ "nameLocation": "8594:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1189,
+ "src": "8581:18:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1166,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "8581:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "8526:79:3"
+ },
+ "returnParameters": {
+ "id": 1169,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "8623:0:3"
+ },
+ "scope": 1464,
+ "src": "8508:311:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1245,
+ "nodeType": "Block",
+ "src": "9202:311:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 1203,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 1198,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1192,
+ "src": "9220:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1201,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9234:1:3",
+ "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": 1200,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9226:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1199,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9226:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1202,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9226:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "9220:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373",
+ "id": 1204,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9238:34:3",
+ "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": 1197,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "9212:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1205,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9212:61:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1206,
+ "nodeType": "ExpressionStatement",
+ "src": "9212:61:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1211,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "!",
+ "prefix": true,
+ "src": "9291:17:3",
+ "subExpression": {
+ "arguments": [
+ {
+ "id": 1209,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1194,
+ "src": "9300:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 1208,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "9292:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 1210,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9292:16:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564",
+ "id": 1212,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9310:30:3",
+ "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": 1207,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "9283:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1213,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9283:58:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1214,
+ "nodeType": "ExpressionStatement",
+ "src": "9283:58:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1218,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9381:1:3",
+ "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": 1217,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9373:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1216,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9373:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1219,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9373:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1220,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1192,
+ "src": "9385:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1221,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1194,
+ "src": "9389: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": 1215,
+ "name": "_beforeTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1463,
+ "src": "9352:20:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1222,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9352:45:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1223,
+ "nodeType": "ExpressionStatement",
+ "src": "9352:45:3"
+ },
+ {
+ "expression": {
+ "id": 1228,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 1224,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 684,
+ "src": "9408:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 1226,
+ "indexExpression": {
+ "id": 1225,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1192,
+ "src": "9418:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "9408:13:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "+=",
+ "rightHandSide": {
+ "hexValue": "31",
+ "id": 1227,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9425:1:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "9408:18:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 1229,
+ "nodeType": "ExpressionStatement",
+ "src": "9408:18:3"
+ },
+ {
+ "expression": {
+ "id": 1234,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 1230,
+ "name": "_owners",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 680,
+ "src": "9436:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 1232,
+ "indexExpression": {
+ "id": 1231,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1194,
+ "src": "9444:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "9436:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 1233,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1192,
+ "src": "9455:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "9436:21:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1235,
+ "nodeType": "ExpressionStatement",
+ "src": "9436:21:3"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1239,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9490:1:3",
+ "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": 1238,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9482:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1237,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9482:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1240,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9482:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1241,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1192,
+ "src": "9494:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1242,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1194,
+ "src": "9498: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": 1236,
+ "name": "Transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1479,
+ "src": "9473:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1243,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9473:33:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1244,
+ "nodeType": "EmitStatement",
+ "src": "9468:38:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1190,
+ "nodeType": "StructuredDocumentation",
+ "src": "8825: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": 1246,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_mint",
+ "nameLocation": "9150:5:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1195,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1192,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "9164:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1246,
+ "src": "9156:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1191,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9156:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1194,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "9176:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1246,
+ "src": "9168:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1193,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "9168:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "9155:29:3"
+ },
+ "returnParameters": {
+ "id": 1196,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "9202:0:3"
+ },
+ "scope": 1464,
+ "src": "9141:372:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1296,
+ "nodeType": "Block",
+ "src": "9779:299:3",
+ "statements": [
+ {
+ "assignments": [
+ 1253
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1253,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "9797:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1296,
+ "src": "9789:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1252,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9789:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 1258,
+ "initialValue": {
+ "arguments": [
+ {
+ "id": 1256,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1249,
+ "src": "9820:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 1254,
+ "name": "ERC721",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1464,
+ "src": "9805:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC721_$1464_$",
+ "typeString": "type(contract ERC721)"
+ }
+ },
+ "id": 1255,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "ownerOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 794,
+ "src": "9805:14:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
+ "typeString": "function (uint256) view returns (address)"
+ }
+ },
+ "id": 1257,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9805:23:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "9789:39:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1260,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1253,
+ "src": "9860:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1263,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9875:1:3",
+ "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": 1262,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9867:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1261,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9867:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1264,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9867:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1265,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1249,
+ "src": "9879: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": 1259,
+ "name": "_beforeTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1463,
+ "src": "9839:20:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1266,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9839:48:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1267,
+ "nodeType": "ExpressionStatement",
+ "src": "9839:48:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1271,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9942:1:3",
+ "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": 1270,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9934:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1269,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9934:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1272,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9934:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1273,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1249,
+ "src": "9946:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 1268,
+ "name": "_approve",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1390,
+ "src": "9925:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,uint256)"
+ }
+ },
+ "id": 1274,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9925:29:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1275,
+ "nodeType": "ExpressionStatement",
+ "src": "9925:29:3"
+ },
+ {
+ "expression": {
+ "id": 1280,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 1276,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 684,
+ "src": "9965:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 1278,
+ "indexExpression": {
+ "id": 1277,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1253,
+ "src": "9975:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "9965:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "-=",
+ "rightHandSide": {
+ "hexValue": "31",
+ "id": 1279,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9985:1:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "9965:21:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 1281,
+ "nodeType": "ExpressionStatement",
+ "src": "9965:21:3"
+ },
+ {
+ "expression": {
+ "id": 1285,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "delete",
+ "prefix": true,
+ "src": "9996:23:3",
+ "subExpression": {
+ "baseExpression": {
+ "id": 1282,
+ "name": "_owners",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 680,
+ "src": "10003:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 1284,
+ "indexExpression": {
+ "id": 1283,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1249,
+ "src": "10011:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "10003:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1286,
+ "nodeType": "ExpressionStatement",
+ "src": "9996:23:3"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "id": 1288,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1253,
+ "src": "10044:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1291,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10059:1:3",
+ "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": 1290,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "10051:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1289,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10051:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1292,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10051:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1293,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1249,
+ "src": "10063: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": 1287,
+ "name": "Transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1479,
+ "src": "10035:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1294,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10035:36:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1295,
+ "nodeType": "EmitStatement",
+ "src": "10030:41:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1247,
+ "nodeType": "StructuredDocumentation",
+ "src": "9519:206:3",
+ "text": " @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event."
+ },
+ "id": 1297,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_burn",
+ "nameLocation": "9739:5:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1250,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1249,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "9753:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1297,
+ "src": "9745:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1248,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "9745:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "9744:17:3"
+ },
+ "returnParameters": {
+ "id": 1251,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "9779:0:3"
+ },
+ "scope": 1464,
+ "src": "9730:348:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1365,
+ "nodeType": "Block",
+ "src": "10511:451:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 1313,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "arguments": [
+ {
+ "id": 1310,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1304,
+ "src": "10544:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 1308,
+ "name": "ERC721",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1464,
+ "src": "10529:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC721_$1464_$",
+ "typeString": "type(contract ERC721)"
+ }
+ },
+ "id": 1309,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "ownerOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 794,
+ "src": "10529:14:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
+ "typeString": "function (uint256) view returns (address)"
+ }
+ },
+ "id": 1311,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10529:23:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "id": 1312,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1300,
+ "src": "10556:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "10529:31:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e",
+ "id": 1314,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10562:43:3",
+ "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": 1307,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "10521:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1315,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10521:85:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1316,
+ "nodeType": "ExpressionStatement",
+ "src": "10521:85:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 1323,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 1318,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1302,
+ "src": "10624:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1321,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10638:1:3",
+ "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": 1320,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "10630:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1319,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10630:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1322,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10630:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "10624:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373",
+ "id": 1324,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10642:38:3",
+ "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": 1317,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "10616:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1325,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10616:65:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1326,
+ "nodeType": "ExpressionStatement",
+ "src": "10616:65:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1328,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1300,
+ "src": "10713:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1329,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1302,
+ "src": "10719:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1330,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1304,
+ "src": "10723: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": 1327,
+ "name": "_beforeTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1463,
+ "src": "10692:20:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1331,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10692:39:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1332,
+ "nodeType": "ExpressionStatement",
+ "src": "10692:39:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1336,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10810:1:3",
+ "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": 1335,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "10802:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1334,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10802:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1337,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10802:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1338,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1304,
+ "src": "10814:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 1333,
+ "name": "_approve",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1390,
+ "src": "10793:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,uint256)"
+ }
+ },
+ "id": 1339,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10793:29:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1340,
+ "nodeType": "ExpressionStatement",
+ "src": "10793:29:3"
+ },
+ {
+ "expression": {
+ "id": 1345,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 1341,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 684,
+ "src": "10833:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 1343,
+ "indexExpression": {
+ "id": 1342,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1300,
+ "src": "10843:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "10833:15:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "-=",
+ "rightHandSide": {
+ "hexValue": "31",
+ "id": 1344,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10852:1:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "10833:20:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 1346,
+ "nodeType": "ExpressionStatement",
+ "src": "10833:20:3"
+ },
+ {
+ "expression": {
+ "id": 1351,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 1347,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 684,
+ "src": "10863:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 1349,
+ "indexExpression": {
+ "id": 1348,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1302,
+ "src": "10873:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "10863:13:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "+=",
+ "rightHandSide": {
+ "hexValue": "31",
+ "id": 1350,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10880:1:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "10863:18:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 1352,
+ "nodeType": "ExpressionStatement",
+ "src": "10863:18:3"
+ },
+ {
+ "expression": {
+ "id": 1357,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 1353,
+ "name": "_owners",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 680,
+ "src": "10891:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 1355,
+ "indexExpression": {
+ "id": 1354,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1304,
+ "src": "10899:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "10891:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 1356,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1302,
+ "src": "10910:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "10891:21:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1358,
+ "nodeType": "ExpressionStatement",
+ "src": "10891:21:3"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "id": 1360,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1300,
+ "src": "10937:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1361,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1302,
+ "src": "10943:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1362,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1304,
+ "src": "10947: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": 1359,
+ "name": "Transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1479,
+ "src": "10928:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1363,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10928:27:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1364,
+ "nodeType": "EmitStatement",
+ "src": "10923:32:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1298,
+ "nodeType": "StructuredDocumentation",
+ "src": "10084: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": 1366,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_transfer",
+ "nameLocation": "10411:9:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1305,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1300,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "10438:4:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1366,
+ "src": "10430:12:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1299,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10430:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1302,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "10460:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1366,
+ "src": "10452:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1301,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10452:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1304,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "10480:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1366,
+ "src": "10472:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1303,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "10472:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "10420:73:3"
+ },
+ "returnParameters": {
+ "id": 1306,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "10511:0:3"
+ },
+ "scope": 1464,
+ "src": "10402:560:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1389,
+ "nodeType": "Block",
+ "src": "11137:107:3",
+ "statements": [
+ {
+ "expression": {
+ "id": 1378,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 1374,
+ "name": "_tokenApprovals",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 688,
+ "src": "11147:15:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 1376,
+ "indexExpression": {
+ "id": 1375,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1371,
+ "src": "11163:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "11147:24:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 1377,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1369,
+ "src": "11174:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "11147:29:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1379,
+ "nodeType": "ExpressionStatement",
+ "src": "11147:29:3"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 1383,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1371,
+ "src": "11215:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 1381,
+ "name": "ERC721",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1464,
+ "src": "11200:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC721_$1464_$",
+ "typeString": "type(contract ERC721)"
+ }
+ },
+ "id": 1382,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "ownerOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 794,
+ "src": "11200:14:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
+ "typeString": "function (uint256) view returns (address)"
+ }
+ },
+ "id": 1384,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "11200:23:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1385,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1369,
+ "src": "11225:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1386,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1371,
+ "src": "11229: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": 1380,
+ "name": "Approval",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1488,
+ "src": "11191:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1387,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "11191:46:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1388,
+ "nodeType": "EmitStatement",
+ "src": "11186:51:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1367,
+ "nodeType": "StructuredDocumentation",
+ "src": "10968:100:3",
+ "text": " @dev Approve `to` to operate on `tokenId`\n Emits a {Approval} event."
+ },
+ "id": 1390,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_approve",
+ "nameLocation": "11082:8:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1372,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1369,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "11099:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1390,
+ "src": "11091:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1368,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "11091:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1371,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "11111:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1390,
+ "src": "11103:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1370,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "11103:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "11090:29:3"
+ },
+ "returnParameters": {
+ "id": 1373,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "11137:0:3"
+ },
+ "scope": 1464,
+ "src": "11073:171:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1451,
+ "nodeType": "Block",
+ "src": "11953:622:3",
+ "statements": [
+ {
+ "condition": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 1404,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1395,
+ "src": "11967:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1405,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "isContract",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1645,
+ "src": "11967:13:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$",
+ "typeString": "function (address) view returns (bool)"
+ }
+ },
+ "id": 1406,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "11967:15:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "falseBody": {
+ "id": 1449,
+ "nodeType": "Block",
+ "src": "12533:36:3",
+ "statements": [
+ {
+ "expression": {
+ "hexValue": "74727565",
+ "id": 1447,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "bool",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "12554:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "value": "true"
+ },
+ "functionReturnParameters": 1403,
+ "id": 1448,
+ "nodeType": "Return",
+ "src": "12547:11:3"
+ }
+ ]
+ },
+ "id": 1450,
+ "nodeType": "IfStatement",
+ "src": "11963:606:3",
+ "trueBody": {
+ "id": 1446,
+ "nodeType": "Block",
+ "src": "11984:543:3",
+ "statements": [
+ {
+ "clauses": [
+ {
+ "block": {
+ "id": 1426,
+ "nodeType": "Block",
+ "src": "12099:91:3",
+ "statements": [
+ {
+ "expression": {
+ "commonType": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "id": 1424,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 1420,
+ "name": "retval",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1418,
+ "src": "12124:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "expression": {
+ "expression": {
+ "id": 1421,
+ "name": "IERC721Receiver",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1598,
+ "src": "12134:15:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1598_$",
+ "typeString": "type(contract IERC721Receiver)"
+ }
+ },
+ "id": 1422,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "memberName": "onERC721Received",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1597,
+ "src": "12134:32:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$",
+ "typeString": "function IERC721Receiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"
+ }
+ },
+ "id": 1423,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "memberName": "selector",
+ "nodeType": "MemberAccess",
+ "src": "12134:41:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "src": "12124:51:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 1403,
+ "id": 1425,
+ "nodeType": "Return",
+ "src": "12117:58:3"
+ }
+ ]
+ },
+ "errorName": "",
+ "id": 1427,
+ "nodeType": "TryCatchClause",
+ "parameters": {
+ "id": 1419,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1418,
+ "mutability": "mutable",
+ "name": "retval",
+ "nameLocation": "12091:6:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1427,
+ "src": "12084:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "typeName": {
+ "id": 1417,
+ "name": "bytes4",
+ "nodeType": "ElementaryTypeName",
+ "src": "12084:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "12083:15:3"
+ },
+ "src": "12075:115:3"
+ },
+ {
+ "block": {
+ "id": 1443,
+ "nodeType": "Block",
+ "src": "12219:298:3",
+ "statements": [
+ {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 1434,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "expression": {
+ "id": 1431,
+ "name": "reason",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1429,
+ "src": "12241:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "id": 1432,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "src": "12241:13:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 1433,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "12258:1:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "12241:18:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "falseBody": {
+ "id": 1441,
+ "nodeType": "Block",
+ "src": "12368:135:3",
+ "statements": [
+ {
+ "AST": {
+ "nodeType": "YulBlock",
+ "src": "12399:86:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12436:2:3",
+ "type": "",
+ "value": "32"
+ },
+ {
+ "name": "reason",
+ "nodeType": "YulIdentifier",
+ "src": "12440:6:3"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12432:3:3"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12432:15:3"
+ },
+ {
+ "arguments": [
+ {
+ "name": "reason",
+ "nodeType": "YulIdentifier",
+ "src": "12455:6:3"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "12449:5:3"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12449:13:3"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "12425:6:3"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12425:38:3"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "12425:38:3"
+ }
+ ]
+ },
+ "evmVersion": "london",
+ "externalReferences": [
+ {
+ "declaration": 1429,
+ "isOffset": false,
+ "isSlot": false,
+ "src": "12440:6:3",
+ "valueSize": 1
+ },
+ {
+ "declaration": 1429,
+ "isOffset": false,
+ "isSlot": false,
+ "src": "12455:6:3",
+ "valueSize": 1
+ }
+ ],
+ "id": 1440,
+ "nodeType": "InlineAssembly",
+ "src": "12390:95:3"
+ }
+ ]
+ },
+ "id": 1442,
+ "nodeType": "IfStatement",
+ "src": "12237:266:3",
+ "trueBody": {
+ "id": 1439,
+ "nodeType": "Block",
+ "src": "12261:101:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572",
+ "id": 1436,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "12290:52:3",
+ "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_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
+ "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\""
+ }
+ ],
+ "id": 1435,
+ "name": "revert",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967277,
+ 4294967277
+ ],
+ "referencedDeclaration": 4294967277,
+ "src": "12283:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (string memory) pure"
+ }
+ },
+ "id": 1437,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "12283:60:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1438,
+ "nodeType": "ExpressionStatement",
+ "src": "12283:60:3"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "errorName": "",
+ "id": 1444,
+ "nodeType": "TryCatchClause",
+ "parameters": {
+ "id": 1430,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1429,
+ "mutability": "mutable",
+ "name": "reason",
+ "nameLocation": "12211:6:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1444,
+ "src": "12198:19:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1428,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "12198:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "12197:21:3"
+ },
+ "src": "12191:326:3"
+ }
+ ],
+ "externalCall": {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 1411,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "12039:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 1412,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "12039:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1413,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1393,
+ "src": "12053:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1414,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1397,
+ "src": "12059:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "id": 1415,
+ "name": "_data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1399,
+ "src": "12068: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"
+ }
+ ],
+ "expression": {
+ "arguments": [
+ {
+ "id": 1408,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1395,
+ "src": "12018:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 1407,
+ "name": "IERC721Receiver",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1598,
+ "src": "12002:15:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1598_$",
+ "typeString": "type(contract IERC721Receiver)"
+ }
+ },
+ "id": 1409,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "12002:19:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_IERC721Receiver_$1598",
+ "typeString": "contract IERC721Receiver"
+ }
+ },
+ "id": 1410,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "onERC721Received",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1597,
+ "src": "12002: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": 1416,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "12002:72:3",
+ "tryCall": true,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "id": 1445,
+ "nodeType": "TryStatement",
+ "src": "11998:519:3"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1391,
+ "nodeType": "StructuredDocumentation",
+ "src": "11250:542:3",
+ "text": " @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 @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": 1452,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_checkOnERC721Received",
+ "nameLocation": "11806:22:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1400,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1393,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "11846:4:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1452,
+ "src": "11838:12:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1392,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "11838:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1395,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "11868:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1452,
+ "src": "11860:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1394,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "11860:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1397,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "11888:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1452,
+ "src": "11880:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1396,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "11880:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1399,
+ "mutability": "mutable",
+ "name": "_data",
+ "nameLocation": "11918:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1452,
+ "src": "11905:18:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1398,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "11905:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "11828:101:3"
+ },
+ "returnParameters": {
+ "id": 1403,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1402,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1452,
+ "src": "11947:4:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1401,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "11947:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "11946:6:3"
+ },
+ "scope": 1464,
+ "src": "11797:778:3",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "private"
+ },
+ {
+ "body": {
+ "id": 1462,
+ "nodeType": "Block",
+ "src": "13251:2:3",
+ "statements": []
+ },
+ "documentation": {
+ "id": 1453,
+ "nodeType": "StructuredDocumentation",
+ "src": "12581:545:3",
+ "text": " @dev Hook that is called before any token transfer. This includes minting\n and burning.\n Calling conditions:\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` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."
+ },
+ "id": 1463,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_beforeTokenTransfer",
+ "nameLocation": "13140:20:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1460,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1455,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "13178:4:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1463,
+ "src": "13170:12:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1454,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "13170:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1457,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "13200:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1463,
+ "src": "13192:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1456,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "13192:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1459,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "13220:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1463,
+ "src": "13212:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1458,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "13212:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "13160:73:3"
+ },
+ "returnParameters": {
+ "id": 1461,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "13251:0:3"
+ },
+ "scope": 1464,
+ "src": "13131:122:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ }
+ ],
+ "scope": 1465,
+ "src": "554:12701:3",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:13223:3"
+ },
+ "legacyAST": {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol",
+ "exportedSymbols": {
+ "Address": [
+ 1922
+ ],
+ "Context": [
+ 1944
+ ],
+ "ERC165": [
+ 2245
+ ],
+ "ERC721": [
+ 1464
+ ],
+ "IERC165": [
+ 2257
+ ],
+ "IERC721": [
+ 1580
+ ],
+ "IERC721Metadata": [
+ 1625
+ ],
+ "IERC721Receiver": [
+ 1598
+ ],
+ "Strings": [
+ 2221
+ ]
+ },
+ "id": 1465,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 650,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:3"
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
+ "file": "./IERC721.sol",
+ "id": 651,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1465,
+ "sourceUnit": 1581,
+ "src": "58:23:3",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol",
+ "file": "./IERC721Receiver.sol",
+ "id": 652,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1465,
+ "sourceUnit": 1599,
+ "src": "82:31:3",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol",
+ "file": "./extensions/IERC721Metadata.sol",
+ "id": 653,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1465,
+ "sourceUnit": 1626,
+ "src": "114:42:3",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/Address.sol",
+ "file": "../../utils/Address.sol",
+ "id": 654,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1465,
+ "sourceUnit": 1923,
+ "src": "157:33:3",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/Context.sol",
+ "file": "../../utils/Context.sol",
+ "id": 655,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1465,
+ "sourceUnit": 1945,
+ "src": "191:33:3",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/Strings.sol",
+ "file": "../../utils/Strings.sol",
+ "id": 656,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1465,
+ "sourceUnit": 2222,
+ "src": "225:33:3",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol",
+ "file": "../../utils/introspection/ERC165.sol",
+ "id": 657,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1465,
+ "sourceUnit": 2246,
+ "src": "259:46:3",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "abstract": false,
+ "baseContracts": [
+ {
+ "baseName": {
+ "id": 659,
+ "name": "Context",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1944,
+ "src": "573:7:3"
+ },
+ "id": 660,
+ "nodeType": "InheritanceSpecifier",
+ "src": "573:7:3"
+ },
+ {
+ "baseName": {
+ "id": 661,
+ "name": "ERC165",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2245,
+ "src": "582:6:3"
+ },
+ "id": 662,
+ "nodeType": "InheritanceSpecifier",
+ "src": "582:6:3"
+ },
+ {
+ "baseName": {
+ "id": 663,
+ "name": "IERC721",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1580,
+ "src": "590:7:3"
+ },
+ "id": 664,
+ "nodeType": "InheritanceSpecifier",
+ "src": "590:7:3"
+ },
+ {
+ "baseName": {
+ "id": 665,
+ "name": "IERC721Metadata",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1625,
+ "src": "599:15:3"
+ },
+ "id": 666,
+ "nodeType": "InheritanceSpecifier",
+ "src": "599:15:3"
+ }
+ ],
+ "canonicalName": "ERC721",
+ "contractDependencies": [],
+ "contractKind": "contract",
+ "documentation": {
+ "id": 658,
+ "nodeType": "StructuredDocumentation",
+ "src": "307:246:3",
+ "text": " @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n the Metadata extension, but not including the Enumerable extension, which is available separately as\n {ERC721Enumerable}."
+ },
+ "fullyImplemented": true,
+ "id": 1464,
+ "linearizedBaseContracts": [
+ 1464,
+ 1625,
+ 1580,
+ 2245,
+ 2257,
+ 1944
+ ],
+ "name": "ERC721",
+ "nameLocation": "563:6:3",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "id": 669,
+ "libraryName": {
+ "id": 667,
+ "name": "Address",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1922,
+ "src": "627:7:3"
+ },
+ "nodeType": "UsingForDirective",
+ "src": "621:26:3",
+ "typeName": {
+ "id": 668,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "639:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ },
+ {
+ "id": 672,
+ "libraryName": {
+ "id": 670,
+ "name": "Strings",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2221,
+ "src": "658:7:3"
+ },
+ "nodeType": "UsingForDirective",
+ "src": "652:26:3",
+ "typeName": {
+ "id": 671,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "670:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ },
+ {
+ "constant": false,
+ "id": 674,
+ "mutability": "mutable",
+ "name": "_name",
+ "nameLocation": "717:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1464,
+ "src": "702:20:3",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 673,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "702:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 676,
+ "mutability": "mutable",
+ "name": "_symbol",
+ "nameLocation": "764:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1464,
+ "src": "749:22:3",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 675,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "749:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 680,
+ "mutability": "mutable",
+ "name": "_owners",
+ "nameLocation": "860:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1464,
+ "src": "824:43:3",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "typeName": {
+ "id": 679,
+ "keyType": {
+ "id": 677,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "832:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "824:27:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "valueType": {
+ "id": 678,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "843:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 684,
+ "mutability": "mutable",
+ "name": "_balances",
+ "nameLocation": "954:9:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1464,
+ "src": "918:45:3",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ },
+ "typeName": {
+ "id": 683,
+ "keyType": {
+ "id": 681,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "926:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "918:27:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ },
+ "valueType": {
+ "id": 682,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "937:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 688,
+ "mutability": "mutable",
+ "name": "_tokenApprovals",
+ "nameLocation": "1055:15:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1464,
+ "src": "1019:51:3",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "typeName": {
+ "id": 687,
+ "keyType": {
+ "id": 685,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1027:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1019:27:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "valueType": {
+ "id": 686,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1038:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 694,
+ "mutability": "mutable",
+ "name": "_operatorApprovals",
+ "nameLocation": "1178:18:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1464,
+ "src": "1125:71: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": 693,
+ "keyType": {
+ "id": 689,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1133:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1125:44:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$",
+ "typeString": "mapping(address => mapping(address => bool))"
+ },
+ "valueType": {
+ "id": 692,
+ "keyType": {
+ "id": 690,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1152:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1144:24:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
+ "typeString": "mapping(address => bool)"
+ },
+ "valueType": {
+ "id": 691,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "1163:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "body": {
+ "id": 710,
+ "nodeType": "Block",
+ "src": "1372:57:3",
+ "statements": [
+ {
+ "expression": {
+ "id": 704,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 702,
+ "name": "_name",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 674,
+ "src": "1382:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 703,
+ "name": "name_",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 697,
+ "src": "1390:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "src": "1382:13:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "id": 705,
+ "nodeType": "ExpressionStatement",
+ "src": "1382:13:3"
+ },
+ {
+ "expression": {
+ "id": 708,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 706,
+ "name": "_symbol",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 676,
+ "src": "1405:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 707,
+ "name": "symbol_",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 699,
+ "src": "1415:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "src": "1405:17:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "id": 709,
+ "nodeType": "ExpressionStatement",
+ "src": "1405:17:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 695,
+ "nodeType": "StructuredDocumentation",
+ "src": "1203:108:3",
+ "text": " @dev Initializes the contract by setting a `name` and a `symbol` to the token collection."
+ },
+ "id": 711,
+ "implemented": true,
+ "kind": "constructor",
+ "modifiers": [],
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 700,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 697,
+ "mutability": "mutable",
+ "name": "name_",
+ "nameLocation": "1342:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 711,
+ "src": "1328:19:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 696,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1328:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 699,
+ "mutability": "mutable",
+ "name": "symbol_",
+ "nameLocation": "1363:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 711,
+ "src": "1349:21:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 698,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1349:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1327:44:3"
+ },
+ "returnParameters": {
+ "id": 701,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1372:0:3"
+ },
+ "scope": 1464,
+ "src": "1316:113:3",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 2244,
+ 2256
+ ],
+ "body": {
+ "id": 741,
+ "nodeType": "Block",
+ "src": "1604:192:3",
+ "statements": [
+ {
+ "expression": {
+ "commonType": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "id": 739,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "id": 734,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "id": 727,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 722,
+ "name": "interfaceId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 714,
+ "src": "1633:11:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "expression": {
+ "arguments": [
+ {
+ "id": 724,
+ "name": "IERC721",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1580,
+ "src": "1653:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_IERC721_$1580_$",
+ "typeString": "type(contract IERC721)"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_type$_t_contract$_IERC721_$1580_$",
+ "typeString": "type(contract IERC721)"
+ }
+ ],
+ "id": 723,
+ "name": "type",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967269,
+ "src": "1648:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
+ "typeString": "function () pure"
+ }
+ },
+ "id": 725,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1648:13:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721_$1580",
+ "typeString": "type(contract IERC721)"
+ }
+ },
+ "id": 726,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "memberName": "interfaceId",
+ "nodeType": "MemberAccess",
+ "src": "1648:25:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "src": "1633:40:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "||",
+ "rightExpression": {
+ "commonType": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "id": 733,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 728,
+ "name": "interfaceId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 714,
+ "src": "1689:11:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "expression": {
+ "arguments": [
+ {
+ "id": 730,
+ "name": "IERC721Metadata",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1625,
+ "src": "1709:15:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1625_$",
+ "typeString": "type(contract IERC721Metadata)"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$1625_$",
+ "typeString": "type(contract IERC721Metadata)"
+ }
+ ],
+ "id": 729,
+ "name": "type",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967269,
+ "src": "1704:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
+ "typeString": "function () pure"
+ }
+ },
+ "id": 731,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1704:21:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$1625",
+ "typeString": "type(contract IERC721Metadata)"
+ }
+ },
+ "id": 732,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "memberName": "interfaceId",
+ "nodeType": "MemberAccess",
+ "src": "1704:33:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "src": "1689:48:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "src": "1633:104:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "||",
+ "rightExpression": {
+ "arguments": [
+ {
+ "id": 737,
+ "name": "interfaceId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 714,
+ "src": "1777:11:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ ],
+ "expression": {
+ "id": 735,
+ "name": "super",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967271,
+ "src": "1753:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_super$_ERC721_$1464_$",
+ "typeString": "type(contract super ERC721)"
+ }
+ },
+ "id": 736,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "supportsInterface",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2244,
+ "src": "1753:23:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$",
+ "typeString": "function (bytes4) view returns (bool)"
+ }
+ },
+ "id": 738,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1753:36:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "src": "1633:156:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 721,
+ "id": 740,
+ "nodeType": "Return",
+ "src": "1614:175:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 712,
+ "nodeType": "StructuredDocumentation",
+ "src": "1435:56:3",
+ "text": " @dev See {IERC165-supportsInterface}."
+ },
+ "functionSelector": "01ffc9a7",
+ "id": 742,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "supportsInterface",
+ "nameLocation": "1505:17:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 718,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [
+ {
+ "id": 716,
+ "name": "ERC165",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2245,
+ "src": "1572:6:3"
+ },
+ {
+ "id": 717,
+ "name": "IERC165",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2257,
+ "src": "1580:7:3"
+ }
+ ],
+ "src": "1563:25:3"
+ },
+ "parameters": {
+ "id": 715,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 714,
+ "mutability": "mutable",
+ "name": "interfaceId",
+ "nameLocation": "1530:11:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 742,
+ "src": "1523:18:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "typeName": {
+ "id": 713,
+ "name": "bytes4",
+ "nodeType": "ElementaryTypeName",
+ "src": "1523:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1522:20:3"
+ },
+ "returnParameters": {
+ "id": 721,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 720,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 742,
+ "src": "1598:4:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 719,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "1598:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1597:6:3"
+ },
+ "scope": 1464,
+ "src": "1496:300:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1505
+ ],
+ "body": {
+ "id": 765,
+ "nodeType": "Block",
+ "src": "1936:124:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 757,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 752,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 745,
+ "src": "1954:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 755,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1971:1:3",
+ "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": "1963:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 753,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1963:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 756,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1963:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "1954:19:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65726f2061646472657373",
+ "id": 758,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1975:44:3",
+ "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": 751,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "1946:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 759,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1946:74:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 760,
+ "nodeType": "ExpressionStatement",
+ "src": "1946:74:3"
+ },
+ {
+ "expression": {
+ "baseExpression": {
+ "id": 761,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 684,
+ "src": "2037:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 763,
+ "indexExpression": {
+ "id": 762,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 745,
+ "src": "2047:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2037:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "functionReturnParameters": 750,
+ "id": 764,
+ "nodeType": "Return",
+ "src": "2030:23:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 743,
+ "nodeType": "StructuredDocumentation",
+ "src": "1802:48:3",
+ "text": " @dev See {IERC721-balanceOf}."
+ },
+ "functionSelector": "70a08231",
+ "id": 766,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "balanceOf",
+ "nameLocation": "1864:9:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 747,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "1909:8:3"
+ },
+ "parameters": {
+ "id": 746,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 745,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "1882:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 766,
+ "src": "1874:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 744,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1874:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1873:15:3"
+ },
+ "returnParameters": {
+ "id": 750,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 749,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 766,
+ "src": "1927:7:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 748,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1927:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1926:9:3"
+ },
+ "scope": 1464,
+ "src": "1855:205:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1513
+ ],
+ "body": {
+ "id": 793,
+ "nodeType": "Block",
+ "src": "2198:154:3",
+ "statements": [
+ {
+ "assignments": [
+ 776
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 776,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "2216:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 793,
+ "src": "2208:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 775,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2208:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 780,
+ "initialValue": {
+ "baseExpression": {
+ "id": 777,
+ "name": "_owners",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 680,
+ "src": "2224:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 779,
+ "indexExpression": {
+ "id": 778,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 769,
+ "src": "2232:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2224:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2208:32:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 787,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 782,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 776,
+ "src": "2258:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 785,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2275:1:3",
+ "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": 784,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "2267:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 783,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2267:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 786,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2267:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "2258:19:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 788,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2279:43:3",
+ "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_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397",
+ "typeString": "literal_string \"ERC721: owner query for nonexistent token\""
+ }
+ ],
+ "id": 781,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "2250:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 789,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2250:73:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 790,
+ "nodeType": "ExpressionStatement",
+ "src": "2250:73:3"
+ },
+ {
+ "expression": {
+ "id": 791,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 776,
+ "src": "2340:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "functionReturnParameters": 774,
+ "id": 792,
+ "nodeType": "Return",
+ "src": "2333:12:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 767,
+ "nodeType": "StructuredDocumentation",
+ "src": "2066:46:3",
+ "text": " @dev See {IERC721-ownerOf}."
+ },
+ "functionSelector": "6352211e",
+ "id": 794,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "ownerOf",
+ "nameLocation": "2126:7:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 771,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "2171:8:3"
+ },
+ "parameters": {
+ "id": 770,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 769,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "2142:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 794,
+ "src": "2134:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 768,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2134:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2133:17:3"
+ },
+ "returnParameters": {
+ "id": 774,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 773,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 794,
+ "src": "2189:7:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 772,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2189:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2188:9:3"
+ },
+ "scope": 1464,
+ "src": "2117:235:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1610
+ ],
+ "body": {
+ "id": 803,
+ "nodeType": "Block",
+ "src": "2483:29:3",
+ "statements": [
+ {
+ "expression": {
+ "id": 801,
+ "name": "_name",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 674,
+ "src": "2500:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "functionReturnParameters": 800,
+ "id": 802,
+ "nodeType": "Return",
+ "src": "2493:12:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 795,
+ "nodeType": "StructuredDocumentation",
+ "src": "2358:51:3",
+ "text": " @dev See {IERC721Metadata-name}."
+ },
+ "functionSelector": "06fdde03",
+ "id": 804,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "name",
+ "nameLocation": "2423:4:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 797,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "2450:8:3"
+ },
+ "parameters": {
+ "id": 796,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2427:2:3"
+ },
+ "returnParameters": {
+ "id": 800,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 799,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 804,
+ "src": "2468:13:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 798,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "2468:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2467:15:3"
+ },
+ "scope": 1464,
+ "src": "2414:98:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1616
+ ],
+ "body": {
+ "id": 813,
+ "nodeType": "Block",
+ "src": "2647:31:3",
+ "statements": [
+ {
+ "expression": {
+ "id": 811,
+ "name": "_symbol",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 676,
+ "src": "2664:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "functionReturnParameters": 810,
+ "id": 812,
+ "nodeType": "Return",
+ "src": "2657:14:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 805,
+ "nodeType": "StructuredDocumentation",
+ "src": "2518:53:3",
+ "text": " @dev See {IERC721Metadata-symbol}."
+ },
+ "functionSelector": "95d89b41",
+ "id": 814,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "symbol",
+ "nameLocation": "2585:6:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 807,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "2614:8:3"
+ },
+ "parameters": {
+ "id": 806,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2591:2:3"
+ },
+ "returnParameters": {
+ "id": 810,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 809,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 814,
+ "src": "2632:13:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 808,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "2632:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2631:15:3"
+ },
+ "scope": 1464,
+ "src": "2576:102:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1624
+ ],
+ "body": {
+ "id": 855,
+ "nodeType": "Block",
+ "src": "2832:241:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 825,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 817,
+ "src": "2858:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 824,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "2850:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 826,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2850:16:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 827,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2868:49:3",
+ "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": 823,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "2842:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 828,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2842:76:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 829,
+ "nodeType": "ExpressionStatement",
+ "src": "2842:76:3"
+ },
+ {
+ "assignments": [
+ 831
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 831,
+ "mutability": "mutable",
+ "name": "baseURI",
+ "nameLocation": "2943:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 855,
+ "src": "2929:21:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 830,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "2929:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 834,
+ "initialValue": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 832,
+ "name": "_baseURI",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 865,
+ "src": "2953:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$",
+ "typeString": "function () view returns (string memory)"
+ }
+ },
+ "id": 833,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2953:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2929:34:3"
+ },
+ {
+ "expression": {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 841,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "expression": {
+ "arguments": [
+ {
+ "id": 837,
+ "name": "baseURI",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 831,
+ "src": "2986:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ ],
+ "id": 836,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "2980:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
+ "typeString": "type(bytes storage pointer)"
+ },
+ "typeName": {
+ "id": 835,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "2980:5:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 838,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2980:14:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "id": 839,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "src": "2980:21:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 840,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3004:1:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "2980:25:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "falseExpression": {
+ "hexValue": "",
+ "id": 852,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3064:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
+ "typeString": "literal_string \"\""
+ },
+ "value": ""
+ },
+ "id": 853,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "Conditional",
+ "src": "2980:86:3",
+ "trueExpression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 846,
+ "name": "baseURI",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 831,
+ "src": "3032:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 847,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 817,
+ "src": "3041:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 848,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "toString",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2103,
+ "src": "3041: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": 849,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3041: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": {
+ "id": 844,
+ "name": "abi",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967295,
+ "src": "3015:3:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_abi",
+ "typeString": "abi"
+ }
+ },
+ "id": 845,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "memberName": "encodePacked",
+ "nodeType": "MemberAccess",
+ "src": "3015:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
+ "typeString": "function () pure returns (bytes memory)"
+ }
+ },
+ "id": 850,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3015:45:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ ],
+ "id": 843,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "3008:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_string_storage_ptr_$",
+ "typeString": "type(string storage pointer)"
+ },
+ "typeName": {
+ "id": 842,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "3008:6:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 851,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3008:53:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "functionReturnParameters": 822,
+ "id": 854,
+ "nodeType": "Return",
+ "src": "2973:93:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 815,
+ "nodeType": "StructuredDocumentation",
+ "src": "2684:55:3",
+ "text": " @dev See {IERC721Metadata-tokenURI}."
+ },
+ "functionSelector": "c87b56dd",
+ "id": 856,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "tokenURI",
+ "nameLocation": "2753:8:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 819,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "2799:8:3"
+ },
+ "parameters": {
+ "id": 818,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 817,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "2770:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 856,
+ "src": "2762:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 816,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2762:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2761:17:3"
+ },
+ "returnParameters": {
+ "id": 822,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 821,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 856,
+ "src": "2817:13:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 820,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "2817:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2816:15:3"
+ },
+ "scope": 1464,
+ "src": "2744:329:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 864,
+ "nodeType": "Block",
+ "src": "3380:26:3",
+ "statements": [
+ {
+ "expression": {
+ "hexValue": "",
+ "id": 862,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3397:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
+ "typeString": "literal_string \"\""
+ },
+ "value": ""
+ },
+ "functionReturnParameters": 861,
+ "id": 863,
+ "nodeType": "Return",
+ "src": "3390:9:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 857,
+ "nodeType": "StructuredDocumentation",
+ "src": "3079:230:3",
+ "text": " @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n by default, can be overriden in child contracts."
+ },
+ "id": 865,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_baseURI",
+ "nameLocation": "3323:8:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 858,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3331:2:3"
+ },
+ "returnParameters": {
+ "id": 861,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 860,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 865,
+ "src": "3365:13:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 859,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "3365:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3364:15:3"
+ },
+ "scope": 1464,
+ "src": "3314:92:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "baseFunctions": [
+ 1541
+ ],
+ "body": {
+ "id": 907,
+ "nodeType": "Block",
+ "src": "3533:331:3",
+ "statements": [
+ {
+ "assignments": [
+ 875
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 875,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "3551:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 907,
+ "src": "3543:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 874,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3543:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 880,
+ "initialValue": {
+ "arguments": [
+ {
+ "id": 878,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 870,
+ "src": "3574:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 876,
+ "name": "ERC721",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1464,
+ "src": "3559:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC721_$1464_$",
+ "typeString": "type(contract ERC721)"
+ }
+ },
+ "id": 877,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "ownerOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 794,
+ "src": "3559:14:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
+ "typeString": "function (uint256) view returns (address)"
+ }
+ },
+ "id": 879,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3559:23:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "3543:39:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 884,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 882,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 868,
+ "src": "3600:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "id": 883,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 875,
+ "src": "3606:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "3600:11:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572",
+ "id": 885,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3613:35:3",
+ "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": 881,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "3592:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 886,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3592:57:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 887,
+ "nodeType": "ExpressionStatement",
+ "src": "3592:57:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "id": 898,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 892,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 889,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "3681:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 890,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3681:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "id": 891,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 875,
+ "src": "3697:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "3681:21:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "||",
+ "rightExpression": {
+ "arguments": [
+ {
+ "id": 894,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 875,
+ "src": "3723:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 895,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "3730:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 896,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3730:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 893,
+ "name": "isApprovedForAll",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 981,
+ "src": "3706:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$",
+ "typeString": "function (address,address) view returns (bool)"
+ }
+ },
+ "id": 897,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3706:37:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "src": "3681:62:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c",
+ "id": 899,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3757:58:3",
+ "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": 888,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "3660:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 900,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3660:165:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 901,
+ "nodeType": "ExpressionStatement",
+ "src": "3660:165:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 903,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 868,
+ "src": "3845:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 904,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 870,
+ "src": "3849:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 902,
+ "name": "_approve",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1390,
+ "src": "3836:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,uint256)"
+ }
+ },
+ "id": 905,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3836:21:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 906,
+ "nodeType": "ExpressionStatement",
+ "src": "3836:21:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 866,
+ "nodeType": "StructuredDocumentation",
+ "src": "3412:46:3",
+ "text": " @dev See {IERC721-approve}."
+ },
+ "functionSelector": "095ea7b3",
+ "id": 908,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "approve",
+ "nameLocation": "3472:7:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 872,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "3524:8:3"
+ },
+ "parameters": {
+ "id": 871,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 868,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "3488:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 908,
+ "src": "3480:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 867,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3480:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 870,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "3500:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 908,
+ "src": "3492:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 869,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3492:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3479:29:3"
+ },
+ "returnParameters": {
+ "id": 873,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3533:0:3"
+ },
+ "scope": 1464,
+ "src": "3463:401:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1549
+ ],
+ "body": {
+ "id": 928,
+ "nodeType": "Block",
+ "src": "4010:132:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 919,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 911,
+ "src": "4036:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 918,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "4028:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 920,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4028:16:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 921,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4046:46:3",
+ "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": 917,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4020:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 922,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4020:73:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 923,
+ "nodeType": "ExpressionStatement",
+ "src": "4020:73:3"
+ },
+ {
+ "expression": {
+ "baseExpression": {
+ "id": 924,
+ "name": "_tokenApprovals",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 688,
+ "src": "4111:15:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 926,
+ "indexExpression": {
+ "id": 925,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 911,
+ "src": "4127:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4111:24:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "functionReturnParameters": 916,
+ "id": 927,
+ "nodeType": "Return",
+ "src": "4104:31:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 909,
+ "nodeType": "StructuredDocumentation",
+ "src": "3870:50:3",
+ "text": " @dev See {IERC721-getApproved}."
+ },
+ "functionSelector": "081812fc",
+ "id": 929,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "getApproved",
+ "nameLocation": "3934:11:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 913,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "3983:8:3"
+ },
+ "parameters": {
+ "id": 912,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 911,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "3954:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 929,
+ "src": "3946:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 910,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3946:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3945:17:3"
+ },
+ "returnParameters": {
+ "id": 916,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 915,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 929,
+ "src": "4001:7:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 914,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4001:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4000:9:3"
+ },
+ "scope": 1464,
+ "src": "3925:217:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1557
+ ],
+ "body": {
+ "id": 962,
+ "nodeType": "Block",
+ "src": "4293:206:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 942,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 939,
+ "name": "operator",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 932,
+ "src": "4311:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 940,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "4323:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 941,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4323:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "4311:24:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572",
+ "id": 943,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4337:27:3",
+ "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": 938,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4303:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 944,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4303:62:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 945,
+ "nodeType": "ExpressionStatement",
+ "src": "4303:62:3"
+ },
+ {
+ "expression": {
+ "id": 953,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "baseExpression": {
+ "id": 946,
+ "name": "_operatorApprovals",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 694,
+ "src": "4376:18:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$",
+ "typeString": "mapping(address => mapping(address => bool))"
+ }
+ },
+ "id": 950,
+ "indexExpression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 947,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "4395:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 948,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4395:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4376:32:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
+ "typeString": "mapping(address => bool)"
+ }
+ },
+ "id": 951,
+ "indexExpression": {
+ "id": 949,
+ "name": "operator",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 932,
+ "src": "4409:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "4376:42:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 952,
+ "name": "approved",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 934,
+ "src": "4421:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "src": "4376:53:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 954,
+ "nodeType": "ExpressionStatement",
+ "src": "4376:53:3"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 956,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "4459:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 957,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4459:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 958,
+ "name": "operator",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 932,
+ "src": "4473:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 959,
+ "name": "approved",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 934,
+ "src": "4483:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ ],
+ "id": 955,
+ "name": "ApprovalForAll",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1497,
+ "src": "4444:14:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$",
+ "typeString": "function (address,address,bool)"
+ }
+ },
+ "id": 960,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4444:48:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 961,
+ "nodeType": "EmitStatement",
+ "src": "4439:53:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 930,
+ "nodeType": "StructuredDocumentation",
+ "src": "4148:56:3",
+ "text": " @dev See {IERC721-setApprovalForAll}."
+ },
+ "functionSelector": "a22cb465",
+ "id": 963,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "setApprovalForAll",
+ "nameLocation": "4218:17:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 936,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "4284:8:3"
+ },
+ "parameters": {
+ "id": 935,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 932,
+ "mutability": "mutable",
+ "name": "operator",
+ "nameLocation": "4244:8:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 963,
+ "src": "4236:16:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 931,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4236:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 934,
+ "mutability": "mutable",
+ "name": "approved",
+ "nameLocation": "4259:8:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 963,
+ "src": "4254:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 933,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "4254:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4235:33:3"
+ },
+ "returnParameters": {
+ "id": 937,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "4293:0:3"
+ },
+ "scope": 1464,
+ "src": "4209:290:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1567
+ ],
+ "body": {
+ "id": 980,
+ "nodeType": "Block",
+ "src": "4668:59:3",
+ "statements": [
+ {
+ "expression": {
+ "baseExpression": {
+ "baseExpression": {
+ "id": 974,
+ "name": "_operatorApprovals",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 694,
+ "src": "4685:18:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$",
+ "typeString": "mapping(address => mapping(address => bool))"
+ }
+ },
+ "id": 976,
+ "indexExpression": {
+ "id": 975,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 966,
+ "src": "4704:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4685:25:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
+ "typeString": "mapping(address => bool)"
+ }
+ },
+ "id": 978,
+ "indexExpression": {
+ "id": 977,
+ "name": "operator",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 968,
+ "src": "4711:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4685:35:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 973,
+ "id": 979,
+ "nodeType": "Return",
+ "src": "4678:42:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 964,
+ "nodeType": "StructuredDocumentation",
+ "src": "4505:55:3",
+ "text": " @dev See {IERC721-isApprovedForAll}."
+ },
+ "functionSelector": "e985e9c5",
+ "id": 981,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "isApprovedForAll",
+ "nameLocation": "4574:16:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 970,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "4644:8:3"
+ },
+ "parameters": {
+ "id": 969,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 966,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "4599:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 981,
+ "src": "4591:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 965,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4591:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 968,
+ "mutability": "mutable",
+ "name": "operator",
+ "nameLocation": "4614:8:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 981,
+ "src": "4606:16:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 967,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4606:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4590:33:3"
+ },
+ "returnParameters": {
+ "id": 973,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 972,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 981,
+ "src": "4662:4:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 971,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "4662:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4661:6:3"
+ },
+ "scope": 1464,
+ "src": "4565:162:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1533
+ ],
+ "body": {
+ "id": 1007,
+ "nodeType": "Block",
+ "src": "4908:211:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 994,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "4997:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 995,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4997:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 996,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 988,
+ "src": "5011:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 993,
+ "name": "_isApprovedOrOwner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1145,
+ "src": "4978:18:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (address,uint256) view returns (bool)"
+ }
+ },
+ "id": 997,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4978:41:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564",
+ "id": 998,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5021:51:3",
+ "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": 992,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4970:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 999,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4970:103:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1000,
+ "nodeType": "ExpressionStatement",
+ "src": "4970:103:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1002,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 984,
+ "src": "5094:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1003,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 986,
+ "src": "5100:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1004,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 988,
+ "src": "5104: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": 1001,
+ "name": "_transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1366,
+ "src": "5084:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1005,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5084:28:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1006,
+ "nodeType": "ExpressionStatement",
+ "src": "5084:28:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 982,
+ "nodeType": "StructuredDocumentation",
+ "src": "4733:51:3",
+ "text": " @dev See {IERC721-transferFrom}."
+ },
+ "functionSelector": "23b872dd",
+ "id": 1008,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "transferFrom",
+ "nameLocation": "4798:12:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 990,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "4899:8:3"
+ },
+ "parameters": {
+ "id": 989,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 984,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "4828:4:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1008,
+ "src": "4820:12:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 983,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4820:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 986,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "4850:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1008,
+ "src": "4842:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 985,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4842:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 988,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "4870:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1008,
+ "src": "4862:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 987,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4862:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4810:73:3"
+ },
+ "returnParameters": {
+ "id": 991,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "4908:0:3"
+ },
+ "scope": 1464,
+ "src": "4789:330:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1523
+ ],
+ "body": {
+ "id": 1026,
+ "nodeType": "Block",
+ "src": "5308:56:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1020,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1011,
+ "src": "5335:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1021,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1013,
+ "src": "5341:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1022,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1015,
+ "src": "5345:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "hexValue": "",
+ "id": 1023,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5354:2:3",
+ "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": 1019,
+ "name": "safeTransferFrom",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1027,
+ 1057
+ ],
+ "referencedDeclaration": 1057,
+ "src": "5318: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": 1024,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5318:39:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1025,
+ "nodeType": "ExpressionStatement",
+ "src": "5318:39:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1009,
+ "nodeType": "StructuredDocumentation",
+ "src": "5125:55:3",
+ "text": " @dev See {IERC721-safeTransferFrom}."
+ },
+ "functionSelector": "42842e0e",
+ "id": 1027,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "safeTransferFrom",
+ "nameLocation": "5194:16:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 1017,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "5299:8:3"
+ },
+ "parameters": {
+ "id": 1016,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1011,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "5228:4:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1027,
+ "src": "5220:12:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1010,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5220:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1013,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "5250:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1027,
+ "src": "5242:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1012,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5242:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1015,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "5270:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1027,
+ "src": "5262:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1014,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5262:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5210:73:3"
+ },
+ "returnParameters": {
+ "id": 1018,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "5308:0:3"
+ },
+ "scope": 1464,
+ "src": "5185:179:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1579
+ ],
+ "body": {
+ "id": 1056,
+ "nodeType": "Block",
+ "src": "5581:169:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 1042,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "5618:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 1043,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5618:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1044,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1034,
+ "src": "5632:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 1041,
+ "name": "_isApprovedOrOwner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1145,
+ "src": "5599:18:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (address,uint256) view returns (bool)"
+ }
+ },
+ "id": 1045,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5599:41:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564",
+ "id": 1046,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5642:51:3",
+ "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": 1040,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "5591:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1047,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5591:103:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1048,
+ "nodeType": "ExpressionStatement",
+ "src": "5591:103:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1050,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1030,
+ "src": "5718:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1051,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1032,
+ "src": "5724:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1052,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1034,
+ "src": "5728:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "id": 1053,
+ "name": "_data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1036,
+ "src": "5737: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": 1049,
+ "name": "_safeTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1086,
+ "src": "5704: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": 1054,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5704:39:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1055,
+ "nodeType": "ExpressionStatement",
+ "src": "5704:39:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1028,
+ "nodeType": "StructuredDocumentation",
+ "src": "5370:55:3",
+ "text": " @dev See {IERC721-safeTransferFrom}."
+ },
+ "functionSelector": "b88d4fde",
+ "id": 1057,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "safeTransferFrom",
+ "nameLocation": "5439:16:3",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 1038,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "5572:8:3"
+ },
+ "parameters": {
+ "id": 1037,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1030,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "5473:4:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1057,
+ "src": "5465:12:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1029,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5465:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1032,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "5495:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1057,
+ "src": "5487:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1031,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5487:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1034,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "5515:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1057,
+ "src": "5507:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1033,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5507:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1036,
+ "mutability": "mutable",
+ "name": "_data",
+ "nameLocation": "5545:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1057,
+ "src": "5532:18:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1035,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "5532:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5455:101:3"
+ },
+ "returnParameters": {
+ "id": 1039,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "5581:0:3"
+ },
+ "scope": 1464,
+ "src": "5430:320:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 1085,
+ "nodeType": "Block",
+ "src": "6753:166:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1070,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1060,
+ "src": "6773:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1071,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1062,
+ "src": "6779:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1072,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1064,
+ "src": "6783: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": 1069,
+ "name": "_transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1366,
+ "src": "6763:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1073,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6763:28:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1074,
+ "nodeType": "ExpressionStatement",
+ "src": "6763:28:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 1077,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1060,
+ "src": "6832:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1078,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1062,
+ "src": "6838:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1079,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1064,
+ "src": "6842:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "id": 1080,
+ "name": "_data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1066,
+ "src": "6851: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": 1076,
+ "name": "_checkOnERC721Received",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1452,
+ "src": "6809: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": 1081,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6809:48:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572",
+ "id": 1082,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "6859:52:3",
+ "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": 1075,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "6801:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1083,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "6801:111:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1084,
+ "nodeType": "ExpressionStatement",
+ "src": "6801:111:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1058,
+ "nodeType": "StructuredDocumentation",
+ "src": "5756:851:3",
+ "text": " @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 `_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.\n implement 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": 1086,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_safeTransfer",
+ "nameLocation": "6621:13:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1067,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1060,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "6652:4:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1086,
+ "src": "6644:12:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1059,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "6644:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1062,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "6674:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1086,
+ "src": "6666:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1061,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "6666:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1064,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "6694:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1086,
+ "src": "6686:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1063,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "6686:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1066,
+ "mutability": "mutable",
+ "name": "_data",
+ "nameLocation": "6724:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1086,
+ "src": "6711:18:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1065,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "6711:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "6634:101:3"
+ },
+ "returnParameters": {
+ "id": 1068,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "6753:0:3"
+ },
+ "scope": 1464,
+ "src": "6612:307:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1103,
+ "nodeType": "Block",
+ "src": "7293:54:3",
+ "statements": [
+ {
+ "expression": {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 1101,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "baseExpression": {
+ "id": 1094,
+ "name": "_owners",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 680,
+ "src": "7310:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 1096,
+ "indexExpression": {
+ "id": 1095,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1089,
+ "src": "7318:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "7310:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1099,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7338:1:3",
+ "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": 1098,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "7330:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1097,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "7330:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1100,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7330:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "7310:30:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 1093,
+ "id": 1102,
+ "nodeType": "Return",
+ "src": "7303:37:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1087,
+ "nodeType": "StructuredDocumentation",
+ "src": "6925: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`),\n and stop existing when they are burned (`_burn`)."
+ },
+ "id": 1104,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_exists",
+ "nameLocation": "7231:7:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1090,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1089,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "7247:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1104,
+ "src": "7239:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1088,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "7239:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "7238:17:3"
+ },
+ "returnParameters": {
+ "id": 1093,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1092,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1104,
+ "src": "7287:4:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1091,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "7287:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "7286:6:3"
+ },
+ "scope": 1464,
+ "src": "7222:125:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1144,
+ "nodeType": "Block",
+ "src": "7604:245:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 1116,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1109,
+ "src": "7630:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 1115,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "7622:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 1117,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7622:16:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 1118,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "7640:46:3",
+ "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": 1114,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "7614:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1119,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7614:73:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1120,
+ "nodeType": "ExpressionStatement",
+ "src": "7614:73:3"
+ },
+ {
+ "assignments": [
+ 1122
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1122,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "7705:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1144,
+ "src": "7697:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1121,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "7697:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 1127,
+ "initialValue": {
+ "arguments": [
+ {
+ "id": 1125,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1109,
+ "src": "7728:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 1123,
+ "name": "ERC721",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1464,
+ "src": "7713:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC721_$1464_$",
+ "typeString": "type(contract ERC721)"
+ }
+ },
+ "id": 1124,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "ownerOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 794,
+ "src": "7713:14:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
+ "typeString": "function (uint256) view returns (address)"
+ }
+ },
+ "id": 1126,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7713:23:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "7697:39:3"
+ },
+ {
+ "expression": {
+ "components": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "id": 1141,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "id": 1136,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 1130,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 1128,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1107,
+ "src": "7754:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "id": 1129,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1122,
+ "src": "7765:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "7754:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "||",
+ "rightExpression": {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 1135,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "arguments": [
+ {
+ "id": 1132,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1109,
+ "src": "7786:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 1131,
+ "name": "getApproved",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 929,
+ "src": "7774:11:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
+ "typeString": "function (uint256) view returns (address)"
+ }
+ },
+ "id": 1133,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7774:20:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "id": 1134,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1107,
+ "src": "7798:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "7774:31:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "src": "7754:51:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "||",
+ "rightExpression": {
+ "arguments": [
+ {
+ "id": 1138,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1122,
+ "src": "7826:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1139,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1107,
+ "src": "7833:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 1137,
+ "name": "isApprovedForAll",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 981,
+ "src": "7809:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$",
+ "typeString": "function (address,address) view returns (bool)"
+ }
+ },
+ "id": 1140,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "7809:32:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "src": "7754:87:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ }
+ ],
+ "id": 1142,
+ "isConstant": false,
+ "isInlineArray": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "TupleExpression",
+ "src": "7753:89:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 1113,
+ "id": 1143,
+ "nodeType": "Return",
+ "src": "7746:96:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1105,
+ "nodeType": "StructuredDocumentation",
+ "src": "7353:147:3",
+ "text": " @dev Returns whether `spender` is allowed to manage `tokenId`.\n Requirements:\n - `tokenId` must exist."
+ },
+ "id": 1145,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_isApprovedOrOwner",
+ "nameLocation": "7514:18:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1110,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1107,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "7541:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1145,
+ "src": "7533:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1106,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "7533:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1109,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "7558:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1145,
+ "src": "7550:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1108,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "7550:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "7532:34:3"
+ },
+ "returnParameters": {
+ "id": 1113,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1112,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1145,
+ "src": "7598:4:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1111,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "7598:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "7597:6:3"
+ },
+ "scope": 1464,
+ "src": "7505:344:3",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1159,
+ "nodeType": "Block",
+ "src": "8244:43:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1154,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1148,
+ "src": "8264:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1155,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1150,
+ "src": "8268:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "hexValue": "",
+ "id": 1156,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8277:2:3",
+ "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": 1153,
+ "name": "_safeMint",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1160,
+ 1189
+ ],
+ "referencedDeclaration": 1189,
+ "src": "8254:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$",
+ "typeString": "function (address,uint256,bytes memory)"
+ }
+ },
+ "id": 1157,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8254:26:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1158,
+ "nodeType": "ExpressionStatement",
+ "src": "8254:26:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1146,
+ "nodeType": "StructuredDocumentation",
+ "src": "7855:319:3",
+ "text": " @dev Safely mints `tokenId` and transfers it to `to`.\n Requirements:\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": 1160,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_safeMint",
+ "nameLocation": "8188:9:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1151,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1148,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "8206:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1160,
+ "src": "8198:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1147,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8198:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1150,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "8218:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1160,
+ "src": "8210:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1149,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "8210:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "8197:29:3"
+ },
+ "returnParameters": {
+ "id": 1152,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "8244:0:3"
+ },
+ "scope": 1464,
+ "src": "8179:108:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1188,
+ "nodeType": "Block",
+ "src": "8623:196:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1171,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1163,
+ "src": "8639:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1172,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1165,
+ "src": "8643:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 1170,
+ "name": "_mint",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1246,
+ "src": "8633:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,uint256)"
+ }
+ },
+ "id": 1173,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8633:18:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1174,
+ "nodeType": "ExpressionStatement",
+ "src": "8633:18:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1179,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8713:1:3",
+ "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": 1178,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "8705:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1177,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8705:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1180,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8705:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1181,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1163,
+ "src": "8717:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1182,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1165,
+ "src": "8721:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "id": 1183,
+ "name": "_data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1167,
+ "src": "8730: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": 1176,
+ "name": "_checkOnERC721Received",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1452,
+ "src": "8682: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": 1184,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8682:54:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572",
+ "id": 1185,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "8750:52:3",
+ "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": 1175,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "8661:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1186,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "8661:151:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1187,
+ "nodeType": "ExpressionStatement",
+ "src": "8661:151:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1161,
+ "nodeType": "StructuredDocumentation",
+ "src": "8293:210:3",
+ "text": " @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients."
+ },
+ "id": 1189,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_safeMint",
+ "nameLocation": "8517:9:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1168,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1163,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "8544:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1189,
+ "src": "8536:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1162,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "8536:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1165,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "8564:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1189,
+ "src": "8556:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1164,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "8556:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1167,
+ "mutability": "mutable",
+ "name": "_data",
+ "nameLocation": "8594:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1189,
+ "src": "8581:18:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1166,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "8581:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "8526:79:3"
+ },
+ "returnParameters": {
+ "id": 1169,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "8623:0:3"
+ },
+ "scope": 1464,
+ "src": "8508:311:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1245,
+ "nodeType": "Block",
+ "src": "9202:311:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 1203,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 1198,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1192,
+ "src": "9220:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1201,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9234:1:3",
+ "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": 1200,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9226:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1199,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9226:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1202,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9226:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "9220:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373",
+ "id": 1204,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9238:34:3",
+ "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": 1197,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "9212:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1205,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9212:61:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1206,
+ "nodeType": "ExpressionStatement",
+ "src": "9212:61:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1211,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "!",
+ "prefix": true,
+ "src": "9291:17:3",
+ "subExpression": {
+ "arguments": [
+ {
+ "id": 1209,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1194,
+ "src": "9300:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 1208,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "9292:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 1210,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9292:16:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564",
+ "id": 1212,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9310:30:3",
+ "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": 1207,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "9283:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1213,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9283:58:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1214,
+ "nodeType": "ExpressionStatement",
+ "src": "9283:58:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1218,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9381:1:3",
+ "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": 1217,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9373:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1216,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9373:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1219,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9373:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1220,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1192,
+ "src": "9385:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1221,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1194,
+ "src": "9389: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": 1215,
+ "name": "_beforeTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1463,
+ "src": "9352:20:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1222,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9352:45:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1223,
+ "nodeType": "ExpressionStatement",
+ "src": "9352:45:3"
+ },
+ {
+ "expression": {
+ "id": 1228,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 1224,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 684,
+ "src": "9408:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 1226,
+ "indexExpression": {
+ "id": 1225,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1192,
+ "src": "9418:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "9408:13:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "+=",
+ "rightHandSide": {
+ "hexValue": "31",
+ "id": 1227,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9425:1:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "9408:18:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 1229,
+ "nodeType": "ExpressionStatement",
+ "src": "9408:18:3"
+ },
+ {
+ "expression": {
+ "id": 1234,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 1230,
+ "name": "_owners",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 680,
+ "src": "9436:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 1232,
+ "indexExpression": {
+ "id": 1231,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1194,
+ "src": "9444:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "9436:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 1233,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1192,
+ "src": "9455:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "9436:21:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1235,
+ "nodeType": "ExpressionStatement",
+ "src": "9436:21:3"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1239,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9490:1:3",
+ "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": 1238,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9482:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1237,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9482:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1240,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9482:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1241,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1192,
+ "src": "9494:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1242,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1194,
+ "src": "9498: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": 1236,
+ "name": "Transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1479,
+ "src": "9473:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1243,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9473:33:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1244,
+ "nodeType": "EmitStatement",
+ "src": "9468:38:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1190,
+ "nodeType": "StructuredDocumentation",
+ "src": "8825: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": 1246,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_mint",
+ "nameLocation": "9150:5:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1195,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1192,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "9164:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1246,
+ "src": "9156:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1191,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9156:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1194,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "9176:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1246,
+ "src": "9168:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1193,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "9168:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "9155:29:3"
+ },
+ "returnParameters": {
+ "id": 1196,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "9202:0:3"
+ },
+ "scope": 1464,
+ "src": "9141:372:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1296,
+ "nodeType": "Block",
+ "src": "9779:299:3",
+ "statements": [
+ {
+ "assignments": [
+ 1253
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 1253,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "9797:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1296,
+ "src": "9789:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1252,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9789:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 1258,
+ "initialValue": {
+ "arguments": [
+ {
+ "id": 1256,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1249,
+ "src": "9820:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 1254,
+ "name": "ERC721",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1464,
+ "src": "9805:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC721_$1464_$",
+ "typeString": "type(contract ERC721)"
+ }
+ },
+ "id": 1255,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "ownerOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 794,
+ "src": "9805:14:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
+ "typeString": "function (uint256) view returns (address)"
+ }
+ },
+ "id": 1257,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9805:23:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "9789:39:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1260,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1253,
+ "src": "9860:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1263,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9875:1:3",
+ "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": 1262,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9867:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1261,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9867:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1264,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9867:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1265,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1249,
+ "src": "9879: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": 1259,
+ "name": "_beforeTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1463,
+ "src": "9839:20:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1266,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9839:48:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1267,
+ "nodeType": "ExpressionStatement",
+ "src": "9839:48:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1271,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9942:1:3",
+ "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": 1270,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "9934:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1269,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "9934:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1272,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9934:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1273,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1249,
+ "src": "9946:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 1268,
+ "name": "_approve",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1390,
+ "src": "9925:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,uint256)"
+ }
+ },
+ "id": 1274,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "9925:29:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1275,
+ "nodeType": "ExpressionStatement",
+ "src": "9925:29:3"
+ },
+ {
+ "expression": {
+ "id": 1280,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 1276,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 684,
+ "src": "9965:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 1278,
+ "indexExpression": {
+ "id": 1277,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1253,
+ "src": "9975:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "9965:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "-=",
+ "rightHandSide": {
+ "hexValue": "31",
+ "id": 1279,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "9985:1:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "9965:21:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 1281,
+ "nodeType": "ExpressionStatement",
+ "src": "9965:21:3"
+ },
+ {
+ "expression": {
+ "id": 1285,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "delete",
+ "prefix": true,
+ "src": "9996:23:3",
+ "subExpression": {
+ "baseExpression": {
+ "id": 1282,
+ "name": "_owners",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 680,
+ "src": "10003:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 1284,
+ "indexExpression": {
+ "id": 1283,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1249,
+ "src": "10011:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "10003:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1286,
+ "nodeType": "ExpressionStatement",
+ "src": "9996:23:3"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "id": 1288,
+ "name": "owner",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1253,
+ "src": "10044:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1291,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10059:1:3",
+ "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": 1290,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "10051:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1289,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10051:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1292,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10051:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1293,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1249,
+ "src": "10063: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": 1287,
+ "name": "Transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1479,
+ "src": "10035:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1294,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10035:36:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1295,
+ "nodeType": "EmitStatement",
+ "src": "10030:41:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1247,
+ "nodeType": "StructuredDocumentation",
+ "src": "9519:206:3",
+ "text": " @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event."
+ },
+ "id": 1297,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_burn",
+ "nameLocation": "9739:5:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1250,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1249,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "9753:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1297,
+ "src": "9745:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1248,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "9745:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "9744:17:3"
+ },
+ "returnParameters": {
+ "id": 1251,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "9779:0:3"
+ },
+ "scope": 1464,
+ "src": "9730:348:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1365,
+ "nodeType": "Block",
+ "src": "10511:451:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 1313,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "arguments": [
+ {
+ "id": 1310,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1304,
+ "src": "10544:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 1308,
+ "name": "ERC721",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1464,
+ "src": "10529:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC721_$1464_$",
+ "typeString": "type(contract ERC721)"
+ }
+ },
+ "id": 1309,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "ownerOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 794,
+ "src": "10529:14:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
+ "typeString": "function (uint256) view returns (address)"
+ }
+ },
+ "id": 1311,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10529:23:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "id": 1312,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1300,
+ "src": "10556:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "10529:31:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e",
+ "id": 1314,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10562:43:3",
+ "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": 1307,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "10521:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1315,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10521:85:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1316,
+ "nodeType": "ExpressionStatement",
+ "src": "10521:85:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 1323,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 1318,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1302,
+ "src": "10624:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1321,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10638:1:3",
+ "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": 1320,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "10630:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1319,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10630:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1322,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10630:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "10624:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373",
+ "id": 1324,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10642:38:3",
+ "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": 1317,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "10616:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 1325,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10616:65:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1326,
+ "nodeType": "ExpressionStatement",
+ "src": "10616:65:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 1328,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1300,
+ "src": "10713:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1329,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1302,
+ "src": "10719:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1330,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1304,
+ "src": "10723: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": 1327,
+ "name": "_beforeTokenTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1463,
+ "src": "10692:20:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1331,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10692:39:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1332,
+ "nodeType": "ExpressionStatement",
+ "src": "10692:39:3"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "hexValue": "30",
+ "id": 1336,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10810:1:3",
+ "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": 1335,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "10802:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 1334,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10802:7:3",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 1337,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10802:10:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1338,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1304,
+ "src": "10814:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 1333,
+ "name": "_approve",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1390,
+ "src": "10793:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,uint256)"
+ }
+ },
+ "id": 1339,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10793:29:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1340,
+ "nodeType": "ExpressionStatement",
+ "src": "10793:29:3"
+ },
+ {
+ "expression": {
+ "id": 1345,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 1341,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 684,
+ "src": "10833:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 1343,
+ "indexExpression": {
+ "id": 1342,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1300,
+ "src": "10843:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "10833:15:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "-=",
+ "rightHandSide": {
+ "hexValue": "31",
+ "id": 1344,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10852:1:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "10833:20:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 1346,
+ "nodeType": "ExpressionStatement",
+ "src": "10833:20:3"
+ },
+ {
+ "expression": {
+ "id": 1351,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 1347,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 684,
+ "src": "10863:9:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
+ "typeString": "mapping(address => uint256)"
+ }
+ },
+ "id": 1349,
+ "indexExpression": {
+ "id": 1348,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1302,
+ "src": "10873:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "10863:13:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "+=",
+ "rightHandSide": {
+ "hexValue": "31",
+ "id": 1350,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "10880:1:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "10863:18:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 1352,
+ "nodeType": "ExpressionStatement",
+ "src": "10863:18:3"
+ },
+ {
+ "expression": {
+ "id": 1357,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 1353,
+ "name": "_owners",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 680,
+ "src": "10891:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 1355,
+ "indexExpression": {
+ "id": 1354,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1304,
+ "src": "10899:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "10891:16:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 1356,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1302,
+ "src": "10910:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "10891:21:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1358,
+ "nodeType": "ExpressionStatement",
+ "src": "10891:21:3"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "id": 1360,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1300,
+ "src": "10937:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1361,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1302,
+ "src": "10943:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1362,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1304,
+ "src": "10947: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": 1359,
+ "name": "Transfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1479,
+ "src": "10928:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1363,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "10928:27:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1364,
+ "nodeType": "EmitStatement",
+ "src": "10923:32:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1298,
+ "nodeType": "StructuredDocumentation",
+ "src": "10084: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": 1366,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_transfer",
+ "nameLocation": "10411:9:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1305,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1300,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "10438:4:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1366,
+ "src": "10430:12:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1299,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10430:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1302,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "10460:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1366,
+ "src": "10452:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1301,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "10452:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1304,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "10480:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1366,
+ "src": "10472:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1303,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "10472:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "10420:73:3"
+ },
+ "returnParameters": {
+ "id": 1306,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "10511:0:3"
+ },
+ "scope": 1464,
+ "src": "10402:560:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1389,
+ "nodeType": "Block",
+ "src": "11137:107:3",
+ "statements": [
+ {
+ "expression": {
+ "id": 1378,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 1374,
+ "name": "_tokenApprovals",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 688,
+ "src": "11147:15:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 1376,
+ "indexExpression": {
+ "id": 1375,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1371,
+ "src": "11163:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "11147:24:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 1377,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1369,
+ "src": "11174:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "11147:29:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1379,
+ "nodeType": "ExpressionStatement",
+ "src": "11147:29:3"
+ },
+ {
+ "eventCall": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 1383,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1371,
+ "src": "11215:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 1381,
+ "name": "ERC721",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1464,
+ "src": "11200:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC721_$1464_$",
+ "typeString": "type(contract ERC721)"
+ }
+ },
+ "id": 1382,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "ownerOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 794,
+ "src": "11200:14:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$",
+ "typeString": "function (uint256) view returns (address)"
+ }
+ },
+ "id": 1384,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "11200:23:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1385,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1369,
+ "src": "11225:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1386,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1371,
+ "src": "11229: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": 1380,
+ "name": "Approval",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1488,
+ "src": "11191:8:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,address,uint256)"
+ }
+ },
+ "id": 1387,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "11191:46:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1388,
+ "nodeType": "EmitStatement",
+ "src": "11186:51:3"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1367,
+ "nodeType": "StructuredDocumentation",
+ "src": "10968:100:3",
+ "text": " @dev Approve `to` to operate on `tokenId`\n Emits a {Approval} event."
+ },
+ "id": 1390,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_approve",
+ "nameLocation": "11082:8:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1372,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1369,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "11099:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1390,
+ "src": "11091:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1368,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "11091:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1371,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "11111:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1390,
+ "src": "11103:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1370,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "11103:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "11090:29:3"
+ },
+ "returnParameters": {
+ "id": 1373,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "11137:0:3"
+ },
+ "scope": 1464,
+ "src": "11073:171:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 1451,
+ "nodeType": "Block",
+ "src": "11953:622:3",
+ "statements": [
+ {
+ "condition": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 1404,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1395,
+ "src": "11967:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 1405,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "isContract",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1645,
+ "src": "11967:13:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$",
+ "typeString": "function (address) view returns (bool)"
+ }
+ },
+ "id": 1406,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "11967:15:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "falseBody": {
+ "id": 1449,
+ "nodeType": "Block",
+ "src": "12533:36:3",
+ "statements": [
+ {
+ "expression": {
+ "hexValue": "74727565",
+ "id": 1447,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "bool",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "12554:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "value": "true"
+ },
+ "functionReturnParameters": 1403,
+ "id": 1448,
+ "nodeType": "Return",
+ "src": "12547:11:3"
+ }
+ ]
+ },
+ "id": 1450,
+ "nodeType": "IfStatement",
+ "src": "11963:606:3",
+ "trueBody": {
+ "id": 1446,
+ "nodeType": "Block",
+ "src": "11984:543:3",
+ "statements": [
+ {
+ "clauses": [
+ {
+ "block": {
+ "id": 1426,
+ "nodeType": "Block",
+ "src": "12099:91:3",
+ "statements": [
+ {
+ "expression": {
+ "commonType": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "id": 1424,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 1420,
+ "name": "retval",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1418,
+ "src": "12124:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "expression": {
+ "expression": {
+ "id": 1421,
+ "name": "IERC721Receiver",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1598,
+ "src": "12134:15:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1598_$",
+ "typeString": "type(contract IERC721Receiver)"
+ }
+ },
+ "id": 1422,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "memberName": "onERC721Received",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1597,
+ "src": "12134:32:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$",
+ "typeString": "function IERC721Receiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"
+ }
+ },
+ "id": 1423,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "memberName": "selector",
+ "nodeType": "MemberAccess",
+ "src": "12134:41:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "src": "12124:51:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 1403,
+ "id": 1425,
+ "nodeType": "Return",
+ "src": "12117:58:3"
+ }
+ ]
+ },
+ "errorName": "",
+ "id": 1427,
+ "nodeType": "TryCatchClause",
+ "parameters": {
+ "id": 1419,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1418,
+ "mutability": "mutable",
+ "name": "retval",
+ "nameLocation": "12091:6:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1427,
+ "src": "12084:13:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "typeName": {
+ "id": 1417,
+ "name": "bytes4",
+ "nodeType": "ElementaryTypeName",
+ "src": "12084:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "12083:15:3"
+ },
+ "src": "12075:115:3"
+ },
+ {
+ "block": {
+ "id": 1443,
+ "nodeType": "Block",
+ "src": "12219:298:3",
+ "statements": [
+ {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 1434,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "expression": {
+ "id": 1431,
+ "name": "reason",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1429,
+ "src": "12241:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "id": 1432,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "src": "12241:13:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 1433,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "12258:1:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "12241:18:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "falseBody": {
+ "id": 1441,
+ "nodeType": "Block",
+ "src": "12368:135:3",
+ "statements": [
+ {
+ "AST": {
+ "nodeType": "YulBlock",
+ "src": "12399:86:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12436:2:3",
+ "type": "",
+ "value": "32"
+ },
+ {
+ "name": "reason",
+ "nodeType": "YulIdentifier",
+ "src": "12440:6:3"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12432:3:3"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12432:15:3"
+ },
+ {
+ "arguments": [
+ {
+ "name": "reason",
+ "nodeType": "YulIdentifier",
+ "src": "12455:6:3"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "12449:5:3"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12449:13:3"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "12425:6:3"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12425:38:3"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "12425:38:3"
+ }
+ ]
+ },
+ "evmVersion": "london",
+ "externalReferences": [
+ {
+ "declaration": 1429,
+ "isOffset": false,
+ "isSlot": false,
+ "src": "12440:6:3",
+ "valueSize": 1
+ },
+ {
+ "declaration": 1429,
+ "isOffset": false,
+ "isSlot": false,
+ "src": "12455:6:3",
+ "valueSize": 1
+ }
+ ],
+ "id": 1440,
+ "nodeType": "InlineAssembly",
+ "src": "12390:95:3"
+ }
+ ]
+ },
+ "id": 1442,
+ "nodeType": "IfStatement",
+ "src": "12237:266:3",
+ "trueBody": {
+ "id": 1439,
+ "nodeType": "Block",
+ "src": "12261:101:3",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572",
+ "id": 1436,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "12290:52:3",
+ "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_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
+ "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\""
+ }
+ ],
+ "id": 1435,
+ "name": "revert",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967277,
+ 4294967277
+ ],
+ "referencedDeclaration": 4294967277,
+ "src": "12283:6:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (string memory) pure"
+ }
+ },
+ "id": 1437,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "12283:60:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 1438,
+ "nodeType": "ExpressionStatement",
+ "src": "12283:60:3"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "errorName": "",
+ "id": 1444,
+ "nodeType": "TryCatchClause",
+ "parameters": {
+ "id": 1430,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1429,
+ "mutability": "mutable",
+ "name": "reason",
+ "nameLocation": "12211:6:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1444,
+ "src": "12198:19:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1428,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "12198:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "12197:21:3"
+ },
+ "src": "12191:326:3"
+ }
+ ],
+ "externalCall": {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 1411,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "12039:10:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 1412,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "12039:12:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1413,
+ "name": "from",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1393,
+ "src": "12053:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 1414,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1397,
+ "src": "12059:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "id": 1415,
+ "name": "_data",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1399,
+ "src": "12068: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"
+ }
+ ],
+ "expression": {
+ "arguments": [
+ {
+ "id": 1408,
+ "name": "to",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1395,
+ "src": "12018:2:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 1407,
+ "name": "IERC721Receiver",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1598,
+ "src": "12002:15:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$1598_$",
+ "typeString": "type(contract IERC721Receiver)"
+ }
+ },
+ "id": 1409,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "12002:19:3",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_IERC721Receiver_$1598",
+ "typeString": "contract IERC721Receiver"
+ }
+ },
+ "id": 1410,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "onERC721Received",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1597,
+ "src": "12002: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": 1416,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "12002:72:3",
+ "tryCall": true,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "id": 1445,
+ "nodeType": "TryStatement",
+ "src": "11998:519:3"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "documentation": {
+ "id": 1391,
+ "nodeType": "StructuredDocumentation",
+ "src": "11250:542:3",
+ "text": " @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 @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": 1452,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_checkOnERC721Received",
+ "nameLocation": "11806:22:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1400,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1393,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "11846:4:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1452,
+ "src": "11838:12:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1392,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "11838:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1395,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "11868:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1452,
+ "src": "11860:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1394,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "11860:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1397,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "11888:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1452,
+ "src": "11880:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1396,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "11880:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1399,
+ "mutability": "mutable",
+ "name": "_data",
+ "nameLocation": "11918:5:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1452,
+ "src": "11905:18:3",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1398,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "11905:5:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "11828:101:3"
+ },
+ "returnParameters": {
+ "id": 1403,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1402,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1452,
+ "src": "11947:4:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1401,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "11947:4:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "11946:6:3"
+ },
+ "scope": 1464,
+ "src": "11797:778:3",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "private"
+ },
+ {
+ "body": {
+ "id": 1462,
+ "nodeType": "Block",
+ "src": "13251:2:3",
+ "statements": []
+ },
+ "documentation": {
+ "id": 1453,
+ "nodeType": "StructuredDocumentation",
+ "src": "12581:545:3",
+ "text": " @dev Hook that is called before any token transfer. This includes minting\n and burning.\n Calling conditions:\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` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."
+ },
+ "id": 1463,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_beforeTokenTransfer",
+ "nameLocation": "13140:20:3",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1460,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1455,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "13178:4:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1463,
+ "src": "13170:12:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1454,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "13170:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1457,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "13200:2:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1463,
+ "src": "13192:10:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1456,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "13192:7:3",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1459,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "13220:7:3",
+ "nodeType": "VariableDeclaration",
+ "scope": 1463,
+ "src": "13212:15:3",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1458,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "13212:7:3",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "13160:73:3"
+ },
+ "returnParameters": {
+ "id": 1461,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "13251:0:3"
+ },
+ "scope": 1464,
+ "src": "13131:122:3",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ }
+ ],
+ "scope": 1465,
+ "src": "554:12701:3",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:13223:3"
+ },
+ "compiler": {
+ "name": "solc",
+ "version": "0.8.10+commit.fc410830.Emscripten.clang"
+ },
+ "networks": {},
+ "schemaVersion": "3.4.1",
+ "updatedAt": "2021-11-28T13:47:02.589Z",
+ "devdoc": {
+ "details": "Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.",
+ "kind": "dev",
+ "methods": {
+ "approve(address,uint256)": {
+ "details": "See {IERC721-approve}."
+ },
+ "balanceOf(address)": {
+ "details": "See {IERC721-balanceOf}."
+ },
+ "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}."
+ },
+ "symbol()": {
+ "details": "See {IERC721Metadata-symbol}."
+ },
+ "tokenURI(uint256)": {
+ "details": "See {IERC721Metadata-tokenURI}."
+ },
+ "transferFrom(address,address,uint256)": {
+ "details": "See {IERC721-transferFrom}."
+ }
+ },
+ "version": 1
+ },
+ "userdoc": {
+ "kind": "user",
+ "methods": {},
+ "version": 1
+ }
+}
\ No newline at end of file
diff --git a/Nftzi/abi/IERC165.json b/Nftzi/abi/IERC165.json
new file mode 100644
index 00000000..b89c92b7
--- /dev/null
+++ b/Nftzi/abi/IERC165.json
@@ -0,0 +1,336 @@
+{
+ "contractName": "IERC165",
+ "abi": [
+ {
+ "inputs": [
+ {
+ "internalType": "bytes4",
+ "name": "interfaceId",
+ "type": "bytes4"
+ }
+ ],
+ "name": "supportsInterface",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ }
+ ],
+ "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"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}.\",\"kind\":\"dev\",\"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.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0xa28007762d9da9db878dd421960c8cb9a10471f47ab5c1b3309bfe48e9e79ff4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://796ab6e88af7bf0e78def0f059310c903af6a312b565344e0ff524a0f26e81c6\",\"dweb:/ipfs/QmcsVgLgzWdor3UnAztUkXKNGcysm1MPneWksF72AvnwBx\"]}},\"version\":1}",
+ "bytecode": "0x",
+ "deployedBytecode": "0x",
+ "immutableReferences": {},
+ "generatedSources": [],
+ "deployedGeneratedSources": [],
+ "sourceMap": "",
+ "deployedSourceMap": "",
+ "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^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",
+ "sourcePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",
+ "ast": {
+ "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",
+ "exportedSymbols": {
+ "IERC165": [
+ 2257
+ ]
+ },
+ "id": 2258,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 2247,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:12"
+ },
+ {
+ "abstract": false,
+ "baseContracts": [],
+ "canonicalName": "IERC165",
+ "contractDependencies": [],
+ "contractKind": "interface",
+ "documentation": {
+ "id": 2248,
+ "nodeType": "StructuredDocumentation",
+ "src": "58:279:12",
+ "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."
+ },
+ "fullyImplemented": false,
+ "id": 2257,
+ "linearizedBaseContracts": [
+ 2257
+ ],
+ "name": "IERC165",
+ "nameLocation": "348:7:12",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "documentation": {
+ "id": 2249,
+ "nodeType": "StructuredDocumentation",
+ "src": "362:340:12",
+ "text": " @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 This function call must use less than 30 000 gas."
+ },
+ "functionSelector": "01ffc9a7",
+ "id": 2256,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "supportsInterface",
+ "nameLocation": "716:17:12",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2252,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2251,
+ "mutability": "mutable",
+ "name": "interfaceId",
+ "nameLocation": "741:11:12",
+ "nodeType": "VariableDeclaration",
+ "scope": 2256,
+ "src": "734:18:12",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "typeName": {
+ "id": 2250,
+ "name": "bytes4",
+ "nodeType": "ElementaryTypeName",
+ "src": "734:6:12",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "733:20:12"
+ },
+ "returnParameters": {
+ "id": 2255,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2254,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2256,
+ "src": "777:4:12",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 2253,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "777:4:12",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "776:6:12"
+ },
+ "scope": 2257,
+ "src": "707:76:12",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ }
+ ],
+ "scope": 2258,
+ "src": "338:447:12",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:753:12"
+ },
+ "legacyAST": {
+ "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",
+ "exportedSymbols": {
+ "IERC165": [
+ 2257
+ ]
+ },
+ "id": 2258,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 2247,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:12"
+ },
+ {
+ "abstract": false,
+ "baseContracts": [],
+ "canonicalName": "IERC165",
+ "contractDependencies": [],
+ "contractKind": "interface",
+ "documentation": {
+ "id": 2248,
+ "nodeType": "StructuredDocumentation",
+ "src": "58:279:12",
+ "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."
+ },
+ "fullyImplemented": false,
+ "id": 2257,
+ "linearizedBaseContracts": [
+ 2257
+ ],
+ "name": "IERC165",
+ "nameLocation": "348:7:12",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "documentation": {
+ "id": 2249,
+ "nodeType": "StructuredDocumentation",
+ "src": "362:340:12",
+ "text": " @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 This function call must use less than 30 000 gas."
+ },
+ "functionSelector": "01ffc9a7",
+ "id": 2256,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "supportsInterface",
+ "nameLocation": "716:17:12",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2252,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2251,
+ "mutability": "mutable",
+ "name": "interfaceId",
+ "nameLocation": "741:11:12",
+ "nodeType": "VariableDeclaration",
+ "scope": 2256,
+ "src": "734:18:12",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "typeName": {
+ "id": 2250,
+ "name": "bytes4",
+ "nodeType": "ElementaryTypeName",
+ "src": "734:6:12",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "733:20:12"
+ },
+ "returnParameters": {
+ "id": 2255,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2254,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2256,
+ "src": "777:4:12",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 2253,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "777:4:12",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "776:6:12"
+ },
+ "scope": 2257,
+ "src": "707:76:12",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ }
+ ],
+ "scope": 2258,
+ "src": "338:447:12",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:753:12"
+ },
+ "compiler": {
+ "name": "solc",
+ "version": "0.8.10+commit.fc410830.Emscripten.clang"
+ },
+ "networks": {},
+ "schemaVersion": "3.4.1",
+ "updatedAt": "2021-11-28T13:47:02.617Z",
+ "devdoc": {
+ "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}.",
+ "kind": "dev",
+ "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."
+ }
+ },
+ "version": 1
+ },
+ "userdoc": {
+ "kind": "user",
+ "methods": {},
+ "version": 1
+ }
+}
\ No newline at end of file
diff --git a/Nftzi/abi/IERC20.json b/Nftzi/abi/IERC20.json
new file mode 100644
index 00000000..9feb88ec
--- /dev/null
+++ b/Nftzi/abi/IERC20.json
@@ -0,0 +1,2069 @@
+{
+ "contractName": "IERC20",
+ "abi": [
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "owner",
+ "type": "address"
+ },
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "spender",
+ "type": "address"
+ },
+ {
+ "indexed": false,
+ "internalType": "uint256",
+ "name": "value",
+ "type": "uint256"
+ }
+ ],
+ "name": "Approval",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "from",
+ "type": "address"
+ },
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "to",
+ "type": "address"
+ },
+ {
+ "indexed": false,
+ "internalType": "uint256",
+ "name": "value",
+ "type": "uint256"
+ }
+ ],
+ "name": "Transfer",
+ "type": "event"
+ },
+ {
+ "inputs": [],
+ "name": "totalSupply",
+ "outputs": [
+ {
+ "internalType": "uint256",
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "account",
+ "type": "address"
+ }
+ ],
+ "name": "balanceOf",
+ "outputs": [
+ {
+ "internalType": "uint256",
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "recipient",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "amount",
+ "type": "uint256"
+ }
+ ],
+ "name": "transfer",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "owner",
+ "type": "address"
+ },
+ {
+ "internalType": "address",
+ "name": "spender",
+ "type": "address"
+ }
+ ],
+ "name": "allowance",
+ "outputs": [
+ {
+ "internalType": "uint256",
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "spender",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "amount",
+ "type": "uint256"
+ }
+ ],
+ "name": "approve",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "sender",
+ "type": "address"
+ },
+ {
+ "internalType": "address",
+ "name": "recipient",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "amount",
+ "type": "uint256"
+ }
+ ],
+ "name": "transferFrom",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ }
+ ],
+ "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x027b891937d20ccf213fdb9c31531574256de774bda99d3a70ecef6e1913ed2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://087318b21c528119f649899f5b5580566dd8d7b0303d4904bd0e8580c3545f14\",\"dweb:/ipfs/Qmbn5Mj7aUn8hJuQ8VrQjjEXRsXyJKykgnjR9p4C3nfLtL\"]}},\"version\":1}",
+ "bytecode": "0x",
+ "deployedBytecode": "0x",
+ "immutableReferences": {},
+ "generatedSources": [],
+ "deployedGeneratedSources": [],
+ "sourceMap": "",
+ "deployedSourceMap": "",
+ "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(\n address sender,\n address recipient,\n uint256 amount\n ) external returns (bool);\n\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n",
+ "sourcePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
+ "ast": {
+ "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
+ "exportedSymbols": {
+ "IERC20": [
+ 623
+ ]
+ },
+ "id": 624,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 547,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:1"
+ },
+ {
+ "abstract": false,
+ "baseContracts": [],
+ "canonicalName": "IERC20",
+ "contractDependencies": [],
+ "contractKind": "interface",
+ "documentation": {
+ "id": 548,
+ "nodeType": "StructuredDocumentation",
+ "src": "58:70:1",
+ "text": " @dev Interface of the ERC20 standard as defined in the EIP."
+ },
+ "fullyImplemented": false,
+ "id": 623,
+ "linearizedBaseContracts": [
+ 623
+ ],
+ "name": "IERC20",
+ "nameLocation": "139:6:1",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "documentation": {
+ "id": 549,
+ "nodeType": "StructuredDocumentation",
+ "src": "152:66:1",
+ "text": " @dev Returns the amount of tokens in existence."
+ },
+ "functionSelector": "18160ddd",
+ "id": 554,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "totalSupply",
+ "nameLocation": "232:11:1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 550,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "243:2:1"
+ },
+ "returnParameters": {
+ "id": 553,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 552,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 554,
+ "src": "269:7:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 551,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "269:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "268:9:1"
+ },
+ "scope": 623,
+ "src": "223:55:1",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 555,
+ "nodeType": "StructuredDocumentation",
+ "src": "284:72:1",
+ "text": " @dev Returns the amount of tokens owned by `account`."
+ },
+ "functionSelector": "70a08231",
+ "id": 562,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "balanceOf",
+ "nameLocation": "370:9:1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 558,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 557,
+ "mutability": "mutable",
+ "name": "account",
+ "nameLocation": "388:7:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 562,
+ "src": "380:15:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 556,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "380:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "379:17:1"
+ },
+ "returnParameters": {
+ "id": 561,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 560,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 562,
+ "src": "420:7:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 559,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "420:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "419:9:1"
+ },
+ "scope": 623,
+ "src": "361:68:1",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 563,
+ "nodeType": "StructuredDocumentation",
+ "src": "435:209:1",
+ "text": " @dev Moves `amount` tokens from the caller's account to `recipient`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."
+ },
+ "functionSelector": "a9059cbb",
+ "id": 572,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "transfer",
+ "nameLocation": "658:8:1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 568,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 565,
+ "mutability": "mutable",
+ "name": "recipient",
+ "nameLocation": "675:9:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 572,
+ "src": "667:17:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 564,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "667:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 567,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "694:6:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 572,
+ "src": "686:14:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 566,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "686:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "666:35:1"
+ },
+ "returnParameters": {
+ "id": 571,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 570,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 572,
+ "src": "720:4:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 569,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "720:4:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "719:6:1"
+ },
+ "scope": 623,
+ "src": "649:77:1",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 573,
+ "nodeType": "StructuredDocumentation",
+ "src": "732:264:1",
+ "text": " @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."
+ },
+ "functionSelector": "dd62ed3e",
+ "id": 582,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "allowance",
+ "nameLocation": "1010:9:1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 578,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 575,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "1028:5:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 582,
+ "src": "1020:13:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 574,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1020:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 577,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "1043:7:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 582,
+ "src": "1035:15:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 576,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1035:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1019:32:1"
+ },
+ "returnParameters": {
+ "id": 581,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 580,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 582,
+ "src": "1075:7:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 579,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1075:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1074:9:1"
+ },
+ "scope": 623,
+ "src": "1001:83:1",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 583,
+ "nodeType": "StructuredDocumentation",
+ "src": "1090:642:1",
+ "text": " @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."
+ },
+ "functionSelector": "095ea7b3",
+ "id": 592,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "approve",
+ "nameLocation": "1746:7:1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 588,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 585,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "1762:7:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 592,
+ "src": "1754:15:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 584,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1754:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 587,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "1779:6:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 592,
+ "src": "1771:14:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 586,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1771:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1753:33:1"
+ },
+ "returnParameters": {
+ "id": 591,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 590,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 592,
+ "src": "1805:4:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 589,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "1805:4:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1804:6:1"
+ },
+ "scope": 623,
+ "src": "1737:74:1",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 593,
+ "nodeType": "StructuredDocumentation",
+ "src": "1817:296:1",
+ "text": " @dev Moves `amount` tokens from `sender` to `recipient` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."
+ },
+ "functionSelector": "23b872dd",
+ "id": 604,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "transferFrom",
+ "nameLocation": "2127:12:1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 600,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 595,
+ "mutability": "mutable",
+ "name": "sender",
+ "nameLocation": "2157:6:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 604,
+ "src": "2149:14:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 594,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2149:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 597,
+ "mutability": "mutable",
+ "name": "recipient",
+ "nameLocation": "2181:9:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 604,
+ "src": "2173:17:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 596,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2173:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 599,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "2208:6:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 604,
+ "src": "2200:14:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 598,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2200:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2139:81:1"
+ },
+ "returnParameters": {
+ "id": 603,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 602,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 604,
+ "src": "2239:4:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 601,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "2239:4:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2238:6:1"
+ },
+ "scope": 623,
+ "src": "2118:127:1",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "anonymous": false,
+ "documentation": {
+ "id": 605,
+ "nodeType": "StructuredDocumentation",
+ "src": "2251:158:1",
+ "text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."
+ },
+ "id": 613,
+ "name": "Transfer",
+ "nameLocation": "2420:8:1",
+ "nodeType": "EventDefinition",
+ "parameters": {
+ "id": 612,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 607,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "2445:4:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 613,
+ "src": "2429:20:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 606,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2429:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 609,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "2467:2:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 613,
+ "src": "2451:18:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 608,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2451:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 611,
+ "indexed": false,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "2479:5:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 613,
+ "src": "2471:13:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 610,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2471:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2428:57:1"
+ },
+ "src": "2414:72:1"
+ },
+ {
+ "anonymous": false,
+ "documentation": {
+ "id": 614,
+ "nodeType": "StructuredDocumentation",
+ "src": "2492:148:1",
+ "text": " @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."
+ },
+ "id": 622,
+ "name": "Approval",
+ "nameLocation": "2651:8:1",
+ "nodeType": "EventDefinition",
+ "parameters": {
+ "id": 621,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 616,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "2676:5:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 622,
+ "src": "2660:21:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 615,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2660:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 618,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "2699:7:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 622,
+ "src": "2683:23:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 617,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2683:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 620,
+ "indexed": false,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "2716:5:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 622,
+ "src": "2708:13:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 619,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2708:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2659:63:1"
+ },
+ "src": "2645:78:1"
+ }
+ ],
+ "scope": 624,
+ "src": "129:2596:1",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:2693:1"
+ },
+ "legacyAST": {
+ "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
+ "exportedSymbols": {
+ "IERC20": [
+ 623
+ ]
+ },
+ "id": 624,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 547,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:1"
+ },
+ {
+ "abstract": false,
+ "baseContracts": [],
+ "canonicalName": "IERC20",
+ "contractDependencies": [],
+ "contractKind": "interface",
+ "documentation": {
+ "id": 548,
+ "nodeType": "StructuredDocumentation",
+ "src": "58:70:1",
+ "text": " @dev Interface of the ERC20 standard as defined in the EIP."
+ },
+ "fullyImplemented": false,
+ "id": 623,
+ "linearizedBaseContracts": [
+ 623
+ ],
+ "name": "IERC20",
+ "nameLocation": "139:6:1",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "documentation": {
+ "id": 549,
+ "nodeType": "StructuredDocumentation",
+ "src": "152:66:1",
+ "text": " @dev Returns the amount of tokens in existence."
+ },
+ "functionSelector": "18160ddd",
+ "id": 554,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "totalSupply",
+ "nameLocation": "232:11:1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 550,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "243:2:1"
+ },
+ "returnParameters": {
+ "id": 553,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 552,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 554,
+ "src": "269:7:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 551,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "269:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "268:9:1"
+ },
+ "scope": 623,
+ "src": "223:55:1",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 555,
+ "nodeType": "StructuredDocumentation",
+ "src": "284:72:1",
+ "text": " @dev Returns the amount of tokens owned by `account`."
+ },
+ "functionSelector": "70a08231",
+ "id": 562,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "balanceOf",
+ "nameLocation": "370:9:1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 558,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 557,
+ "mutability": "mutable",
+ "name": "account",
+ "nameLocation": "388:7:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 562,
+ "src": "380:15:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 556,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "380:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "379:17:1"
+ },
+ "returnParameters": {
+ "id": 561,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 560,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 562,
+ "src": "420:7:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 559,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "420:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "419:9:1"
+ },
+ "scope": 623,
+ "src": "361:68:1",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 563,
+ "nodeType": "StructuredDocumentation",
+ "src": "435:209:1",
+ "text": " @dev Moves `amount` tokens from the caller's account to `recipient`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."
+ },
+ "functionSelector": "a9059cbb",
+ "id": 572,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "transfer",
+ "nameLocation": "658:8:1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 568,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 565,
+ "mutability": "mutable",
+ "name": "recipient",
+ "nameLocation": "675:9:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 572,
+ "src": "667:17:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 564,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "667:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 567,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "694:6:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 572,
+ "src": "686:14:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 566,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "686:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "666:35:1"
+ },
+ "returnParameters": {
+ "id": 571,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 570,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 572,
+ "src": "720:4:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 569,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "720:4:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "719:6:1"
+ },
+ "scope": 623,
+ "src": "649:77:1",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 573,
+ "nodeType": "StructuredDocumentation",
+ "src": "732:264:1",
+ "text": " @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."
+ },
+ "functionSelector": "dd62ed3e",
+ "id": 582,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "allowance",
+ "nameLocation": "1010:9:1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 578,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 575,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "1028:5:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 582,
+ "src": "1020:13:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 574,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1020:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 577,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "1043:7:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 582,
+ "src": "1035:15:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 576,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1035:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1019:32:1"
+ },
+ "returnParameters": {
+ "id": 581,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 580,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 582,
+ "src": "1075:7:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 579,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1075:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1074:9:1"
+ },
+ "scope": 623,
+ "src": "1001:83:1",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 583,
+ "nodeType": "StructuredDocumentation",
+ "src": "1090:642:1",
+ "text": " @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."
+ },
+ "functionSelector": "095ea7b3",
+ "id": 592,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "approve",
+ "nameLocation": "1746:7:1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 588,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 585,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "1762:7:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 592,
+ "src": "1754:15:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 584,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1754:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 587,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "1779:6:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 592,
+ "src": "1771:14:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 586,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1771:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1753:33:1"
+ },
+ "returnParameters": {
+ "id": 591,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 590,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 592,
+ "src": "1805:4:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 589,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "1805:4:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1804:6:1"
+ },
+ "scope": 623,
+ "src": "1737:74:1",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 593,
+ "nodeType": "StructuredDocumentation",
+ "src": "1817:296:1",
+ "text": " @dev Moves `amount` tokens from `sender` to `recipient` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."
+ },
+ "functionSelector": "23b872dd",
+ "id": 604,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "transferFrom",
+ "nameLocation": "2127:12:1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 600,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 595,
+ "mutability": "mutable",
+ "name": "sender",
+ "nameLocation": "2157:6:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 604,
+ "src": "2149:14:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 594,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2149:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 597,
+ "mutability": "mutable",
+ "name": "recipient",
+ "nameLocation": "2181:9:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 604,
+ "src": "2173:17:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 596,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2173:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 599,
+ "mutability": "mutable",
+ "name": "amount",
+ "nameLocation": "2208:6:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 604,
+ "src": "2200:14:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 598,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2200:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2139:81:1"
+ },
+ "returnParameters": {
+ "id": 603,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 602,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 604,
+ "src": "2239:4:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 601,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "2239:4:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2238:6:1"
+ },
+ "scope": 623,
+ "src": "2118:127:1",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "anonymous": false,
+ "documentation": {
+ "id": 605,
+ "nodeType": "StructuredDocumentation",
+ "src": "2251:158:1",
+ "text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."
+ },
+ "id": 613,
+ "name": "Transfer",
+ "nameLocation": "2420:8:1",
+ "nodeType": "EventDefinition",
+ "parameters": {
+ "id": 612,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 607,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "2445:4:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 613,
+ "src": "2429:20:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 606,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2429:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 609,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "2467:2:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 613,
+ "src": "2451:18:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 608,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2451:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 611,
+ "indexed": false,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "2479:5:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 613,
+ "src": "2471:13:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 610,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2471:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2428:57:1"
+ },
+ "src": "2414:72:1"
+ },
+ {
+ "anonymous": false,
+ "documentation": {
+ "id": 614,
+ "nodeType": "StructuredDocumentation",
+ "src": "2492:148:1",
+ "text": " @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."
+ },
+ "id": 622,
+ "name": "Approval",
+ "nameLocation": "2651:8:1",
+ "nodeType": "EventDefinition",
+ "parameters": {
+ "id": 621,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 616,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "2676:5:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 622,
+ "src": "2660:21:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 615,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2660:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 618,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "2699:7:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 622,
+ "src": "2683:23:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 617,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2683:7:1",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 620,
+ "indexed": false,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "2716:5:1",
+ "nodeType": "VariableDeclaration",
+ "scope": 622,
+ "src": "2708:13:1",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 619,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2708:7:1",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2659:63:1"
+ },
+ "src": "2645:78:1"
+ }
+ ],
+ "scope": 624,
+ "src": "129:2596:1",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:2693:1"
+ },
+ "compiler": {
+ "name": "solc",
+ "version": "0.8.10+commit.fc410830.Emscripten.clang"
+ },
+ "networks": {},
+ "schemaVersion": "3.4.1",
+ "updatedAt": "2021-11-28T13:47:02.577Z",
+ "devdoc": {
+ "details": "Interface of the ERC20 standard as defined in the EIP.",
+ "events": {
+ "Approval(address,address,uint256)": {
+ "details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance."
+ },
+ "Transfer(address,address,uint256)": {
+ "details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero."
+ }
+ },
+ "kind": "dev",
+ "methods": {
+ "allowance(address,address)": {
+ "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."
+ },
+ "approve(address,uint256)": {
+ "details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."
+ },
+ "balanceOf(address)": {
+ "details": "Returns the amount of tokens owned by `account`."
+ },
+ "totalSupply()": {
+ "details": "Returns the amount of tokens in existence."
+ },
+ "transfer(address,uint256)": {
+ "details": "Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
+ },
+ "transferFrom(address,address,uint256)": {
+ "details": "Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
+ }
+ },
+ "version": 1
+ },
+ "userdoc": {
+ "kind": "user",
+ "methods": {},
+ "version": 1
+ }
+}
\ No newline at end of file
diff --git a/Nftzi/abi/IERC20Metadata.json b/Nftzi/abi/IERC20Metadata.json
new file mode 100644
index 00000000..afe87e1d
--- /dev/null
+++ b/Nftzi/abi/IERC20Metadata.json
@@ -0,0 +1,809 @@
+{
+ "contractName": "IERC20Metadata",
+ "abi": [
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "owner",
+ "type": "address"
+ },
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "spender",
+ "type": "address"
+ },
+ {
+ "indexed": false,
+ "internalType": "uint256",
+ "name": "value",
+ "type": "uint256"
+ }
+ ],
+ "name": "Approval",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "from",
+ "type": "address"
+ },
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "to",
+ "type": "address"
+ },
+ {
+ "indexed": false,
+ "internalType": "uint256",
+ "name": "value",
+ "type": "uint256"
+ }
+ ],
+ "name": "Transfer",
+ "type": "event"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "owner",
+ "type": "address"
+ },
+ {
+ "internalType": "address",
+ "name": "spender",
+ "type": "address"
+ }
+ ],
+ "name": "allowance",
+ "outputs": [
+ {
+ "internalType": "uint256",
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "spender",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "amount",
+ "type": "uint256"
+ }
+ ],
+ "name": "approve",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "account",
+ "type": "address"
+ }
+ ],
+ "name": "balanceOf",
+ "outputs": [
+ {
+ "internalType": "uint256",
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "totalSupply",
+ "outputs": [
+ {
+ "internalType": "uint256",
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "recipient",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "amount",
+ "type": "uint256"
+ }
+ ],
+ "name": "transfer",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "sender",
+ "type": "address"
+ },
+ {
+ "internalType": "address",
+ "name": "recipient",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "amount",
+ "type": "uint256"
+ }
+ ],
+ "name": "transferFrom",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "name",
+ "outputs": [
+ {
+ "internalType": "string",
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "symbol",
+ "outputs": [
+ {
+ "internalType": "string",
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "decimals",
+ "outputs": [
+ {
+ "internalType": "uint8",
+ "name": "",
+ "type": "uint8"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ }
+ ],
+ "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x027b891937d20ccf213fdb9c31531574256de774bda99d3a70ecef6e1913ed2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://087318b21c528119f649899f5b5580566dd8d7b0303d4904bd0e8580c3545f14\",\"dweb:/ipfs/Qmbn5Mj7aUn8hJuQ8VrQjjEXRsXyJKykgnjR9p4C3nfLtL\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x83fe24f5c04a56091e50f4a345ff504c8bff658a76d4c43b16878c8f940c53b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4c3df1a7ca104b633a7d81c6c6f5192367d150cd5a32cba81f7f27012729013\",\"dweb:/ipfs/QmSim72e3ZVsfgZt8UceCvbiSuMRHR6WDsiamqNzZahGSY\"]}},\"version\":1}",
+ "bytecode": "0x",
+ "deployedBytecode": "0x",
+ "immutableReferences": {},
+ "generatedSources": [],
+ "deployedGeneratedSources": [],
+ "sourceMap": "",
+ "deployedSourceMap": "",
+ "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC20 standard.\n *\n * _Available since v4.1._\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n",
+ "sourcePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol",
+ "ast": {
+ "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol",
+ "exportedSymbols": {
+ "IERC20": [
+ 623
+ ],
+ "IERC20Metadata": [
+ 648
+ ]
+ },
+ "id": 649,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 625,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:2"
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
+ "file": "../IERC20.sol",
+ "id": 626,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 649,
+ "sourceUnit": 624,
+ "src": "58:23:2",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "abstract": false,
+ "baseContracts": [
+ {
+ "baseName": {
+ "id": 628,
+ "name": "IERC20",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 623,
+ "src": "228:6:2"
+ },
+ "id": 629,
+ "nodeType": "InheritanceSpecifier",
+ "src": "228:6:2"
+ }
+ ],
+ "canonicalName": "IERC20Metadata",
+ "contractDependencies": [],
+ "contractKind": "interface",
+ "documentation": {
+ "id": 627,
+ "nodeType": "StructuredDocumentation",
+ "src": "83:116:2",
+ "text": " @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._"
+ },
+ "fullyImplemented": false,
+ "id": 648,
+ "linearizedBaseContracts": [
+ 648,
+ 623
+ ],
+ "name": "IERC20Metadata",
+ "nameLocation": "210:14:2",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "documentation": {
+ "id": 630,
+ "nodeType": "StructuredDocumentation",
+ "src": "241:54:2",
+ "text": " @dev Returns the name of the token."
+ },
+ "functionSelector": "06fdde03",
+ "id": 635,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "name",
+ "nameLocation": "309:4:2",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 631,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "313:2:2"
+ },
+ "returnParameters": {
+ "id": 634,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 633,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 635,
+ "src": "339:13:2",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 632,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "339:6:2",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "338:15:2"
+ },
+ "scope": 648,
+ "src": "300:54:2",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 636,
+ "nodeType": "StructuredDocumentation",
+ "src": "360:56:2",
+ "text": " @dev Returns the symbol of the token."
+ },
+ "functionSelector": "95d89b41",
+ "id": 641,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "symbol",
+ "nameLocation": "430:6:2",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 637,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "436:2:2"
+ },
+ "returnParameters": {
+ "id": 640,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 639,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 641,
+ "src": "462:13:2",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 638,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "462:6:2",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "461:15:2"
+ },
+ "scope": 648,
+ "src": "421:56:2",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 642,
+ "nodeType": "StructuredDocumentation",
+ "src": "483:65:2",
+ "text": " @dev Returns the decimals places of the token."
+ },
+ "functionSelector": "313ce567",
+ "id": 647,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "decimals",
+ "nameLocation": "562:8:2",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 643,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "570:2:2"
+ },
+ "returnParameters": {
+ "id": 646,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 645,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 647,
+ "src": "596:5:2",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint8",
+ "typeString": "uint8"
+ },
+ "typeName": {
+ "id": 644,
+ "name": "uint8",
+ "nodeType": "ElementaryTypeName",
+ "src": "596:5:2",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint8",
+ "typeString": "uint8"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "595:7:2"
+ },
+ "scope": 648,
+ "src": "553:50:2",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ }
+ ],
+ "scope": 649,
+ "src": "200:405:2",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:573:2"
+ },
+ "legacyAST": {
+ "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol",
+ "exportedSymbols": {
+ "IERC20": [
+ 623
+ ],
+ "IERC20Metadata": [
+ 648
+ ]
+ },
+ "id": 649,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 625,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:2"
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
+ "file": "../IERC20.sol",
+ "id": 626,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 649,
+ "sourceUnit": 624,
+ "src": "58:23:2",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "abstract": false,
+ "baseContracts": [
+ {
+ "baseName": {
+ "id": 628,
+ "name": "IERC20",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 623,
+ "src": "228:6:2"
+ },
+ "id": 629,
+ "nodeType": "InheritanceSpecifier",
+ "src": "228:6:2"
+ }
+ ],
+ "canonicalName": "IERC20Metadata",
+ "contractDependencies": [],
+ "contractKind": "interface",
+ "documentation": {
+ "id": 627,
+ "nodeType": "StructuredDocumentation",
+ "src": "83:116:2",
+ "text": " @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._"
+ },
+ "fullyImplemented": false,
+ "id": 648,
+ "linearizedBaseContracts": [
+ 648,
+ 623
+ ],
+ "name": "IERC20Metadata",
+ "nameLocation": "210:14:2",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "documentation": {
+ "id": 630,
+ "nodeType": "StructuredDocumentation",
+ "src": "241:54:2",
+ "text": " @dev Returns the name of the token."
+ },
+ "functionSelector": "06fdde03",
+ "id": 635,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "name",
+ "nameLocation": "309:4:2",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 631,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "313:2:2"
+ },
+ "returnParameters": {
+ "id": 634,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 633,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 635,
+ "src": "339:13:2",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 632,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "339:6:2",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "338:15:2"
+ },
+ "scope": 648,
+ "src": "300:54:2",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 636,
+ "nodeType": "StructuredDocumentation",
+ "src": "360:56:2",
+ "text": " @dev Returns the symbol of the token."
+ },
+ "functionSelector": "95d89b41",
+ "id": 641,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "symbol",
+ "nameLocation": "430:6:2",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 637,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "436:2:2"
+ },
+ "returnParameters": {
+ "id": 640,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 639,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 641,
+ "src": "462:13:2",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 638,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "462:6:2",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "461:15:2"
+ },
+ "scope": 648,
+ "src": "421:56:2",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 642,
+ "nodeType": "StructuredDocumentation",
+ "src": "483:65:2",
+ "text": " @dev Returns the decimals places of the token."
+ },
+ "functionSelector": "313ce567",
+ "id": 647,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "decimals",
+ "nameLocation": "562:8:2",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 643,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "570:2:2"
+ },
+ "returnParameters": {
+ "id": 646,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 645,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 647,
+ "src": "596:5:2",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint8",
+ "typeString": "uint8"
+ },
+ "typeName": {
+ "id": 644,
+ "name": "uint8",
+ "nodeType": "ElementaryTypeName",
+ "src": "596:5:2",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint8",
+ "typeString": "uint8"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "595:7:2"
+ },
+ "scope": 648,
+ "src": "553:50:2",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ }
+ ],
+ "scope": 649,
+ "src": "200:405:2",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:573:2"
+ },
+ "compiler": {
+ "name": "solc",
+ "version": "0.8.10+commit.fc410830.Emscripten.clang"
+ },
+ "networks": {},
+ "schemaVersion": "3.4.1",
+ "updatedAt": "2021-11-28T13:47:02.580Z",
+ "devdoc": {
+ "details": "Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._",
+ "kind": "dev",
+ "methods": {
+ "allowance(address,address)": {
+ "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."
+ },
+ "approve(address,uint256)": {
+ "details": "Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."
+ },
+ "balanceOf(address)": {
+ "details": "Returns the amount of tokens owned by `account`."
+ },
+ "decimals()": {
+ "details": "Returns the decimals places of the token."
+ },
+ "name()": {
+ "details": "Returns the name of the token."
+ },
+ "symbol()": {
+ "details": "Returns the symbol of the token."
+ },
+ "totalSupply()": {
+ "details": "Returns the amount of tokens in existence."
+ },
+ "transfer(address,uint256)": {
+ "details": "Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
+ },
+ "transferFrom(address,address,uint256)": {
+ "details": "Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
+ }
+ },
+ "version": 1
+ },
+ "userdoc": {
+ "kind": "user",
+ "methods": {},
+ "version": 1
+ }
+}
\ No newline at end of file
diff --git a/Nftzi/abi/IERC721.json b/Nftzi/abi/IERC721.json
new file mode 100644
index 00000000..81097c3d
--- /dev/null
+++ b/Nftzi/abi/IERC721.json
@@ -0,0 +1,3050 @@
+{
+ "contractName": "IERC721",
+ "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": "bytes4",
+ "name": "interfaceId",
+ "type": "bytes4"
+ }
+ ],
+ "name": "supportsInterface",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "view",
+ "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": "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": "transferFrom",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "to",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "tokenId",
+ "type": "uint256"
+ }
+ ],
+ "name": "approve",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "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": "operator",
+ "type": "address"
+ },
+ {
+ "internalType": "bool",
+ "name": "_approved",
+ "type": "bool"
+ }
+ ],
+ "name": "setApprovalForAll",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "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": "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"
+ }
+ ],
+ "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"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\"}],\"devdoc\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"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.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xf101e8720213560fab41104d53b3cc7ba0456ef3a98455aa7f022391783144a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e7820bcf567e6892d937c3cb10db263a4042e446799bca602535868d822384e\",\"dweb:/ipfs/QmPG2oeDjKncqsEeyYGjAN7CwAJmMgHterXGGnpzhha4z7\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0xa28007762d9da9db878dd421960c8cb9a10471f47ab5c1b3309bfe48e9e79ff4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://796ab6e88af7bf0e78def0f059310c903af6a312b565344e0ff524a0f26e81c6\",\"dweb:/ipfs/QmcsVgLgzWdor3UnAztUkXKNGcysm1MPneWksF72AvnwBx\"]}},\"version\":1}",
+ "bytecode": "0x",
+ "deployedBytecode": "0x",
+ "immutableReferences": {},
+ "generatedSources": [],
+ "deployedGeneratedSources": [],
+ "sourceMap": "",
+ "deployedSourceMap": "",
+ "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/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(\n address from,\n address to,\n uint256 tokenId\n ) 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(\n address from,\n address to,\n uint256 tokenId\n ) 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(\n address from,\n address to,\n uint256 tokenId,\n bytes calldata data\n ) external;\n}\n",
+ "sourcePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
+ "ast": {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
+ "exportedSymbols": {
+ "IERC165": [
+ 2257
+ ],
+ "IERC721": [
+ 1580
+ ]
+ },
+ "id": 1581,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 1466,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:4"
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",
+ "file": "../../utils/introspection/IERC165.sol",
+ "id": 1467,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1581,
+ "sourceUnit": 2258,
+ "src": "58:47:4",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "abstract": false,
+ "baseContracts": [
+ {
+ "baseName": {
+ "id": 1469,
+ "name": "IERC165",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2257,
+ "src": "196:7:4"
+ },
+ "id": 1470,
+ "nodeType": "InheritanceSpecifier",
+ "src": "196:7:4"
+ }
+ ],
+ "canonicalName": "IERC721",
+ "contractDependencies": [],
+ "contractKind": "interface",
+ "documentation": {
+ "id": 1468,
+ "nodeType": "StructuredDocumentation",
+ "src": "107:67:4",
+ "text": " @dev Required interface of an ERC721 compliant contract."
+ },
+ "fullyImplemented": false,
+ "id": 1580,
+ "linearizedBaseContracts": [
+ 1580,
+ 2257
+ ],
+ "name": "IERC721",
+ "nameLocation": "185:7:4",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "anonymous": false,
+ "documentation": {
+ "id": 1471,
+ "nodeType": "StructuredDocumentation",
+ "src": "210:88:4",
+ "text": " @dev Emitted when `tokenId` token is transferred from `from` to `to`."
+ },
+ "id": 1479,
+ "name": "Transfer",
+ "nameLocation": "309:8:4",
+ "nodeType": "EventDefinition",
+ "parameters": {
+ "id": 1478,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1473,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "334:4:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1479,
+ "src": "318:20:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1472,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "318:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1475,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "356:2:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1479,
+ "src": "340:18:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1474,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "340:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1477,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "376:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1479,
+ "src": "360:23:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1476,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "360:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "317:67:4"
+ },
+ "src": "303:82:4"
+ },
+ {
+ "anonymous": false,
+ "documentation": {
+ "id": 1480,
+ "nodeType": "StructuredDocumentation",
+ "src": "391:94:4",
+ "text": " @dev Emitted when `owner` enables `approved` to manage the `tokenId` token."
+ },
+ "id": 1488,
+ "name": "Approval",
+ "nameLocation": "496:8:4",
+ "nodeType": "EventDefinition",
+ "parameters": {
+ "id": 1487,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1482,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "521:5:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1488,
+ "src": "505:21:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1481,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "505:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1484,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "approved",
+ "nameLocation": "544:8:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1488,
+ "src": "528:24:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1483,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "528:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1486,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "570:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1488,
+ "src": "554:23:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1485,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "554:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "504:74:4"
+ },
+ "src": "490:89:4"
+ },
+ {
+ "anonymous": false,
+ "documentation": {
+ "id": 1489,
+ "nodeType": "StructuredDocumentation",
+ "src": "585:117:4",
+ "text": " @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets."
+ },
+ "id": 1497,
+ "name": "ApprovalForAll",
+ "nameLocation": "713:14:4",
+ "nodeType": "EventDefinition",
+ "parameters": {
+ "id": 1496,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1491,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "744:5:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1497,
+ "src": "728:21:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1490,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "728:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1493,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "operator",
+ "nameLocation": "767:8:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1497,
+ "src": "751:24:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1492,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "751:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1495,
+ "indexed": false,
+ "mutability": "mutable",
+ "name": "approved",
+ "nameLocation": "782:8:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1497,
+ "src": "777:13:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1494,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "777:4:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "727:64:4"
+ },
+ "src": "707:85:4"
+ },
+ {
+ "documentation": {
+ "id": 1498,
+ "nodeType": "StructuredDocumentation",
+ "src": "798:76:4",
+ "text": " @dev Returns the number of tokens in ``owner``'s account."
+ },
+ "functionSelector": "70a08231",
+ "id": 1505,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "balanceOf",
+ "nameLocation": "888:9:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1501,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1500,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "906:5:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1505,
+ "src": "898:13:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1499,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "898:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "897:15:4"
+ },
+ "returnParameters": {
+ "id": 1504,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1503,
+ "mutability": "mutable",
+ "name": "balance",
+ "nameLocation": "944:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1505,
+ "src": "936:15:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1502,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "936:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "935:17:4"
+ },
+ "scope": 1580,
+ "src": "879:74:4",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1506,
+ "nodeType": "StructuredDocumentation",
+ "src": "959:131:4",
+ "text": " @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist."
+ },
+ "functionSelector": "6352211e",
+ "id": 1513,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "ownerOf",
+ "nameLocation": "1104:7:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1509,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1508,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "1120:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1513,
+ "src": "1112:15:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1507,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1112:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1111:17:4"
+ },
+ "returnParameters": {
+ "id": 1512,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1511,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "1160:5:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1513,
+ "src": "1152:13:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1510,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1152:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1151:15:4"
+ },
+ "scope": 1580,
+ "src": "1095:72:4",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1514,
+ "nodeType": "StructuredDocumentation",
+ "src": "1173:690:4",
+ "text": " @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 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": 1523,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "safeTransferFrom",
+ "nameLocation": "1877:16:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1521,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1516,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "1911:4:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1523,
+ "src": "1903:12:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1515,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1903:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1518,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "1933:2:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1523,
+ "src": "1925:10:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1517,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1925:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1520,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "1953:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1523,
+ "src": "1945:15:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1519,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1945:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1893:73:4"
+ },
+ "returnParameters": {
+ "id": 1522,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1975:0:4"
+ },
+ "scope": 1580,
+ "src": "1868:108:4",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1524,
+ "nodeType": "StructuredDocumentation",
+ "src": "1982: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": 1533,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "transferFrom",
+ "nameLocation": "2500:12:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1531,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1526,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "2530:4:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1533,
+ "src": "2522:12:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1525,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2522:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1528,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "2552:2:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1533,
+ "src": "2544:10:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1527,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2544:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1530,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "2572:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1533,
+ "src": "2564:15:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1529,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2564:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2512:73:4"
+ },
+ "returnParameters": {
+ "id": 1532,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2594:0:4"
+ },
+ "scope": 1580,
+ "src": "2491:104:4",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1534,
+ "nodeType": "StructuredDocumentation",
+ "src": "2601:452:4",
+ "text": " @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The 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": 1541,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "approve",
+ "nameLocation": "3067:7:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1539,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1536,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "3083:2:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1541,
+ "src": "3075:10:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1535,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3075:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1538,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "3095:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1541,
+ "src": "3087:15:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1537,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3087:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3074:29:4"
+ },
+ "returnParameters": {
+ "id": 1540,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3112:0:4"
+ },
+ "scope": 1580,
+ "src": "3058:55:4",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1542,
+ "nodeType": "StructuredDocumentation",
+ "src": "3119:139:4",
+ "text": " @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist."
+ },
+ "functionSelector": "081812fc",
+ "id": 1549,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "getApproved",
+ "nameLocation": "3272:11:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1545,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1544,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "3292:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1549,
+ "src": "3284:15:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1543,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3284:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3283:17:4"
+ },
+ "returnParameters": {
+ "id": 1548,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1547,
+ "mutability": "mutable",
+ "name": "operator",
+ "nameLocation": "3332:8:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1549,
+ "src": "3324:16:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1546,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3324:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3323:18:4"
+ },
+ "scope": 1580,
+ "src": "3263:79:4",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1550,
+ "nodeType": "StructuredDocumentation",
+ "src": "3348:309:4",
+ "text": " @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 Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event."
+ },
+ "functionSelector": "a22cb465",
+ "id": 1557,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "setApprovalForAll",
+ "nameLocation": "3671:17:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1555,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1552,
+ "mutability": "mutable",
+ "name": "operator",
+ "nameLocation": "3697:8:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1557,
+ "src": "3689:16:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1551,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3689:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1554,
+ "mutability": "mutable",
+ "name": "_approved",
+ "nameLocation": "3712:9:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1557,
+ "src": "3707:14:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1553,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "3707:4:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3688:34:4"
+ },
+ "returnParameters": {
+ "id": 1556,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3731:0:4"
+ },
+ "scope": 1580,
+ "src": "3662:70:4",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1558,
+ "nodeType": "StructuredDocumentation",
+ "src": "3738:138:4",
+ "text": " @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}"
+ },
+ "functionSelector": "e985e9c5",
+ "id": 1567,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "isApprovedForAll",
+ "nameLocation": "3890:16:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1563,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1560,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "3915:5:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1567,
+ "src": "3907:13:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1559,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3907:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1562,
+ "mutability": "mutable",
+ "name": "operator",
+ "nameLocation": "3930:8:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1567,
+ "src": "3922:16:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1561,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3922:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3906:33:4"
+ },
+ "returnParameters": {
+ "id": 1566,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1565,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1567,
+ "src": "3963:4:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1564,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "3963:4:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3962:6:4"
+ },
+ "scope": 1580,
+ "src": "3881:88:4",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1568,
+ "nodeType": "StructuredDocumentation",
+ "src": "3975:556: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": 1579,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "safeTransferFrom",
+ "nameLocation": "4545:16:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1577,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1570,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "4579:4:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1579,
+ "src": "4571:12:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1569,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4571:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1572,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "4601:2:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1579,
+ "src": "4593:10:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1571,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4593:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1574,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "4621:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1579,
+ "src": "4613:15:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1573,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4613:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1576,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "4653:4:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1579,
+ "src": "4638:19:4",
+ "stateVariable": false,
+ "storageLocation": "calldata",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_calldata_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1575,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "4638:5:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4561:102:4"
+ },
+ "returnParameters": {
+ "id": 1578,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "4672:0:4"
+ },
+ "scope": 1580,
+ "src": "4536:137:4",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ }
+ ],
+ "scope": 1581,
+ "src": "175:4500:4",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:4643:4"
+ },
+ "legacyAST": {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
+ "exportedSymbols": {
+ "IERC165": [
+ 2257
+ ],
+ "IERC721": [
+ 1580
+ ]
+ },
+ "id": 1581,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 1466,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:4"
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol",
+ "file": "../../utils/introspection/IERC165.sol",
+ "id": 1467,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1581,
+ "sourceUnit": 2258,
+ "src": "58:47:4",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "abstract": false,
+ "baseContracts": [
+ {
+ "baseName": {
+ "id": 1469,
+ "name": "IERC165",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2257,
+ "src": "196:7:4"
+ },
+ "id": 1470,
+ "nodeType": "InheritanceSpecifier",
+ "src": "196:7:4"
+ }
+ ],
+ "canonicalName": "IERC721",
+ "contractDependencies": [],
+ "contractKind": "interface",
+ "documentation": {
+ "id": 1468,
+ "nodeType": "StructuredDocumentation",
+ "src": "107:67:4",
+ "text": " @dev Required interface of an ERC721 compliant contract."
+ },
+ "fullyImplemented": false,
+ "id": 1580,
+ "linearizedBaseContracts": [
+ 1580,
+ 2257
+ ],
+ "name": "IERC721",
+ "nameLocation": "185:7:4",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "anonymous": false,
+ "documentation": {
+ "id": 1471,
+ "nodeType": "StructuredDocumentation",
+ "src": "210:88:4",
+ "text": " @dev Emitted when `tokenId` token is transferred from `from` to `to`."
+ },
+ "id": 1479,
+ "name": "Transfer",
+ "nameLocation": "309:8:4",
+ "nodeType": "EventDefinition",
+ "parameters": {
+ "id": 1478,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1473,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "334:4:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1479,
+ "src": "318:20:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1472,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "318:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1475,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "356:2:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1479,
+ "src": "340:18:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1474,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "340:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1477,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "376:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1479,
+ "src": "360:23:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1476,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "360:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "317:67:4"
+ },
+ "src": "303:82:4"
+ },
+ {
+ "anonymous": false,
+ "documentation": {
+ "id": 1480,
+ "nodeType": "StructuredDocumentation",
+ "src": "391:94:4",
+ "text": " @dev Emitted when `owner` enables `approved` to manage the `tokenId` token."
+ },
+ "id": 1488,
+ "name": "Approval",
+ "nameLocation": "496:8:4",
+ "nodeType": "EventDefinition",
+ "parameters": {
+ "id": 1487,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1482,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "521:5:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1488,
+ "src": "505:21:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1481,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "505:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1484,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "approved",
+ "nameLocation": "544:8:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1488,
+ "src": "528:24:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1483,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "528:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1486,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "570:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1488,
+ "src": "554:23:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1485,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "554:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "504:74:4"
+ },
+ "src": "490:89:4"
+ },
+ {
+ "anonymous": false,
+ "documentation": {
+ "id": 1489,
+ "nodeType": "StructuredDocumentation",
+ "src": "585:117:4",
+ "text": " @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets."
+ },
+ "id": 1497,
+ "name": "ApprovalForAll",
+ "nameLocation": "713:14:4",
+ "nodeType": "EventDefinition",
+ "parameters": {
+ "id": 1496,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1491,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "744:5:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1497,
+ "src": "728:21:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1490,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "728:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1493,
+ "indexed": true,
+ "mutability": "mutable",
+ "name": "operator",
+ "nameLocation": "767:8:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1497,
+ "src": "751:24:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1492,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "751:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1495,
+ "indexed": false,
+ "mutability": "mutable",
+ "name": "approved",
+ "nameLocation": "782:8:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1497,
+ "src": "777:13:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1494,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "777:4:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "727:64:4"
+ },
+ "src": "707:85:4"
+ },
+ {
+ "documentation": {
+ "id": 1498,
+ "nodeType": "StructuredDocumentation",
+ "src": "798:76:4",
+ "text": " @dev Returns the number of tokens in ``owner``'s account."
+ },
+ "functionSelector": "70a08231",
+ "id": 1505,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "balanceOf",
+ "nameLocation": "888:9:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1501,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1500,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "906:5:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1505,
+ "src": "898:13:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1499,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "898:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "897:15:4"
+ },
+ "returnParameters": {
+ "id": 1504,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1503,
+ "mutability": "mutable",
+ "name": "balance",
+ "nameLocation": "944:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1505,
+ "src": "936:15:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1502,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "936:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "935:17:4"
+ },
+ "scope": 1580,
+ "src": "879:74:4",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1506,
+ "nodeType": "StructuredDocumentation",
+ "src": "959:131:4",
+ "text": " @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist."
+ },
+ "functionSelector": "6352211e",
+ "id": 1513,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "ownerOf",
+ "nameLocation": "1104:7:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1509,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1508,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "1120:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1513,
+ "src": "1112:15:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1507,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1112:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1111:17:4"
+ },
+ "returnParameters": {
+ "id": 1512,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1511,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "1160:5:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1513,
+ "src": "1152:13:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1510,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1152:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1151:15:4"
+ },
+ "scope": 1580,
+ "src": "1095:72:4",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1514,
+ "nodeType": "StructuredDocumentation",
+ "src": "1173:690:4",
+ "text": " @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 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": 1523,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "safeTransferFrom",
+ "nameLocation": "1877:16:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1521,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1516,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "1911:4:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1523,
+ "src": "1903:12:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1515,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1903:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1518,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "1933:2:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1523,
+ "src": "1925:10:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1517,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1925:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1520,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "1953:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1523,
+ "src": "1945:15:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1519,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1945:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1893:73:4"
+ },
+ "returnParameters": {
+ "id": 1522,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1975:0:4"
+ },
+ "scope": 1580,
+ "src": "1868:108:4",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1524,
+ "nodeType": "StructuredDocumentation",
+ "src": "1982: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": 1533,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "transferFrom",
+ "nameLocation": "2500:12:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1531,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1526,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "2530:4:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1533,
+ "src": "2522:12:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1525,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2522:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1528,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "2552:2:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1533,
+ "src": "2544:10:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1527,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "2544:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1530,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "2572:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1533,
+ "src": "2564:15:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1529,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2564:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2512:73:4"
+ },
+ "returnParameters": {
+ "id": 1532,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2594:0:4"
+ },
+ "scope": 1580,
+ "src": "2491:104:4",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1534,
+ "nodeType": "StructuredDocumentation",
+ "src": "2601:452:4",
+ "text": " @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The 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": 1541,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "approve",
+ "nameLocation": "3067:7:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1539,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1536,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "3083:2:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1541,
+ "src": "3075:10:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1535,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3075:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1538,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "3095:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1541,
+ "src": "3087:15:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1537,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3087:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3074:29:4"
+ },
+ "returnParameters": {
+ "id": 1540,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3112:0:4"
+ },
+ "scope": 1580,
+ "src": "3058:55:4",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1542,
+ "nodeType": "StructuredDocumentation",
+ "src": "3119:139:4",
+ "text": " @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist."
+ },
+ "functionSelector": "081812fc",
+ "id": 1549,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "getApproved",
+ "nameLocation": "3272:11:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1545,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1544,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "3292:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1549,
+ "src": "3284:15:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1543,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3284:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3283:17:4"
+ },
+ "returnParameters": {
+ "id": 1548,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1547,
+ "mutability": "mutable",
+ "name": "operator",
+ "nameLocation": "3332:8:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1549,
+ "src": "3324:16:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1546,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3324:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3323:18:4"
+ },
+ "scope": 1580,
+ "src": "3263:79:4",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1550,
+ "nodeType": "StructuredDocumentation",
+ "src": "3348:309:4",
+ "text": " @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 Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event."
+ },
+ "functionSelector": "a22cb465",
+ "id": 1557,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "setApprovalForAll",
+ "nameLocation": "3671:17:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1555,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1552,
+ "mutability": "mutable",
+ "name": "operator",
+ "nameLocation": "3697:8:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1557,
+ "src": "3689:16:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1551,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3689:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1554,
+ "mutability": "mutable",
+ "name": "_approved",
+ "nameLocation": "3712:9:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1557,
+ "src": "3707:14:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1553,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "3707:4:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3688:34:4"
+ },
+ "returnParameters": {
+ "id": 1556,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3731:0:4"
+ },
+ "scope": 1580,
+ "src": "3662:70:4",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1558,
+ "nodeType": "StructuredDocumentation",
+ "src": "3738:138:4",
+ "text": " @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}"
+ },
+ "functionSelector": "e985e9c5",
+ "id": 1567,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "isApprovedForAll",
+ "nameLocation": "3890:16:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1563,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1560,
+ "mutability": "mutable",
+ "name": "owner",
+ "nameLocation": "3915:5:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1567,
+ "src": "3907:13:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1559,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3907:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1562,
+ "mutability": "mutable",
+ "name": "operator",
+ "nameLocation": "3930:8:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1567,
+ "src": "3922:16:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1561,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3922:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3906:33:4"
+ },
+ "returnParameters": {
+ "id": 1566,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1565,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1567,
+ "src": "3963:4:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 1564,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "3963:4:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "3962:6:4"
+ },
+ "scope": 1580,
+ "src": "3881:88:4",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1568,
+ "nodeType": "StructuredDocumentation",
+ "src": "3975:556: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": 1579,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "safeTransferFrom",
+ "nameLocation": "4545:16:4",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1577,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1570,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "4579:4:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1579,
+ "src": "4571:12:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1569,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4571:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1572,
+ "mutability": "mutable",
+ "name": "to",
+ "nameLocation": "4601:2:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1579,
+ "src": "4593:10:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1571,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4593:7:4",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1574,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "4621:7:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1579,
+ "src": "4613:15:4",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1573,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4613:7:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1576,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "4653:4:4",
+ "nodeType": "VariableDeclaration",
+ "scope": 1579,
+ "src": "4638:19:4",
+ "stateVariable": false,
+ "storageLocation": "calldata",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_calldata_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1575,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "4638:5:4",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4561:102:4"
+ },
+ "returnParameters": {
+ "id": 1578,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "4672:0:4"
+ },
+ "scope": 1580,
+ "src": "4536:137:4",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ }
+ ],
+ "scope": 1581,
+ "src": "175:4500:4",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:4643:4"
+ },
+ "compiler": {
+ "name": "solc",
+ "version": "0.8.10+commit.fc410830.Emscripten.clang"
+ },
+ "networks": {},
+ "schemaVersion": "3.4.1",
+ "updatedAt": "2021-11-28T13:47:02.601Z",
+ "devdoc": {
+ "details": "Required interface of an ERC721 compliant contract.",
+ "events": {
+ "Approval(address,address,uint256)": {
+ "details": "Emitted when `owner` enables `approved` to manage the `tokenId` token."
+ },
+ "ApprovalForAll(address,address,bool)": {
+ "details": "Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets."
+ },
+ "Transfer(address,address,uint256)": {
+ "details": "Emitted when `tokenId` token is transferred from `from` to `to`."
+ }
+ },
+ "kind": "dev",
+ "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."
+ }
+ },
+ "version": 1
+ },
+ "userdoc": {
+ "kind": "user",
+ "methods": {},
+ "version": 1
+ }
+}
\ No newline at end of file
diff --git a/Nftzi/abi/IERC721Metadata.json b/Nftzi/abi/IERC721Metadata.json
new file mode 100644
index 00000000..252cae56
--- /dev/null
+++ b/Nftzi/abi/IERC721Metadata.json
@@ -0,0 +1,994 @@
+{
+ "contractName": "IERC721Metadata",
+ "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"
+ },
+ {
+ "inputs": [],
+ "name": "name",
+ "outputs": [
+ {
+ "internalType": "string",
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
+ "name": "symbol",
+ "outputs": [
+ {
+ "internalType": "string",
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "uint256",
+ "name": "tokenId",
+ "type": "uint256"
+ }
+ ],
+ "name": "tokenURI",
+ "outputs": [
+ {
+ "internalType": "string",
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ }
+ ],
+ "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"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\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"kind\":\"dev\",\"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\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":\"IERC721Metadata\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xf101e8720213560fab41104d53b3cc7ba0456ef3a98455aa7f022391783144a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e7820bcf567e6892d937c3cb10db263a4042e446799bca602535868d822384e\",\"dweb:/ipfs/QmPG2oeDjKncqsEeyYGjAN7CwAJmMgHterXGGnpzhha4z7\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0xd32fb7f530a914b1083d10a6bed3a586f2451952fec04fe542bcc670a82f7ba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af63ab940a34687c45f0ad84960b048fc5f49330c92ccb422db7822a444733b9\",\"dweb:/ipfs/QmUShaQEu8HS1GjDnsMJQ8jkZEBrecn6NuDZ3pfjY1gVck\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0xa28007762d9da9db878dd421960c8cb9a10471f47ab5c1b3309bfe48e9e79ff4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://796ab6e88af7bf0e78def0f059310c903af6a312b565344e0ff524a0f26e81c6\",\"dweb:/ipfs/QmcsVgLgzWdor3UnAztUkXKNGcysm1MPneWksF72AvnwBx\"]}},\"version\":1}",
+ "bytecode": "0x",
+ "deployedBytecode": "0x",
+ "immutableReferences": {},
+ "generatedSources": [],
+ "deployedGeneratedSources": [],
+ "sourceMap": "",
+ "deployedSourceMap": "",
+ "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^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 * @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",
+ "sourcePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol",
+ "ast": {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol",
+ "exportedSymbols": {
+ "IERC165": [
+ 2257
+ ],
+ "IERC721": [
+ 1580
+ ],
+ "IERC721Metadata": [
+ 1625
+ ]
+ },
+ "id": 1626,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 1600,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:6"
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
+ "file": "../IERC721.sol",
+ "id": 1601,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1626,
+ "sourceUnit": 1581,
+ "src": "58:24:6",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "abstract": false,
+ "baseContracts": [
+ {
+ "baseName": {
+ "id": 1603,
+ "name": "IERC721",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1580,
+ "src": "247:7:6"
+ },
+ "id": 1604,
+ "nodeType": "InheritanceSpecifier",
+ "src": "247:7:6"
+ }
+ ],
+ "canonicalName": "IERC721Metadata",
+ "contractDependencies": [],
+ "contractKind": "interface",
+ "documentation": {
+ "id": 1602,
+ "nodeType": "StructuredDocumentation",
+ "src": "84: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": 1625,
+ "linearizedBaseContracts": [
+ 1625,
+ 1580,
+ 2257
+ ],
+ "name": "IERC721Metadata",
+ "nameLocation": "228:15:6",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "documentation": {
+ "id": 1605,
+ "nodeType": "StructuredDocumentation",
+ "src": "261:58:6",
+ "text": " @dev Returns the token collection name."
+ },
+ "functionSelector": "06fdde03",
+ "id": 1610,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "name",
+ "nameLocation": "333:4:6",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1606,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "337:2:6"
+ },
+ "returnParameters": {
+ "id": 1609,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1608,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1610,
+ "src": "363:13:6",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1607,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "363:6:6",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "362:15:6"
+ },
+ "scope": 1625,
+ "src": "324:54:6",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1611,
+ "nodeType": "StructuredDocumentation",
+ "src": "384:60:6",
+ "text": " @dev Returns the token collection symbol."
+ },
+ "functionSelector": "95d89b41",
+ "id": 1616,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "symbol",
+ "nameLocation": "458:6:6",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1612,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "464:2:6"
+ },
+ "returnParameters": {
+ "id": 1615,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1614,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1616,
+ "src": "490:13:6",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1613,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "490:6:6",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "489:15:6"
+ },
+ "scope": 1625,
+ "src": "449:56:6",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1617,
+ "nodeType": "StructuredDocumentation",
+ "src": "511:90:6",
+ "text": " @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token."
+ },
+ "functionSelector": "c87b56dd",
+ "id": 1624,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "tokenURI",
+ "nameLocation": "615:8:6",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1620,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1619,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "632:7:6",
+ "nodeType": "VariableDeclaration",
+ "scope": 1624,
+ "src": "624:15:6",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1618,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "624:7:6",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "623:17:6"
+ },
+ "returnParameters": {
+ "id": 1623,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1622,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1624,
+ "src": "664:13:6",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1621,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "664:6:6",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "663:15:6"
+ },
+ "scope": 1625,
+ "src": "606:73:6",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ }
+ ],
+ "scope": 1626,
+ "src": "218:463:6",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:649:6"
+ },
+ "legacyAST": {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol",
+ "exportedSymbols": {
+ "IERC165": [
+ 2257
+ ],
+ "IERC721": [
+ 1580
+ ],
+ "IERC721Metadata": [
+ 1625
+ ]
+ },
+ "id": 1626,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 1600,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:6"
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol",
+ "file": "../IERC721.sol",
+ "id": 1601,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 1626,
+ "sourceUnit": 1581,
+ "src": "58:24:6",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "abstract": false,
+ "baseContracts": [
+ {
+ "baseName": {
+ "id": 1603,
+ "name": "IERC721",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1580,
+ "src": "247:7:6"
+ },
+ "id": 1604,
+ "nodeType": "InheritanceSpecifier",
+ "src": "247:7:6"
+ }
+ ],
+ "canonicalName": "IERC721Metadata",
+ "contractDependencies": [],
+ "contractKind": "interface",
+ "documentation": {
+ "id": 1602,
+ "nodeType": "StructuredDocumentation",
+ "src": "84: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": 1625,
+ "linearizedBaseContracts": [
+ 1625,
+ 1580,
+ 2257
+ ],
+ "name": "IERC721Metadata",
+ "nameLocation": "228:15:6",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "documentation": {
+ "id": 1605,
+ "nodeType": "StructuredDocumentation",
+ "src": "261:58:6",
+ "text": " @dev Returns the token collection name."
+ },
+ "functionSelector": "06fdde03",
+ "id": 1610,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "name",
+ "nameLocation": "333:4:6",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1606,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "337:2:6"
+ },
+ "returnParameters": {
+ "id": 1609,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1608,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1610,
+ "src": "363:13:6",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1607,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "363:6:6",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "362:15:6"
+ },
+ "scope": 1625,
+ "src": "324:54:6",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1611,
+ "nodeType": "StructuredDocumentation",
+ "src": "384:60:6",
+ "text": " @dev Returns the token collection symbol."
+ },
+ "functionSelector": "95d89b41",
+ "id": 1616,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "symbol",
+ "nameLocation": "458:6:6",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1612,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "464:2:6"
+ },
+ "returnParameters": {
+ "id": 1615,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1614,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1616,
+ "src": "490:13:6",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1613,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "490:6:6",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "489:15:6"
+ },
+ "scope": 1625,
+ "src": "449:56:6",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ },
+ {
+ "documentation": {
+ "id": 1617,
+ "nodeType": "StructuredDocumentation",
+ "src": "511:90:6",
+ "text": " @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token."
+ },
+ "functionSelector": "c87b56dd",
+ "id": 1624,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "tokenURI",
+ "nameLocation": "615:8:6",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1620,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1619,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "632:7:6",
+ "nodeType": "VariableDeclaration",
+ "scope": 1624,
+ "src": "624:15:6",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1618,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "624:7:6",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "623:17:6"
+ },
+ "returnParameters": {
+ "id": 1623,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1622,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1624,
+ "src": "664:13:6",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 1621,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "664:6:6",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "663:15:6"
+ },
+ "scope": 1625,
+ "src": "606:73:6",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "external"
+ }
+ ],
+ "scope": 1626,
+ "src": "218:463:6",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:649:6"
+ },
+ "compiler": {
+ "name": "solc",
+ "version": "0.8.10+commit.fc410830.Emscripten.clang"
+ },
+ "networks": {},
+ "schemaVersion": "3.4.1",
+ "updatedAt": "2021-11-28T13:47:02.603Z",
+ "devdoc": {
+ "details": "See https://eips.ethereum.org/EIPS/eip-721",
+ "kind": "dev",
+ "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",
+ "version": 1
+ },
+ "userdoc": {
+ "kind": "user",
+ "methods": {},
+ "version": 1
+ }
+}
\ No newline at end of file
diff --git a/Nftzi/abi/IERC721Receiver.json b/Nftzi/abi/IERC721Receiver.json
new file mode 100644
index 00000000..be102f91
--- /dev/null
+++ b/Nftzi/abi/IERC721Receiver.json
@@ -0,0 +1,518 @@
+{
+ "contractName": "IERC721Receiver",
+ "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"
+ }
+ ],
+ "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"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\"}],\"devdoc\":{\"details\":\"Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.\",\"kind\":\"dev\",\"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\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":\"IERC721Receiver\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xd9517254724276e2e8de3769183c1f738f445f0095c26fd9b86d3c6687e887b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e604bcdcd5e5b2fb299ad09769cde6db19d5aa1929d1b5e939234a0f10d7eb8\",\"dweb:/ipfs/Qmd8hXE3GZfBHuWx3RNiYgFW2ci7KvHtib8DiwzJ2dgo9V\"]}},\"version\":1}",
+ "bytecode": "0x",
+ "deployedBytecode": "0x",
+ "immutableReferences": {},
+ "generatedSources": [],
+ "deployedGeneratedSources": [],
+ "sourceMap": "",
+ "deployedSourceMap": "",
+ "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^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(\n address operator,\n address from,\n uint256 tokenId,\n bytes calldata data\n ) external returns (bytes4);\n}\n",
+ "sourcePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol",
+ "ast": {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol",
+ "exportedSymbols": {
+ "IERC721Receiver": [
+ 1598
+ ]
+ },
+ "id": 1599,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 1582,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:5"
+ },
+ {
+ "abstract": false,
+ "baseContracts": [],
+ "canonicalName": "IERC721Receiver",
+ "contractDependencies": [],
+ "contractKind": "interface",
+ "documentation": {
+ "id": 1583,
+ "nodeType": "StructuredDocumentation",
+ "src": "58:152:5",
+ "text": " @title ERC721 token receiver interface\n @dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts."
+ },
+ "fullyImplemented": false,
+ "id": 1598,
+ "linearizedBaseContracts": [
+ 1598
+ ],
+ "name": "IERC721Receiver",
+ "nameLocation": "221:15:5",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "documentation": {
+ "id": 1584,
+ "nodeType": "StructuredDocumentation",
+ "src": "243:485:5",
+ "text": " @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n by `operator` from `from`, this function is called.\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 The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`."
+ },
+ "functionSelector": "150b7a02",
+ "id": 1597,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "onERC721Received",
+ "nameLocation": "742:16:5",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1593,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1586,
+ "mutability": "mutable",
+ "name": "operator",
+ "nameLocation": "776:8:5",
+ "nodeType": "VariableDeclaration",
+ "scope": 1597,
+ "src": "768:16:5",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1585,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "768:7:5",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1588,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "802:4:5",
+ "nodeType": "VariableDeclaration",
+ "scope": 1597,
+ "src": "794:12:5",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1587,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "794:7:5",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1590,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "824:7:5",
+ "nodeType": "VariableDeclaration",
+ "scope": 1597,
+ "src": "816:15:5",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1589,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "816:7:5",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1592,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "856:4:5",
+ "nodeType": "VariableDeclaration",
+ "scope": 1597,
+ "src": "841:19:5",
+ "stateVariable": false,
+ "storageLocation": "calldata",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_calldata_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1591,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "841:5:5",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "758:108:5"
+ },
+ "returnParameters": {
+ "id": 1596,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1595,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1597,
+ "src": "885:6:5",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "typeName": {
+ "id": 1594,
+ "name": "bytes4",
+ "nodeType": "ElementaryTypeName",
+ "src": "885:6:5",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "884:8:5"
+ },
+ "scope": 1598,
+ "src": "733:160:5",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ }
+ ],
+ "scope": 1599,
+ "src": "211:684:5",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:863:5"
+ },
+ "legacyAST": {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol",
+ "exportedSymbols": {
+ "IERC721Receiver": [
+ 1598
+ ]
+ },
+ "id": 1599,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 1582,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:5"
+ },
+ {
+ "abstract": false,
+ "baseContracts": [],
+ "canonicalName": "IERC721Receiver",
+ "contractDependencies": [],
+ "contractKind": "interface",
+ "documentation": {
+ "id": 1583,
+ "nodeType": "StructuredDocumentation",
+ "src": "58:152:5",
+ "text": " @title ERC721 token receiver interface\n @dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts."
+ },
+ "fullyImplemented": false,
+ "id": 1598,
+ "linearizedBaseContracts": [
+ 1598
+ ],
+ "name": "IERC721Receiver",
+ "nameLocation": "221:15:5",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "documentation": {
+ "id": 1584,
+ "nodeType": "StructuredDocumentation",
+ "src": "243:485:5",
+ "text": " @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n by `operator` from `from`, this function is called.\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 The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`."
+ },
+ "functionSelector": "150b7a02",
+ "id": 1597,
+ "implemented": false,
+ "kind": "function",
+ "modifiers": [],
+ "name": "onERC721Received",
+ "nameLocation": "742:16:5",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 1593,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1586,
+ "mutability": "mutable",
+ "name": "operator",
+ "nameLocation": "776:8:5",
+ "nodeType": "VariableDeclaration",
+ "scope": 1597,
+ "src": "768:16:5",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1585,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "768:7:5",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1588,
+ "mutability": "mutable",
+ "name": "from",
+ "nameLocation": "802:4:5",
+ "nodeType": "VariableDeclaration",
+ "scope": 1597,
+ "src": "794:12:5",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 1587,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "794:7:5",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1590,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "824:7:5",
+ "nodeType": "VariableDeclaration",
+ "scope": 1597,
+ "src": "816:15:5",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 1589,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "816:7:5",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 1592,
+ "mutability": "mutable",
+ "name": "data",
+ "nameLocation": "856:4:5",
+ "nodeType": "VariableDeclaration",
+ "scope": 1597,
+ "src": "841:19:5",
+ "stateVariable": false,
+ "storageLocation": "calldata",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_calldata_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 1591,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "841:5:5",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "758:108:5"
+ },
+ "returnParameters": {
+ "id": 1596,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 1595,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 1597,
+ "src": "885:6:5",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ },
+ "typeName": {
+ "id": 1594,
+ "name": "bytes4",
+ "nodeType": "ElementaryTypeName",
+ "src": "885:6:5",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes4",
+ "typeString": "bytes4"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "884:8:5"
+ },
+ "scope": 1598,
+ "src": "733:160:5",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ }
+ ],
+ "scope": 1599,
+ "src": "211:684:5",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:863:5"
+ },
+ "compiler": {
+ "name": "solc",
+ "version": "0.8.10+commit.fc410830.Emscripten.clang"
+ },
+ "networks": {},
+ "schemaVersion": "3.4.1",
+ "updatedAt": "2021-11-28T13:47:02.602Z",
+ "devdoc": {
+ "details": "Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.",
+ "kind": "dev",
+ "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",
+ "version": 1
+ },
+ "userdoc": {
+ "kind": "user",
+ "methods": {},
+ "version": 1
+ }
+}
\ No newline at end of file
diff --git a/Nftzi/abi/Nftzi.json b/Nftzi/abi/Nftzi.json
new file mode 100644
index 00000000..04d227e3
--- /dev/null
+++ b/Nftzi/abi/Nftzi.json
@@ -0,0 +1,35457 @@
+{
+ "contractName": "Nftzi",
+ "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": [],
+ "name": "_comission",
+ "outputs": [
+ {
+ "internalType": "uint256",
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function",
+ "constant": true
+ },
+ {
+ "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",
+ "constant": true
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "uint256",
+ "name": "tokenId",
+ "type": "uint256"
+ }
+ ],
+ "name": "getApproved",
+ "outputs": [
+ {
+ "internalType": "address",
+ "name": "",
+ "type": "address"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function",
+ "constant": true
+ },
+ {
+ "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",
+ "constant": true
+ },
+ {
+ "inputs": [],
+ "name": "name",
+ "outputs": [
+ {
+ "internalType": "string",
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function",
+ "constant": true
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "uint256",
+ "name": "tokenId",
+ "type": "uint256"
+ }
+ ],
+ "name": "ownerOf",
+ "outputs": [
+ {
+ "internalType": "address",
+ "name": "",
+ "type": "address"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function",
+ "constant": true
+ },
+ {
+ "inputs": [],
+ "name": "rentPriceCelo",
+ "outputs": [
+ {
+ "internalType": "uint256",
+ "name": "",
+ "type": "uint256"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function",
+ "constant": true
+ },
+ {
+ "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",
+ "constant": true
+ },
+ {
+ "inputs": [],
+ "name": "symbol",
+ "outputs": [
+ {
+ "internalType": "string",
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function",
+ "constant": true
+ },
+ {
+ "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"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "uint256",
+ "name": "tokenId",
+ "type": "uint256"
+ }
+ ],
+ "name": "tokenURI",
+ "outputs": [
+ {
+ "internalType": "string",
+ "name": "",
+ "type": "string"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function",
+ "constant": true
+ },
+ {
+ "inputs": [],
+ "name": "tokensInfo",
+ "outputs": [
+ {
+ "components": [
+ {
+ "internalType": "uint256",
+ "name": "tokenId",
+ "type": "uint256"
+ },
+ {
+ "internalType": "string",
+ "name": "URI",
+ "type": "string"
+ },
+ {
+ "internalType": "address",
+ "name": "creator",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "rentedAt",
+ "type": "uint256"
+ },
+ {
+ "internalType": "address",
+ "name": "rentedBy",
+ "type": "address"
+ },
+ {
+ "internalType": "uint256",
+ "name": "balance",
+ "type": "uint256"
+ }
+ ],
+ "internalType": "struct Nftzi.TokenInfoStruct[]",
+ "name": "",
+ "type": "tuple[]"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function",
+ "constant": true
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "uint256",
+ "name": "tokenId",
+ "type": "uint256"
+ }
+ ],
+ "name": "rent",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "uint256",
+ "name": "tokenId",
+ "type": "uint256"
+ }
+ ],
+ "name": "redeem",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "string",
+ "name": "_tokenURI",
+ "type": "string"
+ },
+ {
+ "internalType": "address",
+ "name": "rent_token_address",
+ "type": "address"
+ }
+ ],
+ "name": "safeMint",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ }
+ ],
+ "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"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\":[],\"name\":\"_comission\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"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\":[{\"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\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"rent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rentPriceCelo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_tokenURI\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"rent_token_address\",\"type\":\"address\"}],\"name\":\"safeMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":[],\"name\":\"tokensInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"URI\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"rentedAt\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"rentedBy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"internalType\":\"struct Nftzi.TokenInfoStruct[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"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\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"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}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Nftzi.sol\":\"Nftzi\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb03df8481a954604ad0c9125680893b2e3f7ff770fe470e38b89ac61b84e8072\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b34655953d18ba3a45b762fb6bdbb6549af69a27435e10ece178742bf70baf45\",\"dweb:/ipfs/QmcqjUoFLLMyx7dbwSHUnDBH6aphkVHXWQvQRRev5EAWEh\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x027b891937d20ccf213fdb9c31531574256de774bda99d3a70ecef6e1913ed2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://087318b21c528119f649899f5b5580566dd8d7b0303d4904bd0e8580c3545f14\",\"dweb:/ipfs/Qmbn5Mj7aUn8hJuQ8VrQjjEXRsXyJKykgnjR9p4C3nfLtL\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x83fe24f5c04a56091e50f4a345ff504c8bff658a76d4c43b16878c8f940c53b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4c3df1a7ca104b633a7d81c6c6f5192367d150cd5a32cba81f7f27012729013\",\"dweb:/ipfs/QmSim72e3ZVsfgZt8UceCvbiSuMRHR6WDsiamqNzZahGSY\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x7d2b8ba4b256bfcac347991b75242f9bc37f499c5236af50cf09d0b35943dc0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d8eeaf6afe00229af4c232ca058bb08b7a24cc3886f0b387159ac49ffd8b5312\",\"dweb:/ipfs/QmdnVKmDDWDvdRr6vtrxy3G6WafqA2TAhUZv1UFMsm4B4r\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xf101e8720213560fab41104d53b3cc7ba0456ef3a98455aa7f022391783144a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e7820bcf567e6892d937c3cb10db263a4042e446799bca602535868d822384e\",\"dweb:/ipfs/QmPG2oeDjKncqsEeyYGjAN7CwAJmMgHterXGGnpzhha4z7\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xd9517254724276e2e8de3769183c1f738f445f0095c26fd9b86d3c6687e887b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e604bcdcd5e5b2fb299ad09769cde6db19d5aa1929d1b5e939234a0f10d7eb8\",\"dweb:/ipfs/Qmd8hXE3GZfBHuWx3RNiYgFW2ci7KvHtib8DiwzJ2dgo9V\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0xd32fb7f530a914b1083d10a6bed3a586f2451952fec04fe542bcc670a82f7ba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af63ab940a34687c45f0ad84960b048fc5f49330c92ccb422db7822a444733b9\",\"dweb:/ipfs/QmUShaQEu8HS1GjDnsMJQ8jkZEBrecn6NuDZ3pfjY1gVck\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x3336baae5cf23e94274d75336e2d412193be508504aee185e61dc7d58cd05c8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39a05eec7083dfa0cc7e0cbfe6cd1bd085a340af1ede93fdff3ad047c5fb3d8e\",\"dweb:/ipfs/QmVApz5fCUq2QC8gKTsNNdCmcedJ3ETHp68zR5N3WUKS4r\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x90565a39ae45c80f0468dc96c7b20d0afc3055f344c8203a0c9258239f350b9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26e8b38a7ac8e7b4463af00cf7fff1bf48ae9875765bf4f7751e100124d0bc8c\",\"dweb:/ipfs/QmWcsmkVr24xmmjfnBQZoemFniXjj3vwT78Cz6uqZW1Hux\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0x78450f4e3b722cce467b21e285f72ce5eaf361e9ba9dd2241a413926246773cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103065051300cd995fd4599ba91188d4071b92175b52f26110e02db091617c0\",\"dweb:/ipfs/QmSyDz67R2HCypDE8Pacn3voVwxw9x17NM66q47YgBnGqc\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x391d3ba97ab6856a16b225d6ee29617ad15ff00db70f3b4df1ab5ea33aa47c9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d636ba90bbbeed04a1ea7fe9ec2466757e30fd38ba2ca173636dbf69a518735e\",\"dweb:/ipfs/QmQwCB2BHnEuYR22PYt9HkpbgeFDhq4rHmaYqAZbX3WRC7\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x5718c5df9bd67ac68a796961df938821bb5dc0cd4c6118d77e9145afb187409b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d10e1d9b26042424789246603906ad06143bf9a928f4e99de8b5e3bdc662f549\",\"dweb:/ipfs/Qmejonoaj5MLekPus229rJQHcC6E9dz2xorjHJR84fMfmn\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0xa28007762d9da9db878dd421960c8cb9a10471f47ab5c1b3309bfe48e9e79ff4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://796ab6e88af7bf0e78def0f059310c903af6a312b565344e0ff524a0f26e81c6\",\"dweb:/ipfs/QmcsVgLgzWdor3UnAztUkXKNGcysm1MPneWksF72AvnwBx\"]},\"project:/contracts/Nftzi.sol\":{\"keccak256\":\"0x840b74c9b672201694efd05810b8bf7579b3a514d711fce4b78fa23c9284933e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f5caf032b495358a5596b15652b9087d6cc178fb5b59b8f34ccbeeed76b9603\",\"dweb:/ipfs/Qmd62D1w2kswQArg2pLb8JZq7WCC9v4TYDxnYe7dFR3qjS\"]}},\"version\":1}",
+ "bytecode": "0x6080604052670de0b6b3a7640000600655662386f26fc100006007553480156200002857600080fd5b506040518060400160405280600581526020017f4e66747a690000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4e46545a000000000000000000000000000000000000000000000000000000008152508160009080519060200190620000ad9291906200011a565b508060019080519060200190620000c69291906200011a565b50505042600881905550620000e7600a6200010460201b620016221760201c565b620000fe600b6200010460201b620016221760201c565b6200022f565b6001816000016000828254019250508190555050565b8280546200012890620001f9565b90600052602060002090601f0160209004810192826200014c576000855562000198565b82601f106200016757805160ff191683800117855562000198565b8280016001018555821562000198579182015b82811115620001975782518255916020019190600101906200017a565b5b509050620001a79190620001ab565b5090565b5b80821115620001c6576000816000905550600101620001ac565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200021257607f821691505b60208210811415620002295762000228620001ca565b5b50919050565b613c3e806200023f6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80637456be7d116100ad578063c6f0577111610071578063c6f0577114610306578063c87b56dd14610322578063db006a7514610352578063e79c28fe1461036e578063e985e9c51461038c57610121565b80637456be7d1461027657806395d89b4114610292578063a22cb465146102b0578063a69bd72c146102cc578063b88d4fde146102ea57610121565b8063095ea7b3116100f4578063095ea7b3146101c257806323b872dd146101de57806342842e0e146101fa5780636352211e1461021657806370a082311461024657610121565b806301ffc9a71461012657806306ef93ad1461015657806306fdde0314610174578063081812fc14610192575b600080fd5b610140600480360381019061013b919061268c565b6103bc565b60405161014d91906126d4565b60405180910390f35b61015e61049e565b60405161016b9190612708565b60405180910390f35b61017c6104a4565b60405161018991906127bc565b60405180910390f35b6101ac60048036038101906101a7919061280a565b610536565b6040516101b99190612878565b60405180910390f35b6101dc60048036038101906101d791906128bf565b6105bb565b005b6101f860048036038101906101f391906128ff565b6106d3565b005b610214600480360381019061020f91906128ff565b610733565b005b610230600480360381019061022b919061280a565b610753565b60405161023d9190612878565b60405180910390f35b610260600480360381019061025b9190612952565b610805565b60405161026d9190612708565b60405180910390f35b610290600480360381019061028b919061280a565b6108bd565b005b61029a610bcf565b6040516102a791906127bc565b60405180910390f35b6102ca60048036038101906102c591906129ab565b610c61565b005b6102d4610de2565b6040516102e19190612708565b60405180910390f35b61030460048036038101906102ff9190612b20565b610de8565b005b610320600480360381019061031b9190612c44565b610e4a565b005b61033c6004803603810190610337919061280a565b610f35565b60405161034991906127bc565b60405180910390f35b61036c6004803603810190610367919061280a565b611028565b005b610376611328565b6040516103839190612e53565b60405180910390f35b6103a660048036038101906103a19190612e75565b61158e565b6040516103b391906126d4565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061048757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610497575061049682611638565b5b9050919050565b60075481565b6060600080546104b390612ee4565b80601f01602080910402602001604051908101604052809291908181526020018280546104df90612ee4565b801561052c5780601f106105015761010080835404028352916020019161052c565b820191906000526020600020905b81548152906001019060200180831161050f57829003601f168201915b5050505050905090565b6000610541826116a2565b610580576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057790612f88565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006105c682610753565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062e9061301a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661065661170e565b73ffffffffffffffffffffffffffffffffffffffff16148061068557506106848161067f61170e565b61158e565b5b6106c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106bb906130ac565b60405180910390fd5b6106ce8383611716565b505050565b6106e46106de61170e565b826117cf565b610723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071a9061313e565b60405180910390fd5b61072e838383611889565b505050565b61074e83838360405180602001604052806000815250610de8565b505050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156107fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f3906131d0565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610876576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086d90613262565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108c6816116a2565b610905576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fc906132f4565b60405180910390fd5b6000600f600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506006548173ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016109799190612878565b602060405180830381865afa158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba9190613329565b10156109c557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166323b872dd33306006546040518463ffffffff1660e01b8152600401610a0493929190613356565b6020604051808303816000875af1158015610a23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4791906133a2565b50600754600654610a5891906133fe565b600e60008481526020019081526020016000206000828254610a7a9190613432565b925050819055506000610a8d600b611ae5565b905060405180606001604052804281526020018481526020013373ffffffffffffffffffffffffffffffffffffffff1681525060106000838152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050610b7f600d600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16338560405180602001604052806000815250611af3565b6009819080600181540180825580915050600190039060005260206000200160009091909190915055806011600085815260200190815260200160002081905550610bca600b611622565b505050565b606060018054610bde90612ee4565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0a90612ee4565b8015610c575780601f10610c2c57610100808354040283529160200191610c57565b820191906000526020600020905b815481529060010190602001808311610c3a57829003601f168201915b5050505050905090565b610c6961170e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cce906134d4565b60405180910390fd5b8060056000610ce461170e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610d9161170e565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610dd691906126d4565b60405180910390a35050565b60065481565b610df9610df361170e565b836117cf565b610e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2f9061313e565b60405180910390fd5b610e4484848484611af3565b50505050565b610e52611b4f565b6000610e5e600a611ae5565b9050610e6a600a611622565b610e7b610e7561170e565b82611b60565b610e858184611b7e565b610e8d61170e565b600d600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600f600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6060610f40826116a2565b610f7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7690613566565b60405180910390fd5b6000600c60008481526020019081526020016000208054610f9f90612ee4565b80601f0160208091040260200160405190810160405280929190818152602001828054610fcb90612ee4565b80156110185780601f10610fed57610100808354040283529160200191611018565b820191906000526020600020905b815481529060010190602001808311610ffb57829003601f168201915b5050505050905080915050919050565b42600881905550611038816116a2565b611077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106e906132f4565b60405180910390fd5b600d600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611118576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110f906135f8565b60405180910390fd5b6000603c600e60008481526020019081526020016000205461113a9190613647565b9050600060106000601160008681526020019081526020016000205481526020019081526020016000206000015460085461117591906133fe565b9050600081836111859190613678565b90506000600f600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016111f99190612878565b602060405180830381865afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a9190613329565b101561124557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600d600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b81526004016112b39291906136d2565b6020604051808303816000875af11580156112d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f691906133a2565b5081600e6000878152602001908152602001600020600082825461131a91906133fe565b925050819055505050505050565b6060806000611337600a611ae5565b90506000811115611586578067ffffffffffffffff81111561135c5761135b6129f5565b5b60405190808252806020026020018201604052801561139557816020015b61138261251b565b81526020019060019003908161137a5790505b5091506000600190505b81811015611584576040518060c00160405280828152602001600c600084815260200190815260200160002080546113d690612ee4565b80601f016020809104026020016040519081016040528092919081815260200182805461140290612ee4565b801561144f5780601f106114245761010080835404028352916020019161144f565b820191906000526020600020905b81548152906001019060200180831161143257829003601f168201915b50505050508152602001600d600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016010600060116000868152602001908152602001600020548152602001908152602001600020600001548152602001601060006011600086815260200190815260200160002054815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600e600084815260200190815260200160002054815250838281518110611566576115656136fb565b5b6020026020010181905250808061157c9061372a565b91505061139f565b505b819250505090565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6001816000016000828254019250508190555050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661178983610753565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006117da826116a2565b611819576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611810906137e5565b60405180910390fd5b6000600d600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161491505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166118a982610753565b73ffffffffffffffffffffffffffffffffffffffff16146118ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f690613877565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561196f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196690613909565b60405180910390fd5b61197a838383611bf2565b611985600082611716565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119d591906133fe565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a2c9190613432565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600081600001549050919050565b611afe848484611889565b611b0a84848484611bf7565b611b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b409061399b565b60405180910390fd5b50505050565b42600881905550611b5e611d7f565b565b611b7a8282604051806020016040528060008152506120b9565b5050565b611b87826116a2565b611bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbd90613a2d565b60405180910390fd5b80600c60008481526020019081526020016000209080519060200190611bed92919061257d565b505050565b505050565b6000611c188473ffffffffffffffffffffffffffffffffffffffff16612114565b15611d72578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611c4161170e565b8786866040518563ffffffff1660e01b8152600401611c639493929190613aa2565b6020604051808303816000875af1925050508015611c9f57506040513d601f19601f82011682018060405250810190611c9c9190613b03565b60015b611d22573d8060008114611ccf576040519150601f19603f3d011682016040523d82523d6000602084013e611cd4565b606091505b50600081511415611d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d119061399b565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611d77565b600190505b949350505050565b600060098054905067ffffffffffffffff811115611da057611d9f6129f5565b5b604051908082528060200260200182016040528015611dce5781602001602082028036833780820191505090505b50905060005b600980549050811015611efd5760006010600060098481548110611dfb57611dfa6136fb565b5b9060005260206000200154815260200190815260200160002060405180606001604052908160008201548152602001600182015481526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050603c8160000151600854611e9f91906133fe565b1015611eab5750611efd565b60098281548110611ebf57611ebe6136fb565b5b9060005260206000200154838381518110611edd57611edc6136fb565b5b602002602001018181525050508080611ef59061372a565b915050611dd4565b5060005b81518110156120b5576000828281518110611f1f57611f1e6136fb565b5b602002602001015111156120a257600060106000848481518110611f4657611f456136fb565b5b6020026020010151815260200190815260200160002060405180606001604052908160008201548152602001600182015481526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050611fe581602001518260400151612127565b60106000848481518110611ffc57611ffb6136fb565b5b6020026020010151815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550506009600081548110612061576120606136fb565b5b906000526020600020016000905560116000848481518110612086576120856136fb565b5b6020026020010151815260200190815260200160002060009055505b80806120ad9061372a565b915050611f01565b5050565b6120c3838361234d565b6120d06000848484611bf7565b61210f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121069061399b565b60405180910390fd5b505050565b600080823b905060008111915050919050565b6000600f600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600e6000848152602001908152602001600020548173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016121ac9190612878565b602060405180830381865afa1580156121c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ed9190613329565b10156121f857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600d600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e6000878152602001908152602001600020546040518363ffffffff1660e01b81526004016122799291906136d2565b6020604051808303816000875af1158015612298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122bc91906133a2565b50600e600084815260200190815260200160002054600e600085815260200190815260200160002060008282546122f391906133fe565b9250508190555061234882600d600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560405180602001604052806000815250611af3565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156123bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b490613b7c565b60405180910390fd5b6123c6816116a2565b15612406576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123fd90613be8565b60405180910390fd5b61241260008383611bf2565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124629190613432565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6040518060c001604052806000815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b82805461258990612ee4565b90600052602060002090601f0160209004810192826125ab57600085556125f2565b82601f106125c457805160ff19168380011785556125f2565b828001600101855582156125f2579182015b828111156125f15782518255916020019190600101906125d6565b5b5090506125ff9190612603565b5090565b5b8082111561261c576000816000905550600101612604565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61266981612634565b811461267457600080fd5b50565b60008135905061268681612660565b92915050565b6000602082840312156126a2576126a161262a565b5b60006126b084828501612677565b91505092915050565b60008115159050919050565b6126ce816126b9565b82525050565b60006020820190506126e960008301846126c5565b92915050565b6000819050919050565b612702816126ef565b82525050565b600060208201905061271d60008301846126f9565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561275d578082015181840152602081019050612742565b8381111561276c576000848401525b50505050565b6000601f19601f8301169050919050565b600061278e82612723565b612798818561272e565b93506127a881856020860161273f565b6127b181612772565b840191505092915050565b600060208201905081810360008301526127d68184612783565b905092915050565b6127e7816126ef565b81146127f257600080fd5b50565b600081359050612804816127de565b92915050565b6000602082840312156128205761281f61262a565b5b600061282e848285016127f5565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061286282612837565b9050919050565b61287281612857565b82525050565b600060208201905061288d6000830184612869565b92915050565b61289c81612857565b81146128a757600080fd5b50565b6000813590506128b981612893565b92915050565b600080604083850312156128d6576128d561262a565b5b60006128e4858286016128aa565b92505060206128f5858286016127f5565b9150509250929050565b6000806000606084860312156129185761291761262a565b5b6000612926868287016128aa565b9350506020612937868287016128aa565b9250506040612948868287016127f5565b9150509250925092565b6000602082840312156129685761296761262a565b5b6000612976848285016128aa565b91505092915050565b612988816126b9565b811461299357600080fd5b50565b6000813590506129a58161297f565b92915050565b600080604083850312156129c2576129c161262a565b5b60006129d0858286016128aa565b92505060206129e185828601612996565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a2d82612772565b810181811067ffffffffffffffff82111715612a4c57612a4b6129f5565b5b80604052505050565b6000612a5f612620565b9050612a6b8282612a24565b919050565b600067ffffffffffffffff821115612a8b57612a8a6129f5565b5b612a9482612772565b9050602081019050919050565b82818337600083830152505050565b6000612ac3612abe84612a70565b612a55565b905082815260208101848484011115612adf57612ade6129f0565b5b612aea848285612aa1565b509392505050565b600082601f830112612b0757612b066129eb565b5b8135612b17848260208601612ab0565b91505092915050565b60008060008060808587031215612b3a57612b3961262a565b5b6000612b48878288016128aa565b9450506020612b59878288016128aa565b9350506040612b6a878288016127f5565b925050606085013567ffffffffffffffff811115612b8b57612b8a61262f565b5b612b9787828801612af2565b91505092959194509250565b600067ffffffffffffffff821115612bbe57612bbd6129f5565b5b612bc782612772565b9050602081019050919050565b6000612be7612be284612ba3565b612a55565b905082815260208101848484011115612c0357612c026129f0565b5b612c0e848285612aa1565b509392505050565b600082601f830112612c2b57612c2a6129eb565b5b8135612c3b848260208601612bd4565b91505092915050565b60008060408385031215612c5b57612c5a61262a565b5b600083013567ffffffffffffffff811115612c7957612c7861262f565b5b612c8585828601612c16565b9250506020612c96858286016128aa565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612cd5816126ef565b82525050565b600082825260208201905092915050565b6000612cf782612723565b612d018185612cdb565b9350612d1181856020860161273f565b612d1a81612772565b840191505092915050565b612d2e81612857565b82525050565b600060c083016000830151612d4c6000860182612ccc565b5060208301518482036020860152612d648282612cec565b9150506040830151612d796040860182612d25565b506060830151612d8c6060860182612ccc565b506080830151612d9f6080860182612d25565b5060a0830151612db260a0860182612ccc565b508091505092915050565b6000612dc98383612d34565b905092915050565b6000602082019050919050565b6000612de982612ca0565b612df38185612cab565b935083602082028501612e0585612cbc565b8060005b85811015612e415784840389528151612e228582612dbd565b9450612e2d83612dd1565b925060208a01995050600181019050612e09565b50829750879550505050505092915050565b60006020820190508181036000830152612e6d8184612dde565b905092915050565b60008060408385031215612e8c57612e8b61262a565b5b6000612e9a858286016128aa565b9250506020612eab858286016128aa565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612efc57607f821691505b60208210811415612f1057612f0f612eb5565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000612f72602c8361272e565b9150612f7d82612f16565b604082019050919050565b60006020820190508181036000830152612fa181612f65565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061300460218361272e565b915061300f82612fa8565b604082019050919050565b6000602082019050818103600083015261303381612ff7565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b600061309660388361272e565b91506130a18261303a565b604082019050919050565b600060208201905081810360008301526130c581613089565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b600061312860318361272e565b9150613133826130cc565b604082019050919050565b600060208201905081810360008301526131578161311b565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006131ba60298361272e565b91506131c58261315e565b604082019050919050565b600060208201905081810360008301526131e9816131ad565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b600061324c602a8361272e565b9150613257826131f0565b604082019050919050565b6000602082019050818103600083015261327b8161323f565b9050919050565b7f4552433732313a2072656e7420717565727920666f72206e6f6e65786973746560008201527f6e7420746f6b656e000000000000000000000000000000000000000000000000602082015250565b60006132de60288361272e565b91506132e982613282565b604082019050919050565b6000602082019050818103600083015261330d816132d1565b9050919050565b600081519050613323816127de565b92915050565b60006020828403121561333f5761333e61262a565b5b600061334d84828501613314565b91505092915050565b600060608201905061336b6000830186612869565b6133786020830185612869565b61338560408301846126f9565b949350505050565b60008151905061339c8161297f565b92915050565b6000602082840312156133b8576133b761262a565b5b60006133c68482850161338d565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613409826126ef565b9150613414836126ef565b925082821015613427576134266133cf565b5b828203905092915050565b600061343d826126ef565b9150613448836126ef565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561347d5761347c6133cf565b5b828201905092915050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006134be60198361272e565b91506134c982613488565b602082019050919050565b600060208201905081810360008301526134ed816134b1565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000613550602f8361272e565b915061355b826134f4565b604082019050919050565b6000602082019050818103600083015261357f81613543565b9050919050565b7f52656465656d3a2063616c6c6572206973206e6f74207468652063726561746f60008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006135e260218361272e565b91506135ed82613586565b604082019050919050565b60006020820190508181036000830152613611816135d5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613652826126ef565b915061365d836126ef565b92508261366d5761366c613618565b5b828204905092915050565b6000613683826126ef565b915061368e836126ef565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156136c7576136c66133cf565b5b828202905092915050565b60006040820190506136e76000830185612869565b6136f460208301846126f9565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613735826126ef565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613768576137676133cf565b5b600182019050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b60006137cf602c8361272e565b91506137da82613773565b604082019050919050565b600060208201905081810360008301526137fe816137c2565b9050919050565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b600061386160298361272e565b915061386c82613805565b604082019050919050565b6000602082019050818103600083015261389081613854565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006138f360248361272e565b91506138fe82613897565b604082019050919050565b60006020820190508181036000830152613922816138e6565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061398560328361272e565b915061399082613929565b604082019050919050565b600060208201905081810360008301526139b481613978565b9050919050565b7f4552433732314d657461646174613a205552492073657420666f72206e6f6e6560008201527f78697374656e7420746f6b656e00000000000000000000000000000000000000602082015250565b6000613a17602d8361272e565b9150613a22826139bb565b604082019050919050565b60006020820190508181036000830152613a4681613a0a565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000613a7482613a4d565b613a7e8185613a58565b9350613a8e81856020860161273f565b613a9781612772565b840191505092915050565b6000608082019050613ab76000830187612869565b613ac46020830186612869565b613ad160408301856126f9565b8181036060830152613ae38184613a69565b905095945050505050565b600081519050613afd81612660565b92915050565b600060208284031215613b1957613b1861262a565b5b6000613b2784828501613aee565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613b6660208361272e565b9150613b7182613b30565b602082019050919050565b60006020820190508181036000830152613b9581613b59565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613bd2601c8361272e565b9150613bdd82613b9c565b602082019050919050565b60006020820190508181036000830152613c0181613bc5565b905091905056fea2646970667358221220e64497f17ea12887518443d07c97bceb5ad9a9093296ad6349211c348a348af864736f6c634300080a0033",
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c80637456be7d116100ad578063c6f0577111610071578063c6f0577114610306578063c87b56dd14610322578063db006a7514610352578063e79c28fe1461036e578063e985e9c51461038c57610121565b80637456be7d1461027657806395d89b4114610292578063a22cb465146102b0578063a69bd72c146102cc578063b88d4fde146102ea57610121565b8063095ea7b3116100f4578063095ea7b3146101c257806323b872dd146101de57806342842e0e146101fa5780636352211e1461021657806370a082311461024657610121565b806301ffc9a71461012657806306ef93ad1461015657806306fdde0314610174578063081812fc14610192575b600080fd5b610140600480360381019061013b919061268c565b6103bc565b60405161014d91906126d4565b60405180910390f35b61015e61049e565b60405161016b9190612708565b60405180910390f35b61017c6104a4565b60405161018991906127bc565b60405180910390f35b6101ac60048036038101906101a7919061280a565b610536565b6040516101b99190612878565b60405180910390f35b6101dc60048036038101906101d791906128bf565b6105bb565b005b6101f860048036038101906101f391906128ff565b6106d3565b005b610214600480360381019061020f91906128ff565b610733565b005b610230600480360381019061022b919061280a565b610753565b60405161023d9190612878565b60405180910390f35b610260600480360381019061025b9190612952565b610805565b60405161026d9190612708565b60405180910390f35b610290600480360381019061028b919061280a565b6108bd565b005b61029a610bcf565b6040516102a791906127bc565b60405180910390f35b6102ca60048036038101906102c591906129ab565b610c61565b005b6102d4610de2565b6040516102e19190612708565b60405180910390f35b61030460048036038101906102ff9190612b20565b610de8565b005b610320600480360381019061031b9190612c44565b610e4a565b005b61033c6004803603810190610337919061280a565b610f35565b60405161034991906127bc565b60405180910390f35b61036c6004803603810190610367919061280a565b611028565b005b610376611328565b6040516103839190612e53565b60405180910390f35b6103a660048036038101906103a19190612e75565b61158e565b6040516103b391906126d4565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061048757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610497575061049682611638565b5b9050919050565b60075481565b6060600080546104b390612ee4565b80601f01602080910402602001604051908101604052809291908181526020018280546104df90612ee4565b801561052c5780601f106105015761010080835404028352916020019161052c565b820191906000526020600020905b81548152906001019060200180831161050f57829003601f168201915b5050505050905090565b6000610541826116a2565b610580576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057790612f88565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006105c682610753565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062e9061301a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661065661170e565b73ffffffffffffffffffffffffffffffffffffffff16148061068557506106848161067f61170e565b61158e565b5b6106c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106bb906130ac565b60405180910390fd5b6106ce8383611716565b505050565b6106e46106de61170e565b826117cf565b610723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071a9061313e565b60405180910390fd5b61072e838383611889565b505050565b61074e83838360405180602001604052806000815250610de8565b505050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156107fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f3906131d0565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610876576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086d90613262565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108c6816116a2565b610905576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fc906132f4565b60405180910390fd5b6000600f600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506006548173ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016109799190612878565b602060405180830381865afa158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba9190613329565b10156109c557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166323b872dd33306006546040518463ffffffff1660e01b8152600401610a0493929190613356565b6020604051808303816000875af1158015610a23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4791906133a2565b50600754600654610a5891906133fe565b600e60008481526020019081526020016000206000828254610a7a9190613432565b925050819055506000610a8d600b611ae5565b905060405180606001604052804281526020018481526020013373ffffffffffffffffffffffffffffffffffffffff1681525060106000838152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050610b7f600d600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16338560405180602001604052806000815250611af3565b6009819080600181540180825580915050600190039060005260206000200160009091909190915055806011600085815260200190815260200160002081905550610bca600b611622565b505050565b606060018054610bde90612ee4565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0a90612ee4565b8015610c575780601f10610c2c57610100808354040283529160200191610c57565b820191906000526020600020905b815481529060010190602001808311610c3a57829003601f168201915b5050505050905090565b610c6961170e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cce906134d4565b60405180910390fd5b8060056000610ce461170e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610d9161170e565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610dd691906126d4565b60405180910390a35050565b60065481565b610df9610df361170e565b836117cf565b610e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2f9061313e565b60405180910390fd5b610e4484848484611af3565b50505050565b610e52611b4f565b6000610e5e600a611ae5565b9050610e6a600a611622565b610e7b610e7561170e565b82611b60565b610e858184611b7e565b610e8d61170e565b600d600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600f600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6060610f40826116a2565b610f7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7690613566565b60405180910390fd5b6000600c60008481526020019081526020016000208054610f9f90612ee4565b80601f0160208091040260200160405190810160405280929190818152602001828054610fcb90612ee4565b80156110185780601f10610fed57610100808354040283529160200191611018565b820191906000526020600020905b815481529060010190602001808311610ffb57829003601f168201915b5050505050905080915050919050565b42600881905550611038816116a2565b611077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106e906132f4565b60405180910390fd5b600d600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611118576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110f906135f8565b60405180910390fd5b6000603c600e60008481526020019081526020016000205461113a9190613647565b9050600060106000601160008681526020019081526020016000205481526020019081526020016000206000015460085461117591906133fe565b9050600081836111859190613678565b90506000600f600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016111f99190612878565b602060405180830381865afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a9190613329565b101561124557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600d600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b81526004016112b39291906136d2565b6020604051808303816000875af11580156112d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f691906133a2565b5081600e6000878152602001908152602001600020600082825461131a91906133fe565b925050819055505050505050565b6060806000611337600a611ae5565b90506000811115611586578067ffffffffffffffff81111561135c5761135b6129f5565b5b60405190808252806020026020018201604052801561139557816020015b61138261251b565b81526020019060019003908161137a5790505b5091506000600190505b81811015611584576040518060c00160405280828152602001600c600084815260200190815260200160002080546113d690612ee4565b80601f016020809104026020016040519081016040528092919081815260200182805461140290612ee4565b801561144f5780601f106114245761010080835404028352916020019161144f565b820191906000526020600020905b81548152906001019060200180831161143257829003601f168201915b50505050508152602001600d600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016010600060116000868152602001908152602001600020548152602001908152602001600020600001548152602001601060006011600086815260200190815260200160002054815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600e600084815260200190815260200160002054815250838281518110611566576115656136fb565b5b6020026020010181905250808061157c9061372a565b91505061139f565b505b819250505090565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6001816000016000828254019250508190555050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661178983610753565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006117da826116a2565b611819576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611810906137e5565b60405180910390fd5b6000600d600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161491505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166118a982610753565b73ffffffffffffffffffffffffffffffffffffffff16146118ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f690613877565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561196f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196690613909565b60405180910390fd5b61197a838383611bf2565b611985600082611716565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119d591906133fe565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a2c9190613432565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600081600001549050919050565b611afe848484611889565b611b0a84848484611bf7565b611b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b409061399b565b60405180910390fd5b50505050565b42600881905550611b5e611d7f565b565b611b7a8282604051806020016040528060008152506120b9565b5050565b611b87826116a2565b611bc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbd90613a2d565b60405180910390fd5b80600c60008481526020019081526020016000209080519060200190611bed92919061257d565b505050565b505050565b6000611c188473ffffffffffffffffffffffffffffffffffffffff16612114565b15611d72578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611c4161170e565b8786866040518563ffffffff1660e01b8152600401611c639493929190613aa2565b6020604051808303816000875af1925050508015611c9f57506040513d601f19601f82011682018060405250810190611c9c9190613b03565b60015b611d22573d8060008114611ccf576040519150601f19603f3d011682016040523d82523d6000602084013e611cd4565b606091505b50600081511415611d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d119061399b565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611d77565b600190505b949350505050565b600060098054905067ffffffffffffffff811115611da057611d9f6129f5565b5b604051908082528060200260200182016040528015611dce5781602001602082028036833780820191505090505b50905060005b600980549050811015611efd5760006010600060098481548110611dfb57611dfa6136fb565b5b9060005260206000200154815260200190815260200160002060405180606001604052908160008201548152602001600182015481526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050603c8160000151600854611e9f91906133fe565b1015611eab5750611efd565b60098281548110611ebf57611ebe6136fb565b5b9060005260206000200154838381518110611edd57611edc6136fb565b5b602002602001018181525050508080611ef59061372a565b915050611dd4565b5060005b81518110156120b5576000828281518110611f1f57611f1e6136fb565b5b602002602001015111156120a257600060106000848481518110611f4657611f456136fb565b5b6020026020010151815260200190815260200160002060405180606001604052908160008201548152602001600182015481526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050611fe581602001518260400151612127565b60106000848481518110611ffc57611ffb6136fb565b5b6020026020010151815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550506009600081548110612061576120606136fb565b5b906000526020600020016000905560116000848481518110612086576120856136fb565b5b6020026020010151815260200190815260200160002060009055505b80806120ad9061372a565b915050611f01565b5050565b6120c3838361234d565b6120d06000848484611bf7565b61210f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121069061399b565b60405180910390fd5b505050565b600080823b905060008111915050919050565b6000600f600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600e6000848152602001908152602001600020548173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016121ac9190612878565b602060405180830381865afa1580156121c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ed9190613329565b10156121f857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600d600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e6000878152602001908152602001600020546040518363ffffffff1660e01b81526004016122799291906136d2565b6020604051808303816000875af1158015612298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122bc91906133a2565b50600e600084815260200190815260200160002054600e600085815260200190815260200160002060008282546122f391906133fe565b9250508190555061234882600d600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560405180602001604052806000815250611af3565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156123bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b490613b7c565b60405180910390fd5b6123c6816116a2565b15612406576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123fd90613be8565b60405180910390fd5b61241260008383611bf2565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124629190613432565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6040518060c001604052806000815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b82805461258990612ee4565b90600052602060002090601f0160209004810192826125ab57600085556125f2565b82601f106125c457805160ff19168380011785556125f2565b828001600101855582156125f2579182015b828111156125f15782518255916020019190600101906125d6565b5b5090506125ff9190612603565b5090565b5b8082111561261c576000816000905550600101612604565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61266981612634565b811461267457600080fd5b50565b60008135905061268681612660565b92915050565b6000602082840312156126a2576126a161262a565b5b60006126b084828501612677565b91505092915050565b60008115159050919050565b6126ce816126b9565b82525050565b60006020820190506126e960008301846126c5565b92915050565b6000819050919050565b612702816126ef565b82525050565b600060208201905061271d60008301846126f9565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561275d578082015181840152602081019050612742565b8381111561276c576000848401525b50505050565b6000601f19601f8301169050919050565b600061278e82612723565b612798818561272e565b93506127a881856020860161273f565b6127b181612772565b840191505092915050565b600060208201905081810360008301526127d68184612783565b905092915050565b6127e7816126ef565b81146127f257600080fd5b50565b600081359050612804816127de565b92915050565b6000602082840312156128205761281f61262a565b5b600061282e848285016127f5565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061286282612837565b9050919050565b61287281612857565b82525050565b600060208201905061288d6000830184612869565b92915050565b61289c81612857565b81146128a757600080fd5b50565b6000813590506128b981612893565b92915050565b600080604083850312156128d6576128d561262a565b5b60006128e4858286016128aa565b92505060206128f5858286016127f5565b9150509250929050565b6000806000606084860312156129185761291761262a565b5b6000612926868287016128aa565b9350506020612937868287016128aa565b9250506040612948868287016127f5565b9150509250925092565b6000602082840312156129685761296761262a565b5b6000612976848285016128aa565b91505092915050565b612988816126b9565b811461299357600080fd5b50565b6000813590506129a58161297f565b92915050565b600080604083850312156129c2576129c161262a565b5b60006129d0858286016128aa565b92505060206129e185828601612996565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a2d82612772565b810181811067ffffffffffffffff82111715612a4c57612a4b6129f5565b5b80604052505050565b6000612a5f612620565b9050612a6b8282612a24565b919050565b600067ffffffffffffffff821115612a8b57612a8a6129f5565b5b612a9482612772565b9050602081019050919050565b82818337600083830152505050565b6000612ac3612abe84612a70565b612a55565b905082815260208101848484011115612adf57612ade6129f0565b5b612aea848285612aa1565b509392505050565b600082601f830112612b0757612b066129eb565b5b8135612b17848260208601612ab0565b91505092915050565b60008060008060808587031215612b3a57612b3961262a565b5b6000612b48878288016128aa565b9450506020612b59878288016128aa565b9350506040612b6a878288016127f5565b925050606085013567ffffffffffffffff811115612b8b57612b8a61262f565b5b612b9787828801612af2565b91505092959194509250565b600067ffffffffffffffff821115612bbe57612bbd6129f5565b5b612bc782612772565b9050602081019050919050565b6000612be7612be284612ba3565b612a55565b905082815260208101848484011115612c0357612c026129f0565b5b612c0e848285612aa1565b509392505050565b600082601f830112612c2b57612c2a6129eb565b5b8135612c3b848260208601612bd4565b91505092915050565b60008060408385031215612c5b57612c5a61262a565b5b600083013567ffffffffffffffff811115612c7957612c7861262f565b5b612c8585828601612c16565b9250506020612c96858286016128aa565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612cd5816126ef565b82525050565b600082825260208201905092915050565b6000612cf782612723565b612d018185612cdb565b9350612d1181856020860161273f565b612d1a81612772565b840191505092915050565b612d2e81612857565b82525050565b600060c083016000830151612d4c6000860182612ccc565b5060208301518482036020860152612d648282612cec565b9150506040830151612d796040860182612d25565b506060830151612d8c6060860182612ccc565b506080830151612d9f6080860182612d25565b5060a0830151612db260a0860182612ccc565b508091505092915050565b6000612dc98383612d34565b905092915050565b6000602082019050919050565b6000612de982612ca0565b612df38185612cab565b935083602082028501612e0585612cbc565b8060005b85811015612e415784840389528151612e228582612dbd565b9450612e2d83612dd1565b925060208a01995050600181019050612e09565b50829750879550505050505092915050565b60006020820190508181036000830152612e6d8184612dde565b905092915050565b60008060408385031215612e8c57612e8b61262a565b5b6000612e9a858286016128aa565b9250506020612eab858286016128aa565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612efc57607f821691505b60208210811415612f1057612f0f612eb5565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000612f72602c8361272e565b9150612f7d82612f16565b604082019050919050565b60006020820190508181036000830152612fa181612f65565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061300460218361272e565b915061300f82612fa8565b604082019050919050565b6000602082019050818103600083015261303381612ff7565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b600061309660388361272e565b91506130a18261303a565b604082019050919050565b600060208201905081810360008301526130c581613089565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b600061312860318361272e565b9150613133826130cc565b604082019050919050565b600060208201905081810360008301526131578161311b565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006131ba60298361272e565b91506131c58261315e565b604082019050919050565b600060208201905081810360008301526131e9816131ad565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b600061324c602a8361272e565b9150613257826131f0565b604082019050919050565b6000602082019050818103600083015261327b8161323f565b9050919050565b7f4552433732313a2072656e7420717565727920666f72206e6f6e65786973746560008201527f6e7420746f6b656e000000000000000000000000000000000000000000000000602082015250565b60006132de60288361272e565b91506132e982613282565b604082019050919050565b6000602082019050818103600083015261330d816132d1565b9050919050565b600081519050613323816127de565b92915050565b60006020828403121561333f5761333e61262a565b5b600061334d84828501613314565b91505092915050565b600060608201905061336b6000830186612869565b6133786020830185612869565b61338560408301846126f9565b949350505050565b60008151905061339c8161297f565b92915050565b6000602082840312156133b8576133b761262a565b5b60006133c68482850161338d565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613409826126ef565b9150613414836126ef565b925082821015613427576134266133cf565b5b828203905092915050565b600061343d826126ef565b9150613448836126ef565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561347d5761347c6133cf565b5b828201905092915050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006134be60198361272e565b91506134c982613488565b602082019050919050565b600060208201905081810360008301526134ed816134b1565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000613550602f8361272e565b915061355b826134f4565b604082019050919050565b6000602082019050818103600083015261357f81613543565b9050919050565b7f52656465656d3a2063616c6c6572206973206e6f74207468652063726561746f60008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006135e260218361272e565b91506135ed82613586565b604082019050919050565b60006020820190508181036000830152613611816135d5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613652826126ef565b915061365d836126ef565b92508261366d5761366c613618565b5b828204905092915050565b6000613683826126ef565b915061368e836126ef565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156136c7576136c66133cf565b5b828202905092915050565b60006040820190506136e76000830185612869565b6136f460208301846126f9565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613735826126ef565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613768576137676133cf565b5b600182019050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b60006137cf602c8361272e565b91506137da82613773565b604082019050919050565b600060208201905081810360008301526137fe816137c2565b9050919050565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b600061386160298361272e565b915061386c82613805565b604082019050919050565b6000602082019050818103600083015261389081613854565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006138f360248361272e565b91506138fe82613897565b604082019050919050565b60006020820190508181036000830152613922816138e6565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061398560328361272e565b915061399082613929565b604082019050919050565b600060208201905081810360008301526139b481613978565b9050919050565b7f4552433732314d657461646174613a205552492073657420666f72206e6f6e6560008201527f78697374656e7420746f6b656e00000000000000000000000000000000000000602082015250565b6000613a17602d8361272e565b9150613a22826139bb565b604082019050919050565b60006020820190508181036000830152613a4681613a0a565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000613a7482613a4d565b613a7e8185613a58565b9350613a8e81856020860161273f565b613a9781612772565b840191505092915050565b6000608082019050613ab76000830187612869565b613ac46020830186612869565b613ad160408301856126f9565b8181036060830152613ae38184613a69565b905095945050505050565b600081519050613afd81612660565b92915050565b600060208284031215613b1957613b1861262a565b5b6000613b2784828501613aee565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613b6660208361272e565b9150613b7182613b30565b602082019050919050565b60006020820190508181036000830152613b9581613b59565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613bd2601c8361272e565b9150613bdd82613b9c565b602082019050919050565b60006020820190508181036000830152613c0181613bc5565b905091905056fea2646970667358221220e64497f17ea12887518443d07c97bceb5ad9a9093296ad6349211c348a348af864736f6c634300080a0033",
+ "immutableReferences": {},
+ "generatedSources": [
+ {
+ "ast": {
+ "nodeType": "YulBlock",
+ "src": "0:516:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "35:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "52:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "55:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "45:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "45:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "45:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "149:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "152:4:14",
+ "type": "",
+ "value": "0x22"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "142:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "142:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "142:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "173:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "176:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "166:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "166:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "166:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x22",
+ "nodeType": "YulFunctionDefinition",
+ "src": "7:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "244:269:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "254:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "data",
+ "nodeType": "YulIdentifier",
+ "src": "268:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "274:1:14",
+ "type": "",
+ "value": "2"
+ }
+ ],
+ "functionName": {
+ "name": "div",
+ "nodeType": "YulIdentifier",
+ "src": "264:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "264:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "254:6:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "285:38:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "data",
+ "nodeType": "YulIdentifier",
+ "src": "315:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "321:1:14",
+ "type": "",
+ "value": "1"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "311:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "311:12:14"
+ },
+ "variables": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulTypedName",
+ "src": "289:18:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "362:51:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "376:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "390:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "398:4:14",
+ "type": "",
+ "value": "0x7f"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "386:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "386:17:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "376:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulIdentifier",
+ "src": "342:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "335:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "335:26:14"
+ },
+ "nodeType": "YulIf",
+ "src": "332:81:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "465:42:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x22",
+ "nodeType": "YulIdentifier",
+ "src": "479:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "479:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "479:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulIdentifier",
+ "src": "429:18:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "452:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "460:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "449:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "449:14:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "426:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "426:38:14"
+ },
+ "nodeType": "YulIf",
+ "src": "423:84:14"
+ }
+ ]
+ },
+ "name": "extract_byte_array_length",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "data",
+ "nodeType": "YulTypedName",
+ "src": "228:4:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "237:6:14",
+ "type": ""
+ }
+ ],
+ "src": "193:320:14"
+ }
+ ]
+ },
+ "contents": "{\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n}\n",
+ "id": 14,
+ "language": "Yul",
+ "name": "#utility.yul"
+ }
+ ],
+ "deployedGeneratedSources": [
+ {
+ "ast": {
+ "nodeType": "YulBlock",
+ "src": "0:40506:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "47:35:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "57:19:14",
+ "value": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "73:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "67:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "67:9:14"
+ },
+ "variableNames": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "57:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "allocate_unbounded",
+ "nodeType": "YulFunctionDefinition",
+ "returnVariables": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "40:6:14",
+ "type": ""
+ }
+ ],
+ "src": "7:75:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "177:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "194:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "197:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "187:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "187:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "187:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulFunctionDefinition",
+ "src": "88:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "300:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "317:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "320:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "310:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "310:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "310:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
+ "nodeType": "YulFunctionDefinition",
+ "src": "211:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "378:105:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "388:89:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "403:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "410:66:14",
+ "type": "",
+ "value": "0xffffffff00000000000000000000000000000000000000000000000000000000"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "399:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "399:78:14"
+ },
+ "variableNames": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulIdentifier",
+ "src": "388:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "cleanup_t_bytes4",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "360:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulTypedName",
+ "src": "370:7:14",
+ "type": ""
+ }
+ ],
+ "src": "334:149:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "531:78:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "587:16:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "596:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "599:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "589:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "589:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "589:12:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "554:5:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "578:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_bytes4",
+ "nodeType": "YulIdentifier",
+ "src": "561:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "561:23:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "551:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "551:34:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "544:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "544:42:14"
+ },
+ "nodeType": "YulIf",
+ "src": "541:62:14"
+ }
+ ]
+ },
+ "name": "validator_revert_t_bytes4",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "524:5:14",
+ "type": ""
+ }
+ ],
+ "src": "489:120:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "666:86:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "676:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "698:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "685:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "685:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "676:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "740:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "validator_revert_t_bytes4",
+ "nodeType": "YulIdentifier",
+ "src": "714:25:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "714:32:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "714:32:14"
+ }
+ ]
+ },
+ "name": "abi_decode_t_bytes4",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "644:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "652:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "660:5:14",
+ "type": ""
+ }
+ ],
+ "src": "615:137:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "823:262:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "869:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "871:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "871:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "871:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "844:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "853:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "840:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "840:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "865:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "836:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "836:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "833:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "962:116:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "977:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "991:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "981:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "1006:62:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "1040:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "1051:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1036:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1036:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "1060:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_bytes4",
+ "nodeType": "YulIdentifier",
+ "src": "1016:19:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1016:52:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "1006:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_bytes4",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "793:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "804:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "816:6:14",
+ "type": ""
+ }
+ ],
+ "src": "758:327:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1133:48:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1143:32:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "1168:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "1161:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1161:13:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "1154:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1154:21:14"
+ },
+ "variableNames": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulIdentifier",
+ "src": "1143:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "cleanup_t_bool",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "1115:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulTypedName",
+ "src": "1125:7:14",
+ "type": ""
+ }
+ ],
+ "src": "1091:90:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1246:50:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "1263:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "1283:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_bool",
+ "nodeType": "YulIdentifier",
+ "src": "1268:14:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1268:21:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "1256:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1256:34:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1256:34:14"
+ }
+ ]
+ },
+ "name": "abi_encode_t_bool_to_t_bool_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "1234:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "1241:3:14",
+ "type": ""
+ }
+ ],
+ "src": "1187:109:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1394:118:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1404:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "1416:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1427:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1412:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1412:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "1404:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "1478:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "1491:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1502:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1487:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1487:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_bool_to_t_bool_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "1440:37:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1440:65:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1440:65:14"
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "1366:9:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "1378:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "1389:4:14",
+ "type": ""
+ }
+ ],
+ "src": "1302:210:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1563:32:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1573:16:14",
+ "value": {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "1584:5:14"
+ },
+ "variableNames": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulIdentifier",
+ "src": "1573:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "1545:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulTypedName",
+ "src": "1555:7:14",
+ "type": ""
+ }
+ ],
+ "src": "1518:77:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1666:53:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "1683:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "1706:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "1688:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1688:24:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "1676:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1676:37:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1676:37:14"
+ }
+ ]
+ },
+ "name": "abi_encode_t_uint256_to_t_uint256_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "1654:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "1661:3:14",
+ "type": ""
+ }
+ ],
+ "src": "1601:118:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "1823:124:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "1833:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "1845:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1856:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1841:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1841:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "1833:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "1913:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "1926:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "1937:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "1922:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1922:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_uint256_to_t_uint256_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "1869:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "1869:71:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "1869:71:14"
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "1795:9:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "1807:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "1818:4:14",
+ "type": ""
+ }
+ ],
+ "src": "1725:222:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2012:40:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "2023:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2039:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "2033:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2033:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2023:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_length_t_string_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "1995:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "2005:6:14",
+ "type": ""
+ }
+ ],
+ "src": "1953:99:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2154:73:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "2171:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2176:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "2164:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2164:19:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2164:19:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "2192:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "2211:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2216:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2207:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2207:14:14"
+ },
+ "variableNames": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulIdentifier",
+ "src": "2192:11:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "2126:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "2131:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulTypedName",
+ "src": "2142:11:14",
+ "type": ""
+ }
+ ],
+ "src": "2058:169:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2282:258:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "2292:10:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2301:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "i",
+ "nodeType": "YulTypedName",
+ "src": "2296:1:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2361:63:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "2386:3:14"
+ },
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "2391:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2382:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2382:11:14"
+ },
+ {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "2405:3:14"
+ },
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "2410:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2401:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2401:11:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "2395:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2395:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "2375:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2375:39:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2375:39:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "2322:1:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2325:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "2319:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2319:13:14"
+ },
+ "nodeType": "YulForLoop",
+ "post": {
+ "nodeType": "YulBlock",
+ "src": "2333:19:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "2335:15:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "2344:1:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2347:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2340:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2340:10:14"
+ },
+ "variableNames": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "2335:1:14"
+ }
+ ]
+ }
+ ]
+ },
+ "pre": {
+ "nodeType": "YulBlock",
+ "src": "2315:3:14",
+ "statements": []
+ },
+ "src": "2311:113:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2458:76:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "2508:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2513:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2504:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2504:16:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2522:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "2497:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2497:27:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2497:27:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "2439:1:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2442:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "2436:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2436:13:14"
+ },
+ "nodeType": "YulIf",
+ "src": "2433:101:14"
+ }
+ ]
+ },
+ "name": "copy_memory_to_memory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "src",
+ "nodeType": "YulTypedName",
+ "src": "2264:3:14",
+ "type": ""
+ },
+ {
+ "name": "dst",
+ "nodeType": "YulTypedName",
+ "src": "2269:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "2274:6:14",
+ "type": ""
+ }
+ ],
+ "src": "2233:307:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2594:54:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "2604:38:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2622:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2629:2:14",
+ "type": "",
+ "value": "31"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2618:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2618:14:14"
+ },
+ {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2638:2:14",
+ "type": "",
+ "value": "31"
+ }
+ ],
+ "functionName": {
+ "name": "not",
+ "nodeType": "YulIdentifier",
+ "src": "2634:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2634:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "2614:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2614:28:14"
+ },
+ "variableNames": [
+ {
+ "name": "result",
+ "nodeType": "YulIdentifier",
+ "src": "2604:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "2577:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "result",
+ "nodeType": "YulTypedName",
+ "src": "2587:6:14",
+ "type": ""
+ }
+ ],
+ "src": "2546:102:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "2746:272:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "2756:53:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2803:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_length_t_string_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "2770:32:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2770:39:14"
+ },
+ "variables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "2760:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "2818:78:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "2884:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2889:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "2825:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2825:71:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "2818:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "2931:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "2938:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2927:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2927:16:14"
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "2945:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "2950:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "copy_memory_to_memory",
+ "nodeType": "YulIdentifier",
+ "src": "2905:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2905:52:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "2905:52:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "2966:46:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "2977:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "3004:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulIdentifier",
+ "src": "2982:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2982:29:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "2973:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "2973:39:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "2966:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "2727:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "2734:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "2742:3:14",
+ "type": ""
+ }
+ ],
+ "src": "2654:364:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3142:195:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "3152:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3164:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3175:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3160:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3160:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "3152:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3199:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3210:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3195:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3195:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "3218:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3224:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "3214:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3214:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "3188:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3188:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3188:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "3244:86:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "3316:6:14"
+ },
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "3325:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "3252:63:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3252:78:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "3244:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "3114:9:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "3126:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "3137:4:14",
+ "type": ""
+ }
+ ],
+ "src": "3024:313:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3386:79:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3443:16:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3452:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3455:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "3445:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3445:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3445:12:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "3409:5:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "3434:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "3416:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3416:24:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "3406:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3406:35:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "3399:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3399:43:14"
+ },
+ "nodeType": "YulIf",
+ "src": "3396:63:14"
+ }
+ ]
+ },
+ "name": "validator_revert_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "3379:5:14",
+ "type": ""
+ }
+ ],
+ "src": "3343:122:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3523:87:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "3533:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "3555:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "3542:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3542:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "3533:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "3598:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "validator_revert_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "3571:26:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3571:33:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3571:33:14"
+ }
+ ]
+ },
+ "name": "abi_decode_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "3501:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "3509:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "3517:5:14",
+ "type": ""
+ }
+ ],
+ "src": "3471:139:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3682:263:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3728:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "3730:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3730:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "3730:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "3703:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3712:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "3699:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3699:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3724:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "3695:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3695:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "3692:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "3821:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "3836:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "3850:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "3840:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "3865:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "3900:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "3911:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "3896:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3896:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "3920:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "3875:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "3875:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "3865:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "3652:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "3663:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "3675:6:14",
+ "type": ""
+ }
+ ],
+ "src": "3616:329:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "3996:81:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "4006:65:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "4021:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4028:42:14",
+ "type": "",
+ "value": "0xffffffffffffffffffffffffffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "4017:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4017:54:14"
+ },
+ "variableNames": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulIdentifier",
+ "src": "4006:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "cleanup_t_uint160",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "3978:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulTypedName",
+ "src": "3988:7:14",
+ "type": ""
+ }
+ ],
+ "src": "3951:126:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4128:51:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "4138:35:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "4167:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint160",
+ "nodeType": "YulIdentifier",
+ "src": "4149:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4149:24:14"
+ },
+ "variableNames": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulIdentifier",
+ "src": "4138:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "cleanup_t_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "4110:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "cleaned",
+ "nodeType": "YulTypedName",
+ "src": "4120:7:14",
+ "type": ""
+ }
+ ],
+ "src": "4083:96:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4250:53:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "4267:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "4290:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "4272:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4272:24:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "4260:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4260:37:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "4260:37:14"
+ }
+ ]
+ },
+ "name": "abi_encode_t_address_to_t_address_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "4238:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "4245:3:14",
+ "type": ""
+ }
+ ],
+ "src": "4185:118:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4407:124:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "4417:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "4429:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4440:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "4425:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4425:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "4417:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "4497:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "4510:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4521:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "4506:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4506:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_address_to_t_address_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "4453:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4453:71:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "4453:71:14"
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "4379:9:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "4391:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "4402:4:14",
+ "type": ""
+ }
+ ],
+ "src": "4309:222:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4580:79:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4637:16:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4646:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4649:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "4639:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4639:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "4639:12:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "4603:5:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "4628:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "4610:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4610:24:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "4600:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4600:35:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "4593:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4593:43:14"
+ },
+ "nodeType": "YulIf",
+ "src": "4590:63:14"
+ }
+ ]
+ },
+ "name": "validator_revert_t_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "4573:5:14",
+ "type": ""
+ }
+ ],
+ "src": "4537:122:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4717:87:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "4727:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "4749:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "4736:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4736:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "4727:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "4792:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "validator_revert_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "4765:26:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4765:33:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "4765:33:14"
+ }
+ ]
+ },
+ "name": "abi_decode_t_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "4695:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "4703:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "4711:5:14",
+ "type": ""
+ }
+ ],
+ "src": "4665:139:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4893:391:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "4939:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "4941:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4941:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "4941:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "4914:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "4923:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "4910:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4910:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "4935:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "4906:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "4906:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "4903:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "5032:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "5047:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5061:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "5051:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "5076:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5111:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "5122:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "5107:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5107:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5131:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "5086:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5086:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "5076:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "5159:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "5174:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5188:2:14",
+ "type": "",
+ "value": "32"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "5178:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "5204:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5239:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "5250:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "5235:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5235:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5259:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "5214:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5214:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "5204:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_addresst_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "4855:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "4866:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "4878:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "4886:6:14",
+ "type": ""
+ }
+ ],
+ "src": "4810:474:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "5390:519:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "5436:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "5438:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5438:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "5438:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5411:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5420:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "5407:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5407:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5432:2:14",
+ "type": "",
+ "value": "96"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "5403:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5403:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "5400:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "5529:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "5544:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5558:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "5548:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "5573:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5608:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "5619:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "5604:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5604:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5628:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "5583:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5583:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "5573:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "5656:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "5671:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5685:2:14",
+ "type": "",
+ "value": "32"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "5675:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "5701:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5736:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "5747:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "5732:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5732:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5756:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "5711:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5711:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "5701:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "5784:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "5799:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "5813:2:14",
+ "type": "",
+ "value": "64"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "5803:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "5829:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "5864:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "5875:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "5860:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5860:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "5884:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "5839:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5839:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value2",
+ "nodeType": "YulIdentifier",
+ "src": "5829:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_addresst_addresst_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "5344:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "5355:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "5367:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "5375:6:14",
+ "type": ""
+ },
+ {
+ "name": "value2",
+ "nodeType": "YulTypedName",
+ "src": "5383:6:14",
+ "type": ""
+ }
+ ],
+ "src": "5290:619:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "5981:263:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6027:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "6029:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6029:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "6029:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "6002:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "6011:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "5998:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5998:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6023:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "5994:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "5994:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "5991:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "6120:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "6135:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6149:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "6139:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "6164:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "6199:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "6210:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "6195:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6195:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "6219:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "6174:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6174:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "6164:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "5951:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "5962:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "5974:6:14",
+ "type": ""
+ }
+ ],
+ "src": "5915:329:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6290:76:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6344:16:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6353:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6356:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "6346:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6346:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "6346:12:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "6313:5:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "6335:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_bool",
+ "nodeType": "YulIdentifier",
+ "src": "6320:14:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6320:21:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "6310:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6310:32:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "6303:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6303:40:14"
+ },
+ "nodeType": "YulIf",
+ "src": "6300:60:14"
+ }
+ ]
+ },
+ "name": "validator_revert_t_bool",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "6283:5:14",
+ "type": ""
+ }
+ ],
+ "src": "6250:116:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6421:84:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "6431:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "6453:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "6440:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6440:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "6431:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "6493:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "validator_revert_t_bool",
+ "nodeType": "YulIdentifier",
+ "src": "6469:23:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6469:30:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "6469:30:14"
+ }
+ ]
+ },
+ "name": "abi_decode_t_bool",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "6399:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "6407:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "6415:5:14",
+ "type": ""
+ }
+ ],
+ "src": "6372:133:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6591:388:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "6637:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "6639:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6639:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "6639:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "6612:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "6621:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "6608:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6608:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6633:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "6604:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6604:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "6601:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "6730:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "6745:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6759:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "6749:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "6774:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "6809:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "6820:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "6805:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6805:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "6829:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "6784:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6784:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "6774:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "6857:115:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "6872:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "6886:2:14",
+ "type": "",
+ "value": "32"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "6876:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "6902:60:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "6934:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "6945:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "6930:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6930:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "6954:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_bool",
+ "nodeType": "YulIdentifier",
+ "src": "6912:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "6912:50:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "6902:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_addresst_bool",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "6553:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "6564:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "6576:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "6584:6:14",
+ "type": ""
+ }
+ ],
+ "src": "6511:468:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7074:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7091:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7094:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "7084:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7084:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7084:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
+ "nodeType": "YulFunctionDefinition",
+ "src": "6985:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7197:28:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7214:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7217:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "7207:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7207:12:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7207:12:14"
+ }
+ ]
+ },
+ "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
+ "nodeType": "YulFunctionDefinition",
+ "src": "7108:117:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7259:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7276:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7279:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "7269:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7269:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7269:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7373:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7376:4:14",
+ "type": "",
+ "value": "0x41"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "7366:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7366:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7366:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7397:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7400:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "7390:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7390:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7390:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x41",
+ "nodeType": "YulFunctionDefinition",
+ "src": "7231:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7460:238:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "7470:58:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "7492:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "7522:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulIdentifier",
+ "src": "7500:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7500:27:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "7488:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7488:40:14"
+ },
+ "variables": [
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulTypedName",
+ "src": "7474:10:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7639:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x41",
+ "nodeType": "YulIdentifier",
+ "src": "7641:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7641:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7641:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulIdentifier",
+ "src": "7582:10:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7594:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "7579:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7579:34:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulIdentifier",
+ "src": "7618:10:14"
+ },
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "7630:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "7615:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7615:22:14"
+ }
+ ],
+ "functionName": {
+ "name": "or",
+ "nodeType": "YulIdentifier",
+ "src": "7576:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7576:62:14"
+ },
+ "nodeType": "YulIf",
+ "src": "7573:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7677:2:14",
+ "type": "",
+ "value": "64"
+ },
+ {
+ "name": "newFreePtr",
+ "nodeType": "YulIdentifier",
+ "src": "7681:10:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "7670:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7670:22:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7670:22:14"
+ }
+ ]
+ },
+ "name": "finalize_allocation",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "7446:6:14",
+ "type": ""
+ },
+ {
+ "name": "size",
+ "nodeType": "YulTypedName",
+ "src": "7454:4:14",
+ "type": ""
+ }
+ ],
+ "src": "7417:281:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7745:88:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "7755:30:14",
+ "value": {
+ "arguments": [],
+ "functionName": {
+ "name": "allocate_unbounded",
+ "nodeType": "YulIdentifier",
+ "src": "7765:18:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7765:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "7755:6:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "7814:6:14"
+ },
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "7822:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "finalize_allocation",
+ "nodeType": "YulIdentifier",
+ "src": "7794:19:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7794:33:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "7794:33:14"
+ }
+ ]
+ },
+ "name": "allocate_memory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "size",
+ "nodeType": "YulTypedName",
+ "src": "7729:4:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "7738:6:14",
+ "type": ""
+ }
+ ],
+ "src": "7704:129:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "7905:241:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "8010:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x41",
+ "nodeType": "YulIdentifier",
+ "src": "8012:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8012:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8012:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "7982:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "7990:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "7979:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "7979:30:14"
+ },
+ "nodeType": "YulIf",
+ "src": "7976:56:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "8042:37:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "8072:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulIdentifier",
+ "src": "8050:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8050:29:14"
+ },
+ "variableNames": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "8042:4:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "8116:23:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "8128:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "8134:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "8124:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8124:15:14"
+ },
+ "variableNames": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "8116:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_allocation_size_t_bytes_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "7889:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "size",
+ "nodeType": "YulTypedName",
+ "src": "7900:4:14",
+ "type": ""
+ }
+ ],
+ "src": "7839:307:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "8203:103:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "8226:3:14"
+ },
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "8231:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "8236:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldatacopy",
+ "nodeType": "YulIdentifier",
+ "src": "8213:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8213:30:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8213:30:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "8284:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "8289:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "8280:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8280:16:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "8298:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "8273:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8273:27:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8273:27:14"
+ }
+ ]
+ },
+ "name": "copy_calldata_to_memory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "src",
+ "nodeType": "YulTypedName",
+ "src": "8185:3:14",
+ "type": ""
+ },
+ {
+ "name": "dst",
+ "nodeType": "YulTypedName",
+ "src": "8190:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "8195:6:14",
+ "type": ""
+ }
+ ],
+ "src": "8152:154:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "8395:327:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "8405:74:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "8471:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_allocation_size_t_bytes_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "8430:40:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8430:48:14"
+ }
+ ],
+ "functionName": {
+ "name": "allocate_memory",
+ "nodeType": "YulIdentifier",
+ "src": "8414:15:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8414:65:14"
+ },
+ "variableNames": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "8405:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "8495:5:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "8502:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "8488:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8488:21:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8488:21:14"
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "8518:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "8533:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "8540:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "8529:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8529:16:14"
+ },
+ "variables": [
+ {
+ "name": "dst",
+ "nodeType": "YulTypedName",
+ "src": "8522:3:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "8583:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
+ "nodeType": "YulIdentifier",
+ "src": "8585:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8585:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8585:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "8564:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "8569:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "8560:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8560:16:14"
+ },
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "8578:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "8557:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8557:25:14"
+ },
+ "nodeType": "YulIf",
+ "src": "8554:112:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "8699:3:14"
+ },
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "8704:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "8709:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "copy_calldata_to_memory",
+ "nodeType": "YulIdentifier",
+ "src": "8675:23:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8675:41:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8675:41:14"
+ }
+ ]
+ },
+ "name": "abi_decode_available_length_t_bytes_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "src",
+ "nodeType": "YulTypedName",
+ "src": "8368:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "8373:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "8381:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "array",
+ "nodeType": "YulTypedName",
+ "src": "8389:5:14",
+ "type": ""
+ }
+ ],
+ "src": "8312:410:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "8802:277:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "8851:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
+ "nodeType": "YulIdentifier",
+ "src": "8853:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8853:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "8853:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "8830:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "8838:4:14",
+ "type": "",
+ "value": "0x1f"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "8826:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8826:17:14"
+ },
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "8845:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "8822:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8822:27:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "8815:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8815:35:14"
+ },
+ "nodeType": "YulIf",
+ "src": "8812:122:14"
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "8943:34:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "8970:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "8957:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8957:20:14"
+ },
+ "variables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "8947:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "8986:87:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "9046:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9054:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9042:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9042:17:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "9061:6:14"
+ },
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "9069:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_available_length_t_bytes_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "8995:46:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "8995:78:14"
+ },
+ "variableNames": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "8986:5:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_t_bytes_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "8780:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "8788:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "array",
+ "nodeType": "YulTypedName",
+ "src": "8796:5:14",
+ "type": ""
+ }
+ ],
+ "src": "8741:338:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "9211:817:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "9258:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "9260:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9260:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "9260:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "9232:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "9241:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "9228:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9228:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9253:3:14",
+ "type": "",
+ "value": "128"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "9224:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9224:33:14"
+ },
+ "nodeType": "YulIf",
+ "src": "9221:120:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "9351:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "9366:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9380:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "9370:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "9395:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "9430:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "9441:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9426:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9426:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "9450:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "9405:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9405:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "9395:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "9478:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "9493:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9507:2:14",
+ "type": "",
+ "value": "32"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "9497:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "9523:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "9558:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "9569:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9554:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9554:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "9578:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "9533:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9533:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "9523:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "9606:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "9621:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9635:2:14",
+ "type": "",
+ "value": "64"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "9625:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "9651:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "9686:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "9697:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9682:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9682:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "9706:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "9661:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9661:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value2",
+ "nodeType": "YulIdentifier",
+ "src": "9651:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "9734:287:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "9749:46:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "9780:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9791:2:14",
+ "type": "",
+ "value": "96"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9776:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9776:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "9763:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9763:32:14"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "9753:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "9842:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
+ "nodeType": "YulIdentifier",
+ "src": "9844:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9844:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "9844:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "9814:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "9822:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "9811:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9811:30:14"
+ },
+ "nodeType": "YulIf",
+ "src": "9808:117:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "9939:72:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "9983:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "9994:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "9979:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9979:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "10003:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_bytes_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "9949:29:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "9949:62:14"
+ },
+ "variableNames": [
+ {
+ "name": "value3",
+ "nodeType": "YulIdentifier",
+ "src": "9939:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "9157:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "9168:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "9180:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "9188:6:14",
+ "type": ""
+ },
+ {
+ "name": "value2",
+ "nodeType": "YulTypedName",
+ "src": "9196:6:14",
+ "type": ""
+ },
+ {
+ "name": "value3",
+ "nodeType": "YulTypedName",
+ "src": "9204:6:14",
+ "type": ""
+ }
+ ],
+ "src": "9085:943:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "10101:241:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "10206:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x41",
+ "nodeType": "YulIdentifier",
+ "src": "10208:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10208:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "10208:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "10178:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10186:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "10175:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10175:30:14"
+ },
+ "nodeType": "YulIf",
+ "src": "10172:56:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "10238:37:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "10268:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulIdentifier",
+ "src": "10246:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10246:29:14"
+ },
+ "variableNames": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "10238:4:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "10312:23:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "10324:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10330:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "10320:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10320:15:14"
+ },
+ "variableNames": [
+ {
+ "name": "size",
+ "nodeType": "YulIdentifier",
+ "src": "10312:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_allocation_size_t_string_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "10085:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "size",
+ "nodeType": "YulTypedName",
+ "src": "10096:4:14",
+ "type": ""
+ }
+ ],
+ "src": "10034:308:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "10432:328:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "10442:75:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "10509:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_allocation_size_t_string_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "10467:41:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10467:49:14"
+ }
+ ],
+ "functionName": {
+ "name": "allocate_memory",
+ "nodeType": "YulIdentifier",
+ "src": "10451:15:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10451:66:14"
+ },
+ "variableNames": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "10442:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "10533:5:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "10540:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "10526:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10526:21:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "10526:21:14"
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "10556:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "10571:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10578:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "10567:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10567:16:14"
+ },
+ "variables": [
+ {
+ "name": "dst",
+ "nodeType": "YulTypedName",
+ "src": "10560:3:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "10621:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
+ "nodeType": "YulIdentifier",
+ "src": "10623:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10623:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "10623:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "10602:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "10607:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "10598:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10598:16:14"
+ },
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "10616:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "10595:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10595:25:14"
+ },
+ "nodeType": "YulIf",
+ "src": "10592:112:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "src",
+ "nodeType": "YulIdentifier",
+ "src": "10737:3:14"
+ },
+ {
+ "name": "dst",
+ "nodeType": "YulIdentifier",
+ "src": "10742:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "10747:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "copy_calldata_to_memory",
+ "nodeType": "YulIdentifier",
+ "src": "10713:23:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10713:41:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "10713:41:14"
+ }
+ ]
+ },
+ "name": "abi_decode_available_length_t_string_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "src",
+ "nodeType": "YulTypedName",
+ "src": "10405:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "10410:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "10418:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "array",
+ "nodeType": "YulTypedName",
+ "src": "10426:5:14",
+ "type": ""
+ }
+ ],
+ "src": "10348:412:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "10842:278:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "10891:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
+ "nodeType": "YulIdentifier",
+ "src": "10893:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10893:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "10893:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "10870:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "10878:4:14",
+ "type": "",
+ "value": "0x1f"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "10866:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10866:17:14"
+ },
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "10885:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "10862:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10862:27:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "10855:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10855:35:14"
+ },
+ "nodeType": "YulIf",
+ "src": "10852:122:14"
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "10983:34:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "11010:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "10997:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "10997:20:14"
+ },
+ "variables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "10987:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "11026:88:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "11087:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11095:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "11083:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11083:17:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "11102:6:14"
+ },
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "11110:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_available_length_t_string_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "11035:47:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11035:79:14"
+ },
+ "variableNames": [
+ {
+ "name": "array",
+ "nodeType": "YulIdentifier",
+ "src": "11026:5:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_t_string_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "10820:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "10828:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "array",
+ "nodeType": "YulTypedName",
+ "src": "10836:5:14",
+ "type": ""
+ }
+ ],
+ "src": "10780:340:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "11219:561:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "11265:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "11267:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11267:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "11267:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "11240:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "11249:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "11236:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11236:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11261:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "11232:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11232:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "11229:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "11358:287:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "11373:45:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "11404:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11415:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "11400:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11400:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "calldataload",
+ "nodeType": "YulIdentifier",
+ "src": "11387:12:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11387:31:14"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "11377:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "11465:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
+ "nodeType": "YulIdentifier",
+ "src": "11467:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11467:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "11467:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "11437:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11445:18:14",
+ "type": "",
+ "value": "0xffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "11434:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11434:30:14"
+ },
+ "nodeType": "YulIf",
+ "src": "11431:117:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "11562:73:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "11607:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "11618:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "11603:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11603:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "11627:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_string_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "11572:30:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11572:63:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "11562:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "11655:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "11670:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "11684:2:14",
+ "type": "",
+ "value": "32"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "11674:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "11700:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "11735:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "11746:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "11731:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11731:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "11755:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "11710:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11710:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "11700:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_string_memory_ptrt_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "11181:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "11192:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "11204:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "11212:6:14",
+ "type": ""
+ }
+ ],
+ "src": "11126:654:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "11893:40:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "11904:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "11920:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "11914:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "11914:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "11904:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_length_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "11876:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "11886:6:14",
+ "type": ""
+ }
+ ],
+ "src": "11786:147:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "12083:73:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12100:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "12105:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "12093:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12093:19:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "12093:19:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "12121:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12140:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12145:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12136:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12136:14:14"
+ },
+ "variableNames": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulIdentifier",
+ "src": "12121:11:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_storeLengthForEncoding_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "12055:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "12060:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulTypedName",
+ "src": "12071:11:14",
+ "type": ""
+ }
+ ],
+ "src": "11939:217:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "12267:60:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "12277:11:14",
+ "value": {
+ "name": "ptr",
+ "nodeType": "YulIdentifier",
+ "src": "12285:3:14"
+ },
+ "variableNames": [
+ {
+ "name": "data",
+ "nodeType": "YulIdentifier",
+ "src": "12277:4:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "12298:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "ptr",
+ "nodeType": "YulIdentifier",
+ "src": "12310:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12315:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12306:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12306:14:14"
+ },
+ "variableNames": [
+ {
+ "name": "data",
+ "nodeType": "YulIdentifier",
+ "src": "12298:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_dataslot_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "ptr",
+ "nodeType": "YulTypedName",
+ "src": "12254:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "data",
+ "nodeType": "YulTypedName",
+ "src": "12262:4:14",
+ "type": ""
+ }
+ ],
+ "src": "12162:165:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "12388:53:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12405:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "12428:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "12410:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12410:24:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "12398:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12398:37:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "12398:37:14"
+ }
+ ]
+ },
+ "name": "abi_encode_t_uint256_to_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "12376:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "12383:3:14",
+ "type": ""
+ }
+ ],
+ "src": "12333:108:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "12533:73:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12550:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "12555:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "12543:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12543:19:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "12543:19:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "12571:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12590:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12595:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12586:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12586:14:14"
+ },
+ "variableNames": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulIdentifier",
+ "src": "12571:11:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "12505:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "12510:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulTypedName",
+ "src": "12521:11:14",
+ "type": ""
+ }
+ ],
+ "src": "12447:159:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "12694:262:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "12704:53:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "12751:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_length_t_string_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "12718:32:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12718:39:14"
+ },
+ "variables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "12708:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "12766:68:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12822:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "12827:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "12773:48:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12773:61:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12766:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "12869:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "12876:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12865:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12865:16:14"
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12883:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "12888:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "copy_memory_to_memory",
+ "nodeType": "YulIdentifier",
+ "src": "12843:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12843:52:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "12843:52:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "12904:46:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "12915:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "12942:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulIdentifier",
+ "src": "12920:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12920:29:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "12911:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "12911:39:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "12904:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "12675:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "12682:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "12690:3:14",
+ "type": ""
+ }
+ ],
+ "src": "12612:344:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "13017:53:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "13034:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "13057:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "13039:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13039:24:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "13027:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13027:37:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "13027:37:14"
+ }
+ ]
+ },
+ "name": "abi_encode_t_address_to_t_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "13005:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "13012:3:14",
+ "type": ""
+ }
+ ],
+ "src": "12962:108:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "13274:1194:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "13284:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "13300:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13305:4:14",
+ "type": "",
+ "value": "0xc0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13296:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13296:14:14"
+ },
+ "variables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "13288:4:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "13320:167:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "13358:43:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "13388:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13395:4:14",
+ "type": "",
+ "value": "0x00"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13384:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13384:16:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "13378:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13378:23:14"
+ },
+ "variables": [
+ {
+ "name": "memberValue0",
+ "nodeType": "YulTypedName",
+ "src": "13362:12:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "memberValue0",
+ "nodeType": "YulIdentifier",
+ "src": "13448:12:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "13466:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13471:4:14",
+ "type": "",
+ "value": "0x00"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13462:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13462:14:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_uint256_to_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "13414:33:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13414:63:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "13414:63:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "13497:234:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "13531:43:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "13561:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13568:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13557:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13557:16:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "13551:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13551:23:14"
+ },
+ "variables": [
+ {
+ "name": "memberValue0",
+ "nodeType": "YulTypedName",
+ "src": "13535:12:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "13599:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13604:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13595:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13595:14:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "13615:4:14"
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "13621:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "13611:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13611:14:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "13588:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13588:38:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "13588:38:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "13639:81:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "memberValue0",
+ "nodeType": "YulIdentifier",
+ "src": "13701:12:14"
+ },
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "13715:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "13647:53:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13647:73:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "13639:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "13741:167:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "13779:43:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "13809:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13816:4:14",
+ "type": "",
+ "value": "0x40"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13805:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13805:16:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "13799:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13799:23:14"
+ },
+ "variables": [
+ {
+ "name": "memberValue0",
+ "nodeType": "YulTypedName",
+ "src": "13783:12:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "memberValue0",
+ "nodeType": "YulIdentifier",
+ "src": "13869:12:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "13887:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13892:4:14",
+ "type": "",
+ "value": "0x40"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13883:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13883:14:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_address_to_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "13835:33:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13835:63:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "13835:63:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "13918:168:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "13957:43:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "13987:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "13994:4:14",
+ "type": "",
+ "value": "0x60"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "13983:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13983:16:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "13977:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "13977:23:14"
+ },
+ "variables": [
+ {
+ "name": "memberValue0",
+ "nodeType": "YulTypedName",
+ "src": "13961:12:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "memberValue0",
+ "nodeType": "YulIdentifier",
+ "src": "14047:12:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "14065:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "14070:4:14",
+ "type": "",
+ "value": "0x60"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "14061:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14061:14:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_uint256_to_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "14013:33:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14013:63:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "14013:63:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "14096:168:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "14135:43:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "14165:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "14172:4:14",
+ "type": "",
+ "value": "0x80"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "14161:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14161:16:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "14155:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14155:23:14"
+ },
+ "variables": [
+ {
+ "name": "memberValue0",
+ "nodeType": "YulTypedName",
+ "src": "14139:12:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "memberValue0",
+ "nodeType": "YulIdentifier",
+ "src": "14225:12:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "14243:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "14248:4:14",
+ "type": "",
+ "value": "0x80"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "14239:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14239:14:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_address_to_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "14191:33:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14191:63:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "14191:63:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "14274:167:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "14312:43:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "14342:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "14349:4:14",
+ "type": "",
+ "value": "0xa0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "14338:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14338:16:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "14332:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14332:23:14"
+ },
+ "variables": [
+ {
+ "name": "memberValue0",
+ "nodeType": "YulTypedName",
+ "src": "14316:12:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "memberValue0",
+ "nodeType": "YulIdentifier",
+ "src": "14402:12:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "14420:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "14425:4:14",
+ "type": "",
+ "value": "0xa0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "14416:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14416:14:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_uint256_to_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "14368:33:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14368:63:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "14368:63:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "14451:11:14",
+ "value": {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "14458:4:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "14451:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_struct$_TokenInfoStruct_$2284_memory_ptr_to_t_struct$_TokenInfoStruct_$2284_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "13253:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "13260:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "13269:3:14",
+ "type": ""
+ }
+ ],
+ "src": "13144:1324:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "14620:142:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "14630:126:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "14744:6:14"
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "14752:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_struct$_TokenInfoStruct_$2284_memory_ptr_to_t_struct$_TokenInfoStruct_$2284_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "14644:99:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14644:112:14"
+ },
+ "variableNames": [
+ {
+ "name": "updatedPos",
+ "nodeType": "YulIdentifier",
+ "src": "14630:10:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encodeUpdatedPos_t_struct$_TokenInfoStruct_$2284_memory_ptr_to_t_struct$_TokenInfoStruct_$2284_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "14593:6:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "14601:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "updatedPos",
+ "nodeType": "YulTypedName",
+ "src": "14609:10:14",
+ "type": ""
+ }
+ ],
+ "src": "14474:288:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "14876:38:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "14886:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "ptr",
+ "nodeType": "YulIdentifier",
+ "src": "14898:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "14903:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "14894:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "14894:14:14"
+ },
+ "variableNames": [
+ {
+ "name": "next",
+ "nodeType": "YulIdentifier",
+ "src": "14886:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_nextElement_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "ptr",
+ "nodeType": "YulTypedName",
+ "src": "14863:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "next",
+ "nodeType": "YulTypedName",
+ "src": "14871:4:14",
+ "type": ""
+ }
+ ],
+ "src": "14768:146:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "15182:985:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "15192:101:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "15287:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_length_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "15206:80:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15206:87:14"
+ },
+ "variables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "15196:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "15302:126:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "15416:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "15421:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "15309:106:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15309:119:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "15302:3:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "15437:20:14",
+ "value": {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "15454:3:14"
+ },
+ "variables": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "15441:9:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "15466:39:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "15482:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "15491:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "15499:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "mul",
+ "nodeType": "YulIdentifier",
+ "src": "15487:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15487:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "15478:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15478:27:14"
+ },
+ "variables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "15470:4:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "15514:104:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "15612:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_dataslot_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "15529:82:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15529:89:14"
+ },
+ "variables": [
+ {
+ "name": "baseRef",
+ "nodeType": "YulTypedName",
+ "src": "15518:7:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "15627:21:14",
+ "value": {
+ "name": "baseRef",
+ "nodeType": "YulIdentifier",
+ "src": "15641:7:14"
+ },
+ "variables": [
+ {
+ "name": "srcPtr",
+ "nodeType": "YulTypedName",
+ "src": "15631:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "15717:405:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "15738:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "15747:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "15753:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "15743:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15743:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "15731:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15731:33:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "15731:33:14"
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "15777:34:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "srcPtr",
+ "nodeType": "YulIdentifier",
+ "src": "15804:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "15798:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15798:13:14"
+ },
+ "variables": [
+ {
+ "name": "elementValue0",
+ "nodeType": "YulTypedName",
+ "src": "15781:13:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "15824:138:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "elementValue0",
+ "nodeType": "YulIdentifier",
+ "src": "15942:13:14"
+ },
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "15957:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encodeUpdatedPos_t_struct$_TokenInfoStruct_$2284_memory_ptr_to_t_struct$_TokenInfoStruct_$2284_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "15832:109:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15832:130:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "15824:4:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "15975:103:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "srcPtr",
+ "nodeType": "YulIdentifier",
+ "src": "16071:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_nextElement_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "15985:85:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15985:93:14"
+ },
+ "variableNames": [
+ {
+ "name": "srcPtr",
+ "nodeType": "YulIdentifier",
+ "src": "15975:6:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "16091:21:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "16102:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "16107:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "16098:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16098:14:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "16091:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "15679:1:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "15682:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "15676:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15676:13:14"
+ },
+ "nodeType": "YulForLoop",
+ "post": {
+ "nodeType": "YulBlock",
+ "src": "15690:18:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "15692:14:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "15701:1:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "15704:1:14",
+ "type": "",
+ "value": "1"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "15697:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "15697:9:14"
+ },
+ "variableNames": [
+ {
+ "name": "i",
+ "nodeType": "YulIdentifier",
+ "src": "15692:1:14"
+ }
+ ]
+ }
+ ]
+ },
+ "pre": {
+ "nodeType": "YulBlock",
+ "src": "15661:14:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "15663:10:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "15672:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "i",
+ "nodeType": "YulTypedName",
+ "src": "15667:1:14",
+ "type": ""
+ }
+ ]
+ }
+ ]
+ },
+ "src": "15657:465:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "16131:11:14",
+ "value": {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "16138:4:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "16131:3:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "16151:10:14",
+ "value": {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "16158:3:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "16151:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "15161:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "15168:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "15177:3:14",
+ "type": ""
+ }
+ ],
+ "src": "14992:1175:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "16387:291:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "16397:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "16409:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "16420:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "16405:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16405:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "16397:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "16444:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "16455:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "16440:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16440:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "16463:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "16469:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "16459:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16459:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "16433:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16433:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "16433:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "16489:182:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "16657:6:14"
+ },
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "16666:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "16497:159:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16497:174:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "16489:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "16359:9:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "16371:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "16382:4:14",
+ "type": ""
+ }
+ ],
+ "src": "16173:505:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "16767:391:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "16813:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "16815:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16815:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "16815:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "16788:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "16797:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "16784:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16784:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "16809:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "16780:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16780:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "16777:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "16906:117:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "16921:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "16935:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "16925:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "16950:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "16985:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "16996:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "16981:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16981:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "17005:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "16960:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "16960:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "16950:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "17033:118:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "17048:16:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17062:2:14",
+ "type": "",
+ "value": "32"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "17052:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "17078:63:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "17113:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "17124:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "17109:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17109:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "17133:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_address",
+ "nodeType": "YulIdentifier",
+ "src": "17088:20:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17088:53:14"
+ },
+ "variableNames": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "17078:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_addresst_address",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "16729:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "16740:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "16752:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "16760:6:14",
+ "type": ""
+ }
+ ],
+ "src": "16684:474:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "17192:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17209:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17212:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "17202:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17202:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "17202:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17306:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17309:4:14",
+ "type": "",
+ "value": "0x22"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "17299:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17299:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "17299:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17330:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17333:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "17323:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17323:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "17323:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x22",
+ "nodeType": "YulFunctionDefinition",
+ "src": "17164:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "17401:269:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "17411:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "data",
+ "nodeType": "YulIdentifier",
+ "src": "17425:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17431:1:14",
+ "type": "",
+ "value": "2"
+ }
+ ],
+ "functionName": {
+ "name": "div",
+ "nodeType": "YulIdentifier",
+ "src": "17421:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17421:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "17411:6:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "17442:38:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "data",
+ "nodeType": "YulIdentifier",
+ "src": "17472:4:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17478:1:14",
+ "type": "",
+ "value": "1"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "17468:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17468:12:14"
+ },
+ "variables": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulTypedName",
+ "src": "17446:18:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "17519:51:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "17533:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "17547:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17555:4:14",
+ "type": "",
+ "value": "0x7f"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "17543:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17543:17:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "17533:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulIdentifier",
+ "src": "17499:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "17492:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17492:26:14"
+ },
+ "nodeType": "YulIf",
+ "src": "17489:81:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "17622:42:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x22",
+ "nodeType": "YulIdentifier",
+ "src": "17636:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17636:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "17636:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "outOfPlaceEncoding",
+ "nodeType": "YulIdentifier",
+ "src": "17586:18:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "17609:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17617:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "17606:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17606:14:14"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "17583:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17583:38:14"
+ },
+ "nodeType": "YulIf",
+ "src": "17580:84:14"
+ }
+ ]
+ },
+ "name": "extract_byte_array_length",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "data",
+ "nodeType": "YulTypedName",
+ "src": "17385:4:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "17394:6:14",
+ "type": ""
+ }
+ ],
+ "src": "17350:320:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "17782:125:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "17804:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17812:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "17800:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17800:14:14"
+ },
+ {
+ "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "17816:34:14",
+ "type": "",
+ "value": "ERC721: approved query for nonex"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "17793:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17793:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "17793:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "17872:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "17880:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "17868:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17868:15:14"
+ },
+ {
+ "hexValue": "697374656e7420746f6b656e",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "17885:14:14",
+ "type": "",
+ "value": "istent token"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "17861:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "17861:39:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "17861:39:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "17774:6:14",
+ "type": ""
+ }
+ ],
+ "src": "17676:231:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "18059:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "18069:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "18135:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "18140:2:14",
+ "type": "",
+ "value": "44"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "18076:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18076:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "18069:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "18241:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d",
+ "nodeType": "YulIdentifier",
+ "src": "18152:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18152:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "18152:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "18254:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "18265:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "18270:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "18261:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18261:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "18254:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "18047:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "18055:3:14",
+ "type": ""
+ }
+ ],
+ "src": "17913:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "18456:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "18466:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "18478:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "18489:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "18474:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18474:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "18466:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "18513:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "18524:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "18509:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18509:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "18532:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "18538:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "18528:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18528:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "18502:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18502:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "18502:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "18558:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "18692:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "18566:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18566:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "18558:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "18436:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "18451:4:14",
+ "type": ""
+ }
+ ],
+ "src": "18285:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "18816:114:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "18838:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "18846:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "18834:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18834:14:14"
+ },
+ {
+ "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "18850:34:14",
+ "type": "",
+ "value": "ERC721: approval to current owne"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "18827:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18827:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "18827:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "18906:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "18914:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "18902:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18902:15:14"
+ },
+ {
+ "hexValue": "72",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "18919:3:14",
+ "type": "",
+ "value": "r"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "18895:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "18895:28:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "18895:28:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "18808:6:14",
+ "type": ""
+ }
+ ],
+ "src": "18710:220:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "19082:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "19092:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "19158:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "19163:2:14",
+ "type": "",
+ "value": "33"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "19099:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19099:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "19092:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "19264:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942",
+ "nodeType": "YulIdentifier",
+ "src": "19175:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19175:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "19175:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "19277:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "19288:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "19293:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "19284:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19284:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "19277:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "19070:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "19078:3:14",
+ "type": ""
+ }
+ ],
+ "src": "18936:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "19479:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "19489:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "19501:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "19512:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "19497:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19497:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "19489:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "19536:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "19547:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "19532:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19532:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "19555:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "19561:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "19551:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19551:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "19525:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19525:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "19525:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "19581:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "19715:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "19589:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19589:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "19581:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "19459:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "19474:4:14",
+ "type": ""
+ }
+ ],
+ "src": "19308:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "19839:137:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "19861:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "19869:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "19857:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19857:14:14"
+ },
+ {
+ "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f77",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "19873:34:14",
+ "type": "",
+ "value": "ERC721: approve caller is not ow"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "19850:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19850:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "19850:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "19929:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "19937:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "19925:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19925:15:14"
+ },
+ {
+ "hexValue": "6e6572206e6f7220617070726f76656420666f7220616c6c",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "19942:26:14",
+ "type": "",
+ "value": "ner nor approved for all"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "19918:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "19918:51:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "19918:51:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "19831:6:14",
+ "type": ""
+ }
+ ],
+ "src": "19733:243:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "20128:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "20138:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "20204:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "20209:2:14",
+ "type": "",
+ "value": "56"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "20145:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20145:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "20138:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "20310:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d",
+ "nodeType": "YulIdentifier",
+ "src": "20221:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20221:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "20221:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "20323:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "20334:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "20339:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "20330:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20330:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "20323:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "20116:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "20124:3:14",
+ "type": ""
+ }
+ ],
+ "src": "19982:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "20525:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "20535:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "20547:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "20558:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "20543:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20543:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "20535:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "20582:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "20593:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "20578:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20578:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "20601:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "20607:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "20597:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20597:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "20571:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20571:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "20571:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "20627:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "20761:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "20635:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20635:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "20627:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "20505:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "20520:4:14",
+ "type": ""
+ }
+ ],
+ "src": "20354:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "20885:130:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "20907:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "20915:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "20903:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20903:14:14"
+ },
+ {
+ "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "20919:34:14",
+ "type": "",
+ "value": "ERC721: transfer caller is not o"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "20896:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20896:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "20896:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "20975:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "20983:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "20971:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20971:15:14"
+ },
+ {
+ "hexValue": "776e6572206e6f7220617070726f766564",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "20988:19:14",
+ "type": "",
+ "value": "wner nor approved"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "20964:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "20964:44:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "20964:44:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "20877:6:14",
+ "type": ""
+ }
+ ],
+ "src": "20779:236:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "21167:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "21177:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "21243:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "21248:2:14",
+ "type": "",
+ "value": "49"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "21184:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21184:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "21177:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "21349:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2",
+ "nodeType": "YulIdentifier",
+ "src": "21260:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21260:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "21260:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "21362:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "21373:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "21378:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "21369:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21369:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "21362:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "21155:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "21163:3:14",
+ "type": ""
+ }
+ ],
+ "src": "21021:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "21564:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "21574:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "21586:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "21597:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "21582:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21582:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "21574:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "21621:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "21632:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "21617:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21617:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "21640:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "21646:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "21636:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21636:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "21610:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21610:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "21610:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "21666:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "21800:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "21674:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21674:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "21666:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "21544:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "21559:4:14",
+ "type": ""
+ }
+ ],
+ "src": "21393:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "21924:122:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "21946:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "21954:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "21942:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21942:14:14"
+ },
+ {
+ "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "21958:34:14",
+ "type": "",
+ "value": "ERC721: owner query for nonexist"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "21935:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "21935:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "21935:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "22014:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "22022:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "22010:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22010:15:14"
+ },
+ {
+ "hexValue": "656e7420746f6b656e",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "22027:11:14",
+ "type": "",
+ "value": "ent token"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "22003:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22003:36:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "22003:36:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "21916:6:14",
+ "type": ""
+ }
+ ],
+ "src": "21818:228:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "22198:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "22208:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "22274:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "22279:2:14",
+ "type": "",
+ "value": "41"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "22215:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22215:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "22208:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "22380:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397",
+ "nodeType": "YulIdentifier",
+ "src": "22291:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22291:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "22291:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "22393:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "22404:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "22409:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "22400:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22400:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "22393:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "22186:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "22194:3:14",
+ "type": ""
+ }
+ ],
+ "src": "22052:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "22595:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "22605:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "22617:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "22628:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "22613:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22613:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "22605:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "22652:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "22663:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "22648:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22648:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "22671:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "22677:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "22667:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22667:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "22641:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22641:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "22641:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "22697:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "22831:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "22705:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22705:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "22697:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "22575:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "22590:4:14",
+ "type": ""
+ }
+ ],
+ "src": "22424:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "22955:123:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "22977:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "22985:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "22973:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22973:14:14"
+ },
+ {
+ "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "22989:34:14",
+ "type": "",
+ "value": "ERC721: balance query for the ze"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "22966:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "22966:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "22966:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "23045:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "23053:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "23041:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23041:15:14"
+ },
+ {
+ "hexValue": "726f2061646472657373",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "23058:12:14",
+ "type": "",
+ "value": "ro address"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "23034:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23034:37:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "23034:37:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "22947:6:14",
+ "type": ""
+ }
+ ],
+ "src": "22849:229:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "23230:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "23240:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "23306:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "23311:2:14",
+ "type": "",
+ "value": "42"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "23247:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23247:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "23240:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "23412:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba",
+ "nodeType": "YulIdentifier",
+ "src": "23323:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23323:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "23323:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "23425:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "23436:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "23441:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "23432:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23432:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "23425:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "23218:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "23226:3:14",
+ "type": ""
+ }
+ ],
+ "src": "23084:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "23627:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "23637:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "23649:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "23660:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "23645:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23645:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "23637:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "23684:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "23695:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "23680:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23680:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "23703:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "23709:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "23699:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23699:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "23673:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23673:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "23673:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "23729:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "23863:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "23737:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23737:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "23729:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "23607:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "23622:4:14",
+ "type": ""
+ }
+ ],
+ "src": "23456:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "23987:121:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "24009:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "24017:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "24005:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24005:14:14"
+ },
+ {
+ "hexValue": "4552433732313a2072656e7420717565727920666f72206e6f6e657869737465",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "24021:34:14",
+ "type": "",
+ "value": "ERC721: rent query for nonexiste"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "23998:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "23998:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "23998:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "24077:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "24085:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "24073:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24073:15:14"
+ },
+ {
+ "hexValue": "6e7420746f6b656e",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "24090:10:14",
+ "type": "",
+ "value": "nt token"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "24066:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24066:35:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "24066:35:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "23979:6:14",
+ "type": ""
+ }
+ ],
+ "src": "23881:227:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "24260:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "24270:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "24336:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "24341:2:14",
+ "type": "",
+ "value": "40"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "24277:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24277:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "24270:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "24442:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7",
+ "nodeType": "YulIdentifier",
+ "src": "24353:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24353:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "24353:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "24455:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "24466:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "24471:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "24462:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24462:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "24455:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "24248:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "24256:3:14",
+ "type": ""
+ }
+ ],
+ "src": "24114:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "24657:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "24667:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "24679:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "24690:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "24675:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24675:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "24667:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "24714:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "24725:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "24710:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24710:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "24733:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "24739:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "24729:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24729:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "24703:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24703:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "24703:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "24759:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "24893:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "24767:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24767:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "24759:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "24637:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "24652:4:14",
+ "type": ""
+ }
+ ],
+ "src": "24486:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "24974:80:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "24984:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "24999:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "24993:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "24993:13:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "24984:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "25042:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "validator_revert_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "25015:26:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25015:33:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "25015:33:14"
+ }
+ ]
+ },
+ "name": "abi_decode_t_uint256_fromMemory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "24952:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "24960:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "24968:5:14",
+ "type": ""
+ }
+ ],
+ "src": "24911:143:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "25137:274:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "25183:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "25185:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25185:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "25185:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "25158:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "25167:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "25154:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25154:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25179:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "25150:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25150:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "25147:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "25276:128:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "25291:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25305:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "25295:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "25320:74:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "25366:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "25377:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "25362:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25362:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "25386:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_uint256_fromMemory",
+ "nodeType": "YulIdentifier",
+ "src": "25330:31:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25330:64:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "25320:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_uint256_fromMemory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "25107:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "25118:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "25130:6:14",
+ "type": ""
+ }
+ ],
+ "src": "25060:351:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "25571:288:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "25581:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "25593:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25604:2:14",
+ "type": "",
+ "value": "96"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "25589:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25589:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "25581:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "25661:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "25674:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25685:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "25670:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25670:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_address_to_t_address_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "25617:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25617:71:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "25617:71:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "25742:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "25755:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25766:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "25751:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25751:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_address_to_t_address_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "25698:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25698:72:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "25698:72:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value2",
+ "nodeType": "YulIdentifier",
+ "src": "25824:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "25837:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "25848:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "25833:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25833:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_uint256_to_t_uint256_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "25780:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25780:72:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "25780:72:14"
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "25527:9:14",
+ "type": ""
+ },
+ {
+ "name": "value2",
+ "nodeType": "YulTypedName",
+ "src": "25539:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "25547:6:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "25555:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "25566:4:14",
+ "type": ""
+ }
+ ],
+ "src": "25417:442:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "25925:77:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "25935:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "25950:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "25944:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25944:13:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "25935:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "25990:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "validator_revert_t_bool",
+ "nodeType": "YulIdentifier",
+ "src": "25966:23:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "25966:30:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "25966:30:14"
+ }
+ ]
+ },
+ "name": "abi_decode_t_bool_fromMemory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "25903:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "25911:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "25919:5:14",
+ "type": ""
+ }
+ ],
+ "src": "25865:137:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "26082:271:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "26128:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "26130:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26130:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "26130:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "26103:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "26112:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "26099:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26099:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "26124:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "26095:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26095:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "26092:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "26221:125:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "26236:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "26250:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "26240:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "26265:71:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "26308:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "26319:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "26304:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26304:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "26328:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_bool_fromMemory",
+ "nodeType": "YulIdentifier",
+ "src": "26275:28:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26275:61:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "26265:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_bool_fromMemory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "26052:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "26063:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "26075:6:14",
+ "type": ""
+ }
+ ],
+ "src": "26008:345:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "26387:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "26404:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "26407:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "26397:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26397:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "26397:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "26501:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "26504:4:14",
+ "type": "",
+ "value": "0x11"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "26494:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26494:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "26494:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "26525:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "26528:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "26518:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26518:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "26518:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x11",
+ "nodeType": "YulFunctionDefinition",
+ "src": "26359:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "26590:146:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "26600:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "26623:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "26605:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26605:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "26600:1:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "26634:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "26657:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "26639:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26639:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "26634:1:14"
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "26681:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x11",
+ "nodeType": "YulIdentifier",
+ "src": "26683:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26683:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "26683:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "26675:1:14"
+ },
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "26678:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "lt",
+ "nodeType": "YulIdentifier",
+ "src": "26672:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26672:8:14"
+ },
+ "nodeType": "YulIf",
+ "src": "26669:34:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "26713:17:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "26725:1:14"
+ },
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "26728:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "26721:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26721:9:14"
+ },
+ "variableNames": [
+ {
+ "name": "diff",
+ "nodeType": "YulIdentifier",
+ "src": "26713:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "checked_sub_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "x",
+ "nodeType": "YulTypedName",
+ "src": "26576:1:14",
+ "type": ""
+ },
+ {
+ "name": "y",
+ "nodeType": "YulTypedName",
+ "src": "26579:1:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "diff",
+ "nodeType": "YulTypedName",
+ "src": "26585:4:14",
+ "type": ""
+ }
+ ],
+ "src": "26545:191:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "26786:261:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "26796:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "26819:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "26801:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26801:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "26796:1:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "26830:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "26853:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "26835:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26835:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "26830:1:14"
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "26993:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x11",
+ "nodeType": "YulIdentifier",
+ "src": "26995:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26995:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "26995:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "26914:1:14"
+ },
+ {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "26921:66:14",
+ "type": "",
+ "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ },
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "26989:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "26917:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26917:74:14"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "26911:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "26911:81:14"
+ },
+ "nodeType": "YulIf",
+ "src": "26908:107:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "27025:16:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "27036:1:14"
+ },
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "27039:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "27032:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27032:9:14"
+ },
+ "variableNames": [
+ {
+ "name": "sum",
+ "nodeType": "YulIdentifier",
+ "src": "27025:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "checked_add_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "x",
+ "nodeType": "YulTypedName",
+ "src": "26773:1:14",
+ "type": ""
+ },
+ {
+ "name": "y",
+ "nodeType": "YulTypedName",
+ "src": "26776:1:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "sum",
+ "nodeType": "YulTypedName",
+ "src": "26782:3:14",
+ "type": ""
+ }
+ ],
+ "src": "26742:305:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "27159:69:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "27181:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "27189:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "27177:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27177:14:14"
+ },
+ {
+ "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "27193:27:14",
+ "type": "",
+ "value": "ERC721: approve to caller"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "27170:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27170:51:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "27170:51:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "27151:6:14",
+ "type": ""
+ }
+ ],
+ "src": "27053:175:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "27380:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "27390:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "27456:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "27461:2:14",
+ "type": "",
+ "value": "25"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "27397:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27397:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "27390:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "27562:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05",
+ "nodeType": "YulIdentifier",
+ "src": "27473:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27473:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "27473:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "27575:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "27586:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "27591:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "27582:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27582:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "27575:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "27368:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "27376:3:14",
+ "type": ""
+ }
+ ],
+ "src": "27234:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "27777:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "27787:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "27799:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "27810:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "27795:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27795:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "27787:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "27834:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "27845:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "27830:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27830:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "27853:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "27859:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "27849:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27849:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "27823:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27823:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "27823:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "27879:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "28013:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "27887:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "27887:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "27879:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "27757:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "27772:4:14",
+ "type": ""
+ }
+ ],
+ "src": "27606:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "28137:128:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "28159:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "28167:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "28155:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "28155:14:14"
+ },
+ {
+ "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "28171:34:14",
+ "type": "",
+ "value": "ERC721Metadata: URI query for no"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "28148:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "28148:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "28148:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "28227:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "28235:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "28223:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "28223:15:14"
+ },
+ {
+ "hexValue": "6e6578697374656e7420746f6b656e",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "28240:17:14",
+ "type": "",
+ "value": "nexistent token"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "28216:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "28216:42:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "28216:42:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "28129:6:14",
+ "type": ""
+ }
+ ],
+ "src": "28031:234:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "28417:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "28427:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "28493:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "28498:2:14",
+ "type": "",
+ "value": "47"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "28434:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "28434:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "28427:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "28599:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb",
+ "nodeType": "YulIdentifier",
+ "src": "28510:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "28510:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "28510:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "28612:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "28623:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "28628:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "28619:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "28619:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "28612:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "28405:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "28413:3:14",
+ "type": ""
+ }
+ ],
+ "src": "28271:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "28814:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "28824:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "28836:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "28847:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "28832:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "28832:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "28824:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "28871:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "28882:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "28867:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "28867:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "28890:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "28896:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "28886:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "28886:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "28860:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "28860:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "28860:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "28916:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "29050:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "28924:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "28924:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "28916:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "28794:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "28809:4:14",
+ "type": ""
+ }
+ ],
+ "src": "28643:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "29174:114:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "29196:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "29204:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "29192:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "29192:14:14"
+ },
+ {
+ "hexValue": "52656465656d3a2063616c6c6572206973206e6f74207468652063726561746f",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "29208:34:14",
+ "type": "",
+ "value": "Redeem: caller is not the creato"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "29185:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "29185:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "29185:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "29264:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "29272:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "29260:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "29260:15:14"
+ },
+ {
+ "hexValue": "72",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "29277:3:14",
+ "type": "",
+ "value": "r"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "29253:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "29253:28:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "29253:28:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_8d026af6d3fcb97b10c188f1f15abf5d88ea4477d3e06968711ba90108e018d3",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "29166:6:14",
+ "type": ""
+ }
+ ],
+ "src": "29068:220:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "29440:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "29450:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "29516:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "29521:2:14",
+ "type": "",
+ "value": "33"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "29457:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "29457:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "29450:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "29622:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_8d026af6d3fcb97b10c188f1f15abf5d88ea4477d3e06968711ba90108e018d3",
+ "nodeType": "YulIdentifier",
+ "src": "29533:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "29533:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "29533:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "29635:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "29646:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "29651:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "29642:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "29642:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "29635:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_8d026af6d3fcb97b10c188f1f15abf5d88ea4477d3e06968711ba90108e018d3_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "29428:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "29436:3:14",
+ "type": ""
+ }
+ ],
+ "src": "29294:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "29837:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "29847:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "29859:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "29870:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "29855:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "29855:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "29847:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "29894:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "29905:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "29890:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "29890:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "29913:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "29919:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "29909:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "29909:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "29883:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "29883:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "29883:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "29939:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "30073:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_8d026af6d3fcb97b10c188f1f15abf5d88ea4477d3e06968711ba90108e018d3_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "29947:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "29947:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "29939:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_8d026af6d3fcb97b10c188f1f15abf5d88ea4477d3e06968711ba90108e018d3__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "29817:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "29832:4:14",
+ "type": ""
+ }
+ ],
+ "src": "29666:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "30119:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "30136:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "30139:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "30129:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30129:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "30129:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "30233:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "30236:4:14",
+ "type": "",
+ "value": "0x12"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "30226:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30226:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "30226:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "30257:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "30260:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "30250:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30250:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "30250:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x12",
+ "nodeType": "YulFunctionDefinition",
+ "src": "30091:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "30319:143:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "30329:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "30352:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "30334:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30334:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "30329:1:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "30363:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "30386:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "30368:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30368:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "30363:1:14"
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "30410:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x12",
+ "nodeType": "YulIdentifier",
+ "src": "30412:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30412:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "30412:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "30407:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "30400:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30400:9:14"
+ },
+ "nodeType": "YulIf",
+ "src": "30397:35:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "30442:14:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "30451:1:14"
+ },
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "30454:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "div",
+ "nodeType": "YulIdentifier",
+ "src": "30447:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30447:9:14"
+ },
+ "variableNames": [
+ {
+ "name": "r",
+ "nodeType": "YulIdentifier",
+ "src": "30442:1:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "checked_div_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "x",
+ "nodeType": "YulTypedName",
+ "src": "30308:1:14",
+ "type": ""
+ },
+ {
+ "name": "y",
+ "nodeType": "YulTypedName",
+ "src": "30311:1:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "r",
+ "nodeType": "YulTypedName",
+ "src": "30317:1:14",
+ "type": ""
+ }
+ ],
+ "src": "30277:185:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "30516:300:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "30526:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "30549:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "30531:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30531:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "30526:1:14"
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "30560:25:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "30583:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "30565:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30565:20:14"
+ },
+ "variableNames": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "30560:1:14"
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "30758:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x11",
+ "nodeType": "YulIdentifier",
+ "src": "30760:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30760:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "30760:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "30670:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "30663:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30663:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "iszero",
+ "nodeType": "YulIdentifier",
+ "src": "30656:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30656:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "30678:1:14"
+ },
+ {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "30685:66:14",
+ "type": "",
+ "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ },
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "30753:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "div",
+ "nodeType": "YulIdentifier",
+ "src": "30681:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30681:74:14"
+ }
+ ],
+ "functionName": {
+ "name": "gt",
+ "nodeType": "YulIdentifier",
+ "src": "30675:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30675:81:14"
+ }
+ ],
+ "functionName": {
+ "name": "and",
+ "nodeType": "YulIdentifier",
+ "src": "30652:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30652:105:14"
+ },
+ "nodeType": "YulIf",
+ "src": "30649:131:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "30790:20:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "x",
+ "nodeType": "YulIdentifier",
+ "src": "30805:1:14"
+ },
+ {
+ "name": "y",
+ "nodeType": "YulIdentifier",
+ "src": "30808:1:14"
+ }
+ ],
+ "functionName": {
+ "name": "mul",
+ "nodeType": "YulIdentifier",
+ "src": "30801:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30801:9:14"
+ },
+ "variableNames": [
+ {
+ "name": "product",
+ "nodeType": "YulIdentifier",
+ "src": "30790:7:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "checked_mul_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "x",
+ "nodeType": "YulTypedName",
+ "src": "30499:1:14",
+ "type": ""
+ },
+ {
+ "name": "y",
+ "nodeType": "YulTypedName",
+ "src": "30502:1:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "product",
+ "nodeType": "YulTypedName",
+ "src": "30508:7:14",
+ "type": ""
+ }
+ ],
+ "src": "30468:348:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "30948:206:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "30958:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "30970:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "30981:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "30966:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30966:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "30958:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "31038:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "31051:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "31062:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "31047:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "31047:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_address_to_t_address_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "30994:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "30994:71:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "30994:71:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "31119:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "31132:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "31143:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "31128:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "31128:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_uint256_to_t_uint256_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "31075:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "31075:72:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "31075:72:14"
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "30912:9:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "30924:6:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "30932:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "30943:4:14",
+ "type": ""
+ }
+ ],
+ "src": "30822:332:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "31188:152:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "31205:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "31208:77:14",
+ "type": "",
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "31198:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "31198:88:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "31198:88:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "31302:1:14",
+ "type": "",
+ "value": "4"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "31305:4:14",
+ "type": "",
+ "value": "0x32"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "31295:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "31295:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "31295:15:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "31326:1:14",
+ "type": "",
+ "value": "0"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "31329:4:14",
+ "type": "",
+ "value": "0x24"
+ }
+ ],
+ "functionName": {
+ "name": "revert",
+ "nodeType": "YulIdentifier",
+ "src": "31319:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "31319:15:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "31319:15:14"
+ }
+ ]
+ },
+ "name": "panic_error_0x32",
+ "nodeType": "YulFunctionDefinition",
+ "src": "31160:180:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "31389:190:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "31399:33:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "31426:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "cleanup_t_uint256",
+ "nodeType": "YulIdentifier",
+ "src": "31408:17:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "31408:24:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "31399:5:14"
+ }
+ ]
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "31522:22:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "panic_error_0x11",
+ "nodeType": "YulIdentifier",
+ "src": "31524:16:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "31524:18:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "31524:18:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "31447:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "31454:66:14",
+ "type": "",
+ "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
+ }
+ ],
+ "functionName": {
+ "name": "eq",
+ "nodeType": "YulIdentifier",
+ "src": "31444:2:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "31444:77:14"
+ },
+ "nodeType": "YulIf",
+ "src": "31441:103:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "31553:20:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "31564:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "31571:1:14",
+ "type": "",
+ "value": "1"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "31560:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "31560:13:14"
+ },
+ "variableNames": [
+ {
+ "name": "ret",
+ "nodeType": "YulIdentifier",
+ "src": "31553:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "increment_t_uint256",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "31375:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "ret",
+ "nodeType": "YulTypedName",
+ "src": "31385:3:14",
+ "type": ""
+ }
+ ],
+ "src": "31346:233:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "31691:125:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "31713:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "31721:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "31709:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "31709:14:14"
+ },
+ {
+ "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "31725:34:14",
+ "type": "",
+ "value": "ERC721: operator query for nonex"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "31702:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "31702:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "31702:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "31781:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "31789:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "31777:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "31777:15:14"
+ },
+ {
+ "hexValue": "697374656e7420746f6b656e",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "31794:14:14",
+ "type": "",
+ "value": "istent token"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "31770:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "31770:39:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "31770:39:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "31683:6:14",
+ "type": ""
+ }
+ ],
+ "src": "31585:231:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "31968:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "31978:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "32044:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "32049:2:14",
+ "type": "",
+ "value": "44"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "31985:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "31985:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "31978:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "32150:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c",
+ "nodeType": "YulIdentifier",
+ "src": "32061:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "32061:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "32061:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "32163:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "32174:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "32179:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "32170:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "32170:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "32163:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "31956:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "31964:3:14",
+ "type": ""
+ }
+ ],
+ "src": "31822:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "32365:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "32375:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "32387:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "32398:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "32383:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "32383:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "32375:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "32422:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "32433:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "32418:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "32418:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "32441:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "32447:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "32437:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "32437:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "32411:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "32411:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "32411:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "32467:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "32601:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "32475:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "32475:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "32467:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "32345:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "32360:4:14",
+ "type": ""
+ }
+ ],
+ "src": "32194:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "32725:122:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "32747:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "32755:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "32743:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "32743:14:14"
+ },
+ {
+ "hexValue": "4552433732313a207472616e73666572206f6620746f6b656e20746861742069",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "32759:34:14",
+ "type": "",
+ "value": "ERC721: transfer of token that i"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "32736:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "32736:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "32736:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "32815:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "32823:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "32811:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "32811:15:14"
+ },
+ {
+ "hexValue": "73206e6f74206f776e",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "32828:11:14",
+ "type": "",
+ "value": "s not own"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "32804:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "32804:36:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "32804:36:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "32717:6:14",
+ "type": ""
+ }
+ ],
+ "src": "32619:228:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "32999:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "33009:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "33075:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "33080:2:14",
+ "type": "",
+ "value": "41"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "33016:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "33016:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "33009:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "33181:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950",
+ "nodeType": "YulIdentifier",
+ "src": "33092:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "33092:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "33092:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "33194:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "33205:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "33210:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "33201:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "33201:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "33194:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "32987:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "32995:3:14",
+ "type": ""
+ }
+ ],
+ "src": "32853:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "33396:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "33406:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "33418:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "33429:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "33414:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "33414:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "33406:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "33453:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "33464:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "33449:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "33449:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "33472:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "33478:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "33468:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "33468:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "33442:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "33442:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "33442:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "33498:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "33632:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "33506:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "33506:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "33498:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "33376:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "33391:4:14",
+ "type": ""
+ }
+ ],
+ "src": "33225:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "33756:117:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "33778:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "33786:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "33774:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "33774:14:14"
+ },
+ {
+ "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "33790:34:14",
+ "type": "",
+ "value": "ERC721: transfer to the zero add"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "33767:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "33767:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "33767:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "33846:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "33854:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "33842:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "33842:15:14"
+ },
+ {
+ "hexValue": "72657373",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "33859:6:14",
+ "type": "",
+ "value": "ress"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "33835:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "33835:31:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "33835:31:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "33748:6:14",
+ "type": ""
+ }
+ ],
+ "src": "33650:223:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "34025:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "34035:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "34101:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "34106:2:14",
+ "type": "",
+ "value": "36"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "34042:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "34042:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "34035:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "34207:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4",
+ "nodeType": "YulIdentifier",
+ "src": "34118:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "34118:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "34118:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "34220:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "34231:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "34236:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "34227:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "34227:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "34220:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "34013:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "34021:3:14",
+ "type": ""
+ }
+ ],
+ "src": "33879:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "34422:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "34432:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "34444:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "34455:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "34440:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "34440:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "34432:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "34479:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "34490:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "34475:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "34475:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "34498:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "34504:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "34494:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "34494:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "34468:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "34468:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "34468:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "34524:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "34658:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "34532:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "34532:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "34524:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "34402:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "34417:4:14",
+ "type": ""
+ }
+ ],
+ "src": "34251:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "34782:131:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "34804:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "34812:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "34800:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "34800:14:14"
+ },
+ {
+ "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "34816:34:14",
+ "type": "",
+ "value": "ERC721: transfer to non ERC721Re"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "34793:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "34793:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "34793:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "34872:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "34880:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "34868:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "34868:15:14"
+ },
+ {
+ "hexValue": "63656976657220696d706c656d656e746572",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "34885:20:14",
+ "type": "",
+ "value": "ceiver implementer"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "34861:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "34861:45:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "34861:45:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "34774:6:14",
+ "type": ""
+ }
+ ],
+ "src": "34676:237:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "35065:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "35075:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "35141:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "35146:2:14",
+ "type": "",
+ "value": "50"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "35082:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "35082:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "35075:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "35247:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e",
+ "nodeType": "YulIdentifier",
+ "src": "35158:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "35158:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "35158:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "35260:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "35271:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "35276:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "35267:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "35267:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "35260:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "35053:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "35061:3:14",
+ "type": ""
+ }
+ ],
+ "src": "34919:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "35462:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "35472:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "35484:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "35495:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "35480:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "35480:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "35472:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "35519:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "35530:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "35515:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "35515:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "35538:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "35544:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "35534:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "35534:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "35508:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "35508:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "35508:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "35564:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "35698:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "35572:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "35572:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "35564:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "35442:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "35457:4:14",
+ "type": ""
+ }
+ ],
+ "src": "35291:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "35822:126:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "35844:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "35852:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "35840:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "35840:14:14"
+ },
+ {
+ "hexValue": "4552433732314d657461646174613a205552492073657420666f72206e6f6e65",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "35856:34:14",
+ "type": "",
+ "value": "ERC721Metadata: URI set for none"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "35833:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "35833:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "35833:58:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "35912:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "35920:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "35908:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "35908:15:14"
+ },
+ {
+ "hexValue": "78697374656e7420746f6b656e",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "35925:15:14",
+ "type": "",
+ "value": "xistent token"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "35901:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "35901:40:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "35901:40:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_4891fff3fd5c79dd7d1b0cfae78dbe3c240608be5953a321dab1d413fb93a400",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "35814:6:14",
+ "type": ""
+ }
+ ],
+ "src": "35716:232:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "36100:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "36110:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "36176:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "36181:2:14",
+ "type": "",
+ "value": "45"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "36117:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "36117:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "36110:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "36282:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_4891fff3fd5c79dd7d1b0cfae78dbe3c240608be5953a321dab1d413fb93a400",
+ "nodeType": "YulIdentifier",
+ "src": "36193:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "36193:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "36193:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "36295:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "36306:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "36311:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "36302:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "36302:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "36295:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_4891fff3fd5c79dd7d1b0cfae78dbe3c240608be5953a321dab1d413fb93a400_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "36088:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "36096:3:14",
+ "type": ""
+ }
+ ],
+ "src": "35954:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "36497:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "36507:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "36519:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "36530:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "36515:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "36515:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "36507:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "36554:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "36565:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "36550:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "36550:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "36573:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "36579:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "36569:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "36569:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "36543:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "36543:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "36543:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "36599:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "36733:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_4891fff3fd5c79dd7d1b0cfae78dbe3c240608be5953a321dab1d413fb93a400_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "36607:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "36607:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "36599:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_4891fff3fd5c79dd7d1b0cfae78dbe3c240608be5953a321dab1d413fb93a400__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "36477:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "36492:4:14",
+ "type": ""
+ }
+ ],
+ "src": "36326:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "36809:40:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "36820:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "36836:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "36830:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "36830:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "36820:6:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_length_t_bytes_memory_ptr",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "36792:5:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "36802:6:14",
+ "type": ""
+ }
+ ],
+ "src": "36751:98:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "36950:73:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "36967:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "36972:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "36960:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "36960:19:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "36960:19:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "36988:29:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "37007:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "37012:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "37003:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37003:14:14"
+ },
+ "variableNames": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulIdentifier",
+ "src": "36988:11:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "36922:3:14",
+ "type": ""
+ },
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "36927:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "updated_pos",
+ "nodeType": "YulTypedName",
+ "src": "36938:11:14",
+ "type": ""
+ }
+ ],
+ "src": "36855:168:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "37119:270:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "37129:52:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "37175:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_length_t_bytes_memory_ptr",
+ "nodeType": "YulIdentifier",
+ "src": "37143:31:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37143:38:14"
+ },
+ "variables": [
+ {
+ "name": "length",
+ "nodeType": "YulTypedName",
+ "src": "37133:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "37190:77:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "37255:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "37260:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "37197:57:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37197:70:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "37190:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "37302:5:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "37309:4:14",
+ "type": "",
+ "value": "0x20"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "37298:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37298:16:14"
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "37316:3:14"
+ },
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "37321:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "copy_memory_to_memory",
+ "nodeType": "YulIdentifier",
+ "src": "37276:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37276:52:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "37276:52:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "37337:46:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "37348:3:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "length",
+ "nodeType": "YulIdentifier",
+ "src": "37375:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "round_up_to_mul_of_32",
+ "nodeType": "YulIdentifier",
+ "src": "37353:21:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37353:29:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "37344:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37344:39:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "37337:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "37100:5:14",
+ "type": ""
+ },
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "37107:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "37115:3:14",
+ "type": ""
+ }
+ ],
+ "src": "37029:360:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "37595:440:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "37605:27:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "37617:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "37628:3:14",
+ "type": "",
+ "value": "128"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "37613:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37613:19:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "37605:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "37686:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "37699:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "37710:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "37695:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37695:17:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_address_to_t_address_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "37642:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37642:71:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "37642:71:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value1",
+ "nodeType": "YulIdentifier",
+ "src": "37767:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "37780:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "37791:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "37776:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37776:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_address_to_t_address_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "37723:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37723:72:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "37723:72:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value2",
+ "nodeType": "YulIdentifier",
+ "src": "37849:6:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "37862:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "37873:2:14",
+ "type": "",
+ "value": "64"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "37858:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37858:18:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_uint256_to_t_uint256_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "37805:43:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37805:72:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "37805:72:14"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "37898:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "37909:2:14",
+ "type": "",
+ "value": "96"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "37894:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37894:18:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "37918:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "37924:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "37914:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37914:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "37887:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37887:48:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "37887:48:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "37944:84:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "value3",
+ "nodeType": "YulIdentifier",
+ "src": "38014:6:14"
+ },
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "38023:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "37952:61:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "37952:76:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "37944:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "37543:9:14",
+ "type": ""
+ },
+ {
+ "name": "value3",
+ "nodeType": "YulTypedName",
+ "src": "37555:6:14",
+ "type": ""
+ },
+ {
+ "name": "value2",
+ "nodeType": "YulTypedName",
+ "src": "37563:6:14",
+ "type": ""
+ },
+ {
+ "name": "value1",
+ "nodeType": "YulTypedName",
+ "src": "37571:6:14",
+ "type": ""
+ },
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "37579:6:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "37590:4:14",
+ "type": ""
+ }
+ ],
+ "src": "37395:640:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "38103:79:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "38113:22:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "38128:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "mload",
+ "nodeType": "YulIdentifier",
+ "src": "38122:5:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "38122:13:14"
+ },
+ "variableNames": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "38113:5:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "value",
+ "nodeType": "YulIdentifier",
+ "src": "38170:5:14"
+ }
+ ],
+ "functionName": {
+ "name": "validator_revert_t_bytes4",
+ "nodeType": "YulIdentifier",
+ "src": "38144:25:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "38144:32:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "38144:32:14"
+ }
+ ]
+ },
+ "name": "abi_decode_t_bytes4_fromMemory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "38081:6:14",
+ "type": ""
+ },
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "38089:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value",
+ "nodeType": "YulTypedName",
+ "src": "38097:5:14",
+ "type": ""
+ }
+ ],
+ "src": "38041:141:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "38264:273:14",
+ "statements": [
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "38310:83:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "functionName": {
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
+ "nodeType": "YulIdentifier",
+ "src": "38312:77:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "38312:79:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "38312:79:14"
+ }
+ ]
+ },
+ "condition": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "38285:7:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "38294:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "38281:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "38281:23:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "38306:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "slt",
+ "nodeType": "YulIdentifier",
+ "src": "38277:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "38277:32:14"
+ },
+ "nodeType": "YulIf",
+ "src": "38274:119:14"
+ },
+ {
+ "nodeType": "YulBlock",
+ "src": "38403:127:14",
+ "statements": [
+ {
+ "nodeType": "YulVariableDeclaration",
+ "src": "38418:15:14",
+ "value": {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "38432:1:14",
+ "type": "",
+ "value": "0"
+ },
+ "variables": [
+ {
+ "name": "offset",
+ "nodeType": "YulTypedName",
+ "src": "38422:6:14",
+ "type": ""
+ }
+ ]
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "38447:73:14",
+ "value": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "38492:9:14"
+ },
+ {
+ "name": "offset",
+ "nodeType": "YulIdentifier",
+ "src": "38503:6:14"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "38488:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "38488:22:14"
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulIdentifier",
+ "src": "38512:7:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_decode_t_bytes4_fromMemory",
+ "nodeType": "YulIdentifier",
+ "src": "38457:30:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "38457:63:14"
+ },
+ "variableNames": [
+ {
+ "name": "value0",
+ "nodeType": "YulIdentifier",
+ "src": "38447:6:14"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_decode_tuple_t_bytes4_fromMemory",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "38234:9:14",
+ "type": ""
+ },
+ {
+ "name": "dataEnd",
+ "nodeType": "YulTypedName",
+ "src": "38245:7:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "value0",
+ "nodeType": "YulTypedName",
+ "src": "38257:6:14",
+ "type": ""
+ }
+ ],
+ "src": "38188:349:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "38649:76:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "38671:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "38679:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "38667:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "38667:14:14"
+ },
+ {
+ "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "38683:34:14",
+ "type": "",
+ "value": "ERC721: mint to the zero address"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "38660:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "38660:58:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "38660:58:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "38641:6:14",
+ "type": ""
+ }
+ ],
+ "src": "38543:182:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "38877:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "38887:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "38953:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "38958:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "38894:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "38894:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "38887:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "39059:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6",
+ "nodeType": "YulIdentifier",
+ "src": "38970:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "38970:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "38970:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "39072:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "39083:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "39088:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "39079:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "39079:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "39072:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "38865:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "38873:3:14",
+ "type": ""
+ }
+ ],
+ "src": "38731:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "39274:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "39284:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "39296:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "39307:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "39292:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "39292:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "39284:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "39331:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "39342:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "39327:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "39327:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "39350:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "39356:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "39346:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "39346:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "39320:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "39320:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "39320:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "39376:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "39510:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "39384:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "39384:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "39376:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "39254:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "39269:4:14",
+ "type": ""
+ }
+ ],
+ "src": "39103:419:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "39634:72:14",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulIdentifier",
+ "src": "39656:6:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "39664:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "39652:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "39652:14:14"
+ },
+ {
+ "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564",
+ "kind": "string",
+ "nodeType": "YulLiteral",
+ "src": "39668:30:14",
+ "type": "",
+ "value": "ERC721: token already minted"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "39645:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "39645:54:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "39645:54:14"
+ }
+ ]
+ },
+ "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "memPtr",
+ "nodeType": "YulTypedName",
+ "src": "39626:6:14",
+ "type": ""
+ }
+ ],
+ "src": "39528:178:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "39858:220:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "39868:74:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "39934:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "39939:2:14",
+ "type": "",
+ "value": "28"
+ }
+ ],
+ "functionName": {
+ "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "39875:58:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "39875:67:14"
+ },
+ "variableNames": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "39868:3:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "40040:3:14"
+ }
+ ],
+ "functionName": {
+ "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57",
+ "nodeType": "YulIdentifier",
+ "src": "39951:88:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "39951:93:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "39951:93:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "40053:19:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "pos",
+ "nodeType": "YulIdentifier",
+ "src": "40064:3:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "40069:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "40060:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "40060:12:14"
+ },
+ "variableNames": [
+ {
+ "name": "end",
+ "nodeType": "YulIdentifier",
+ "src": "40053:3:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "pos",
+ "nodeType": "YulTypedName",
+ "src": "39846:3:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "end",
+ "nodeType": "YulTypedName",
+ "src": "39854:3:14",
+ "type": ""
+ }
+ ],
+ "src": "39712:366:14"
+ },
+ {
+ "body": {
+ "nodeType": "YulBlock",
+ "src": "40255:248:14",
+ "statements": [
+ {
+ "nodeType": "YulAssignment",
+ "src": "40265:26:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "40277:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "40288:2:14",
+ "type": "",
+ "value": "32"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "40273:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "40273:18:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "40265:4:14"
+ }
+ ]
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "40312:9:14"
+ },
+ {
+ "kind": "number",
+ "nodeType": "YulLiteral",
+ "src": "40323:1:14",
+ "type": "",
+ "value": "0"
+ }
+ ],
+ "functionName": {
+ "name": "add",
+ "nodeType": "YulIdentifier",
+ "src": "40308:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "40308:17:14"
+ },
+ {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "40331:4:14"
+ },
+ {
+ "name": "headStart",
+ "nodeType": "YulIdentifier",
+ "src": "40337:9:14"
+ }
+ ],
+ "functionName": {
+ "name": "sub",
+ "nodeType": "YulIdentifier",
+ "src": "40327:3:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "40327:20:14"
+ }
+ ],
+ "functionName": {
+ "name": "mstore",
+ "nodeType": "YulIdentifier",
+ "src": "40301:6:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "40301:47:14"
+ },
+ "nodeType": "YulExpressionStatement",
+ "src": "40301:47:14"
+ },
+ {
+ "nodeType": "YulAssignment",
+ "src": "40357:139:14",
+ "value": {
+ "arguments": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "40491:4:14"
+ }
+ ],
+ "functionName": {
+ "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack",
+ "nodeType": "YulIdentifier",
+ "src": "40365:124:14"
+ },
+ "nodeType": "YulFunctionCall",
+ "src": "40365:131:14"
+ },
+ "variableNames": [
+ {
+ "name": "tail",
+ "nodeType": "YulIdentifier",
+ "src": "40357:4:14"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed",
+ "nodeType": "YulFunctionDefinition",
+ "parameters": [
+ {
+ "name": "headStart",
+ "nodeType": "YulTypedName",
+ "src": "40235:9:14",
+ "type": ""
+ }
+ ],
+ "returnVariables": [
+ {
+ "name": "tail",
+ "nodeType": "YulTypedName",
+ "src": "40250:4:14",
+ "type": ""
+ }
+ ],
+ "src": "40084:419:14"
+ }
+ ]
+ },
+ "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n // struct Nftzi.TokenInfoStruct -> struct Nftzi.TokenInfoStruct\n function abi_encode_t_struct$_TokenInfoStruct_$2284_memory_ptr_to_t_struct$_TokenInfoStruct_$2284_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0xc0)\n\n {\n // tokenId\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // URI\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // creator\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x40))\n }\n\n {\n // rentedAt\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x60))\n }\n\n {\n // rentedBy\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x80))\n }\n\n {\n // balance\n\n let memberValue0 := mload(add(value, 0xa0))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0xa0))\n }\n\n end := tail\n }\n\n function abi_encodeUpdatedPos_t_struct$_TokenInfoStruct_$2284_memory_ptr_to_t_struct$_TokenInfoStruct_$2284_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_struct$_TokenInfoStruct_$2284_memory_ptr_to_t_struct$_TokenInfoStruct_$2284_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // struct Nftzi.TokenInfoStruct[] -> struct Nftzi.TokenInfoStruct[]\n function abi_encode_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_struct$_TokenInfoStruct_$2284_memory_ptr_to_t_struct$_TokenInfoStruct_$2284_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approved query for nonex\")\n\n mstore(add(memPtr, 32), \"istent token\")\n\n }\n\n function abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approval to current owne\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not ow\")\n\n mstore(add(memPtr, 32), \"ner nor approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 56)\n store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer caller is not o\")\n\n mstore(add(memPtr, 32), \"wner nor approved\")\n\n }\n\n function abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 49)\n store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: owner query for nonexist\")\n\n mstore(add(memPtr, 32), \"ent token\")\n\n }\n\n function abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: balance query for the ze\")\n\n mstore(add(memPtr, 32), \"ro address\")\n\n }\n\n function abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: rent query for nonexiste\")\n\n mstore(add(memPtr, 32), \"nt token\")\n\n }\n\n function abi_encode_t_stringliteral_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 40)\n store_literal_in_memory_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve to caller\")\n\n }\n\n function abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Metadata: URI query for no\")\n\n mstore(add(memPtr, 32), \"nexistent token\")\n\n }\n\n function abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_8d026af6d3fcb97b10c188f1f15abf5d88ea4477d3e06968711ba90108e018d3(memPtr) {\n\n mstore(add(memPtr, 0), \"Redeem: caller is not the creato\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_8d026af6d3fcb97b10c188f1f15abf5d88ea4477d3e06968711ba90108e018d3_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_8d026af6d3fcb97b10c188f1f15abf5d88ea4477d3e06968711ba90108e018d3(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_8d026af6d3fcb97b10c188f1f15abf5d88ea4477d3e06968711ba90108e018d3__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8d026af6d3fcb97b10c188f1f15abf5d88ea4477d3e06968711ba90108e018d3_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: operator query for nonex\")\n\n mstore(add(memPtr, 32), \"istent token\")\n\n }\n\n function abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer of token that i\")\n\n mstore(add(memPtr, 32), \"s not own\")\n\n }\n\n function abi_encode_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to non ERC721Re\")\n\n mstore(add(memPtr, 32), \"ceiver implementer\")\n\n }\n\n function abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_4891fff3fd5c79dd7d1b0cfae78dbe3c240608be5953a321dab1d413fb93a400(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Metadata: URI set for none\")\n\n mstore(add(memPtr, 32), \"xistent token\")\n\n }\n\n function abi_encode_t_stringliteral_4891fff3fd5c79dd7d1b0cfae78dbe3c240608be5953a321dab1d413fb93a400_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_4891fff3fd5c79dd7d1b0cfae78dbe3c240608be5953a321dab1d413fb93a400(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_4891fff3fd5c79dd7d1b0cfae78dbe3c240608be5953a321dab1d413fb93a400__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4891fff3fd5c79dd7d1b0cfae78dbe3c240608be5953a321dab1d413fb93a400_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n }\n\n function abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: mint to the zero address\")\n\n }\n\n function abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: token already minted\")\n\n }\n\n function abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n}\n",
+ "id": 14,
+ "language": "Yul",
+ "name": "#utility.yul"
+ }
+ ],
+ "sourceMap": "225:5667:13:-:0;;;620:7;589:38;;661:10;633:38;;1163:151;;;;;;;;;;1316:113:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1390:5;1382;:13;;;;;;;;;;;;:::i;:::-;;1415:7;1405;:17;;;;;;;;;;;;:::i;:::-;;1316:113;;1222:15:13::1;1211:8;:26;;;;1247:27;:15;:25;;;;;:27;;:::i;:::-;1284:23;:11;:21;;;;;:23;;:::i;:::-;225:5667:::0;;891:123:9;996:1;978:7;:14;;;:19;;;;;;;;;;;891:123;:::o;225:5667:13:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:180:14:-;55:77;52:1;45:88;152:4;149:1;142:15;176:4;173:1;166:15;193:320;237:6;274:1;268:4;264:12;254:22;;321:1;315:4;311:12;342:18;332:81;;398:4;390:6;386:17;376:27;;332:81;460:2;452:6;449:14;429:18;426:38;423:84;;;479:18;;:::i;:::-;423:84;244:269;193:320;;;:::o;225:5667:13:-;;;;;;;",
+ "deployedSourceMap": "225:5667:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1496:300:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;633:38:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2414:98:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3925:217;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3463:401;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4789:330;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5185:179;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2117:235;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1855:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2780:694:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2576:102:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4209:290;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;589:38:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5430:320:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5508:382:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1839:262;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4810:692;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2107:667;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4565:162:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1496:300;1598:4;1648:25;1633:40;;;:11;:40;;;;:104;;;;1704:33;1689:48;;;:11;:48;;;;1633:104;:156;;;;1753:36;1777:11;1753:23;:36::i;:::-;1633:156;1614:175;;1496:300;;;:::o;633:38:13:-;;;;:::o;2414:98:3:-;2468:13;2500:5;2493:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2414:98;:::o;3925:217::-;4001:7;4028:16;4036:7;4028;:16::i;:::-;4020:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;4111:15;:24;4127:7;4111:24;;;;;;;;;;;;;;;;;;;;;4104:31;;3925:217;;;:::o;3463:401::-;3543:13;3559:23;3574:7;3559:14;:23::i;:::-;3543:39;;3606:5;3600:11;;:2;:11;;;;3592:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3697:5;3681:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3706:37;3723:5;3730:12;:10;:12::i;:::-;3706:16;:37::i;:::-;3681:62;3660:165;;;;;;;;;;;;:::i;:::-;;;;;;;;;3836:21;3845:2;3849:7;3836:8;:21::i;:::-;3533:331;3463:401;;:::o;4789:330::-;4978:41;4997:12;:10;:12::i;:::-;5011:7;4978:18;:41::i;:::-;4970:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;5084:28;5094:4;5100:2;5104:7;5084:9;:28::i;:::-;4789:330;;;:::o;5185:179::-;5318:39;5335:4;5341:2;5345:7;5318:39;;;;;;;;;;;;:16;:39::i;:::-;5185:179;;;:::o;2117:235::-;2189:7;2208:13;2224:7;:16;2232:7;2224:16;;;;;;;;;;;;;;;;;;;;;2208:32;;2275:1;2258:19;;:5;:19;;;;2250:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2340:5;2333:12;;;2117:235;;;:::o;1855:205::-;1927:7;1971:1;1954:19;;:5;:19;;;;1946:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;2037:9;:16;2047:5;2037:16;;;;;;;;;;;;;;;;2030:23;;1855:205;;;:::o;2780:694:13:-;2836:16;2844:7;2836;:16::i;:::-;2828:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;2908:11;2928:16;:25;2945:7;2928:25;;;;;;;;;;;;;;;;;;;;;2908:46;;3003:13;;2972:5;:15;;;2988:10;2972:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;;2964:53;;;;;;3027:5;:18;;;3046:10;3066:4;3073:13;;3027:60;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3136:10;;3120:13;;:26;;;;:::i;:::-;3098:9;:18;3108:7;3098:18;;;;;;;;;;;;:48;;;;;;;:::i;:::-;;;;;;;;3156:18;3177:21;:11;:19;:21::i;:::-;3156:42;;3232:50;;;;;;;;3245:15;3232:50;;;;3262:7;3232:50;;;;3271:10;3232:50;;;;;3208:9;:21;3218:10;3208:21;;;;;;;;;;;:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3292:63;3306:14;:23;3321:7;3306:23;;;;;;;;;;;;;;;;;;;;;3331:10;3343:7;3292:63;;;;;;;;;;;;:13;:63::i;:::-;3365:9;3380:10;3365:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3424:10;3401:11;:20;3413:7;3401:20;;;;;;;;;;;:33;;;;3444:23;:11;:21;:23::i;:::-;2818:656;;2780:694;:::o;2576:102:3:-;2632:13;2664:7;2657:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2576:102;:::o;4209:290::-;4323:12;:10;:12::i;:::-;4311:24;;:8;:24;;;;4303:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;4421:8;4376:18;:32;4395:12;:10;:12::i;:::-;4376:32;;;;;;;;;;;;;;;:42;4409:8;4376:42;;;;;;;;;;;;;;;;:53;;;;;;;;;;;;;;;;;;4473:8;4444:48;;4459:12;:10;:12::i;:::-;4444:48;;;4483:8;4444:48;;;;;;:::i;:::-;;;;;;;;4209:290;;:::o;589:38:13:-;;;;:::o;5430:320:3:-;5599:41;5618:12;:10;:12::i;:::-;5632:7;5599:18;:41::i;:::-;5591:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;5704:39;5718:4;5724:2;5728:7;5737:5;5704:13;:39::i;:::-;5430:320;;;;:::o;5508:382:13:-;5598:7;:5;:7::i;:::-;5615:15;5633:25;:15;:23;:25::i;:::-;5615:43;;5668:27;:15;:25;:27::i;:::-;5705:32;5715:12;:10;:12::i;:::-;5729:7;5705:9;:32::i;:::-;5747;5760:7;5769:9;5747:12;:32::i;:::-;5815:12;:10;:12::i;:::-;5789:14;:23;5804:7;5789:23;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;5865:18;5837:16;:25;5854:7;5837:25;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;5588:302;5508:382;;:::o;1839:262::-;1912:13;1945:16;1953:7;1945;:16::i;:::-;1937:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;2023:23;2049:10;:19;2060:7;2049:19;;;;;;;;;;;2023:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2085:9;2078:16;;;1839:262;;;:::o;4810:692::-;4871:15;4860:8;:26;;;;4905:16;4913:7;4905;:16::i;:::-;4897:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;4998:14;:23;5013:7;4998:23;;;;;;;;;;;;;;;;;;;;;4984:37;;:10;:37;;;4976:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;5070:21;5115:9;5094;:18;5104:7;5094:18;;;;;;;;;;;;:30;;;;:::i;:::-;5070:54;;5134:24;5172:9;:31;5182:11;:20;5194:7;5182:20;;;;;;;;;;;;5172:31;;;;;;;;;;;:40;;;5161:8;;:51;;;;:::i;:::-;5134:78;;5222:17;5258:16;5242:13;:32;;;;:::i;:::-;5222:52;;5285:11;5305:16;:25;5322:7;5305:25;;;;;;;;;;;;;;;;;;;;;5285:46;;5383:9;5349:5;:15;;;5373:4;5349:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:43;;5341:52;;;;;;5404:5;:14;;;5419;:23;5434:7;5419:23;;;;;;;;;;;;;;;;;;;;;5444:9;5404:50;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5486:9;5464;:18;5474:7;5464:18;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;4850:652;;;;4810:692;:::o;2107:667::-;2149:24;2185:34;2229:19;2251:25;:15;:23;:25::i;:::-;2229:47;;2304:1;2290:11;:15;2286:456;;;2355:11;2333:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2321:46;;2386:6;2395:1;2386:10;;2381:351;2402:11;2398:1;:15;2381:351;;;2453:264;;;;;;;;2488:1;2453:264;;;;2509:10;:13;2520:1;2509:13;;;;;;;;;;;2453:264;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2542:14;:17;2557:1;2542:17;;;;;;;;;;;;;;;;;;;;;2453:264;;;;;;2579:9;:25;2589:11;:14;2601:1;2589:14;;;;;;;;;;;;2579:25;;;;;;;;;;;:34;;;2453:264;;;;2633:9;:25;2643:11;:14;2655:1;2643:14;;;;;;;;;;;;2633:25;;;;;;;;;;;:34;;;;;;;;;;;;2453:264;;;;;;2687:9;:12;2697:1;2687:12;;;;;;;;;;;;2453:264;;;2438:9;2448:1;2438:12;;;;;;;;:::i;:::-;;;;;;;:279;;;;2415:3;;;;;:::i;:::-;;;;2381:351;;;;2286:456;2758:9;2751:16;;;;2107:667;:::o;4565:162:3:-;4662:4;4685:18;:25;4704:5;4685:25;;;;;;;;;;;;;;;:35;4711:8;4685:35;;;;;;;;;;;;;;;;;;;;;;;;;4678:42;;4565:162;;;;:::o;891:123:9:-;996:1;978:7;:14;;;:19;;;;;;;;;;;891:123;:::o;763:155:11:-;848:4;886:25;871:40;;;:11;:40;;;;864:47;;763:155;;;:::o;7222:125:3:-;7287:4;7338:1;7310:30;;:7;:16;7318:7;7310:16;;;;;;;;;;;;;;;;;;;;;:30;;;;7303:37;;7222:125;;;:::o;587:96:8:-;640:7;666:10;659:17;;587:96;:::o;11073:171:3:-;11174:2;11147:15;:24;11163:7;11147:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;11229:7;11225:2;11191:46;;11200:23;11215:7;11200:14;:23::i;:::-;11191:46;;;;;;;;;;;;11073:171;;:::o;1320:286:13:-;1422:4;1446:16;1454:7;1446;:16::i;:::-;1438:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1521:15;1539:14;:23;1554:7;1539:23;;;;;;;;;;;;;;;;;;;;;1521:41;;1591:7;1580:18;;:7;:18;;;1572:27;;;1320:286;;;;:::o;10402:560:3:-;10556:4;10529:31;;:23;10544:7;10529:14;:23::i;:::-;:31;;;10521:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;10638:1;10624:16;;:2;:16;;;;10616:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;10692:39;10713:4;10719:2;10723:7;10692:20;:39::i;:::-;10793:29;10810:1;10814:7;10793:8;:29::i;:::-;10852:1;10833:9;:15;10843:4;10833:15;;;;;;;;;;;;;;;;:20;;;;;;;:::i;:::-;;;;;;;;10880:1;10863:9;:13;10873:2;10863:13;;;;;;;;;;;;;;;;:18;;;;;;;:::i;:::-;;;;;;;;10910:2;10891:7;:16;10899:7;10891:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10947:7;10943:2;10928:27;;10937:4;10928:27;;;;;;;;;;;;10402:560;;;:::o;773:112:9:-;838:7;864;:14;;;857:21;;773:112;;;:::o;6612:307:3:-;6763:28;6773:4;6779:2;6783:7;6763:9;:28::i;:::-;6809:48;6832:4;6838:2;6842:7;6851:5;6809:22;:48::i;:::-;6801:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;6612:307;;;;:::o;3480:102:13:-;3535:15;3524:8;:26;;;;3560:15;:13;:15::i;:::-;3480:102::o;8179:108:3:-;8254:26;8264:2;8268:7;8254:26;;;;;;;;;;;;:9;:26::i;:::-;8179:108;;:::o;1612:213:13:-;1711:16;1719:7;1711;:16::i;:::-;1703:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;1809:9;1787:10;:19;1798:7;1787:19;;;;;;;;;;;:31;;;;;;;;;;;;:::i;:::-;;1612:213;;:::o;13131:122:3:-;;;;:::o;11797:778::-;11947:4;11967:15;:2;:13;;;:15::i;:::-;11963:606;;;12018:2;12002:36;;;12039:12;:10;:12::i;:::-;12053:4;12059:7;12068:5;12002:72;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;11998:519;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12258:1;12241:6;:13;:18;12237:266;;;12283:60;;;;;;;;;;:::i;:::-;;;;;;;;12237:266;12455:6;12449:13;12440:6;12436:2;12432:15;12425:38;11998:519;12134:41;;;12124:51;;;:6;:51;;;;12117:58;;;;;11963:606;12554:4;12547:11;;11797:778;;;;;;;:::o;3588:809:13:-;3640:26;3683:9;:16;;;;3669:31;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3640:60;;3715:6;3710:289;3731:9;:16;;;;3727:1;:20;3710:289;;;3769:29;3801:9;:23;3811:9;3821:1;3811:12;;;;;;;;:::i;:::-;;;;;;;;;;3801:23;;;;;;;;;;;3769:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3874:9;3853;:18;;;3842:8;;:29;;;;:::i;:::-;:41;3838:151;;;3903:5;;;3838:151;3962:9;3972:1;3962:12;;;;;;;;:::i;:::-;;;;;;;;;;3947:9;3957:1;3947:12;;;;;;;;:::i;:::-;;;;;;;:27;;;;;3755:244;3750:3;;;;;:::i;:::-;;;;3710:289;;;;4013:6;4008:383;4029:9;:16;4025:1;:20;4008:383;;;4085:1;4070:9;4080:1;4070:12;;;;;;;;:::i;:::-;;;;;;;;:16;4066:315;;;4106:29;4138:9;:23;4148:9;4158:1;4148:12;;;;;;;;:::i;:::-;;;;;;;;4138:23;;;;;;;;;;;4106:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4179:52;4193:9;:17;;;4212:9;:18;;;4179:13;:52::i;:::-;4256:9;:23;4266:9;4276:1;4266:12;;;;;;;;:::i;:::-;;;;;;;;4256:23;;;;;;;;;;;;4249:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4304:9;4314:1;4304:12;;;;;;;;:::i;:::-;;;;;;;;;4297:19;;;4341:11;:25;4353:9;4363:1;4353:12;;;;;;;;:::i;:::-;;;;;;;;4341:25;;;;;;;;;;;4334:32;;;4088:293;4066:315;4047:3;;;;;:::i;:::-;;;;4008:383;;;;3630:767;3588:809::o;8508:311:3:-;8633:18;8639:2;8643:7;8633:5;:18::i;:::-;8682:54;8713:1;8717:2;8721:7;8730:5;8682:22;:54::i;:::-;8661:151;;;;;;;;;;;;:::i;:::-;;;;;;;;;8508:311;;;:::o;718:377:7:-;778:4;981:12;1046:7;1034:20;1026:28;;1087:1;1080:4;:8;1073:15;;;718:377;;;:::o;4403:401:13:-;4488:11;4508:16;:25;4525:7;4508:25;;;;;;;;;;;;;;;;;;;;;4488:46;;4586:9;:18;4596:7;4586:18;;;;;;;;;;;;4552:5;:15;;;4576:4;4552:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:52;;4544:61;;;;;;4615:5;:14;;;4630;:23;4645:7;4630:23;;;;;;;;;;;;;;;;;;;;;4655:9;:18;4665:7;4655:18;;;;;;;;;;;;4615:59;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4707:9;:18;4717:7;4707:18;;;;;;;;;;;;4685:9;:18;4695:7;4685:18;;;;;;;;;;;;:40;;;;;;;:::i;:::-;;;;;;;;4736:61;4750:8;4760:14;:23;4775:7;4760:23;;;;;;;;;;;;;;;;;;;;;4785:7;4736:61;;;;;;;;;;;;:13;:61::i;:::-;4478:326;4403:401;;:::o;9141:372:3:-;9234:1;9220:16;;:2;:16;;;;9212:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9292:16;9300:7;9292;:16::i;:::-;9291:17;9283:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9352:45;9381:1;9385:2;9389:7;9352:20;:45::i;:::-;9425:1;9408:9;:13;9418:2;9408:13;;;;;;;;;;;;;;;;:18;;;;;;;:::i;:::-;;;;;;;;9455:2;9436:7;:16;9444:7;9436:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9498:7;9494:2;9473:33;;9490:1;9473:33;;;;;;;;;;;;9141:372;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:14:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:77::-;1555:7;1584:5;1573:16;;1518:77;;;:::o;1601:118::-;1688:24;1706:5;1688:24;:::i;:::-;1683:3;1676:37;1601:118;;:::o;1725:222::-;1818:4;1856:2;1845:9;1841:18;1833:26;;1869:71;1937:1;1926:9;1922:17;1913:6;1869:71;:::i;:::-;1725:222;;;;:::o;1953:99::-;2005:6;2039:5;2033:12;2023:22;;1953:99;;;:::o;2058:169::-;2142:11;2176:6;2171:3;2164:19;2216:4;2211:3;2207:14;2192:29;;2058:169;;;;:::o;2233:307::-;2301:1;2311:113;2325:6;2322:1;2319:13;2311:113;;;2410:1;2405:3;2401:11;2395:18;2391:1;2386:3;2382:11;2375:39;2347:2;2344:1;2340:10;2335:15;;2311:113;;;2442:6;2439:1;2436:13;2433:101;;;2522:1;2513:6;2508:3;2504:16;2497:27;2433:101;2282:258;2233:307;;;:::o;2546:102::-;2587:6;2638:2;2634:7;2629:2;2622:5;2618:14;2614:28;2604:38;;2546:102;;;:::o;2654:364::-;2742:3;2770:39;2803:5;2770:39;:::i;:::-;2825:71;2889:6;2884:3;2825:71;:::i;:::-;2818:78;;2905:52;2950:6;2945:3;2938:4;2931:5;2927:16;2905:52;:::i;:::-;2982:29;3004:6;2982:29;:::i;:::-;2977:3;2973:39;2966:46;;2746:272;2654:364;;;;:::o;3024:313::-;3137:4;3175:2;3164:9;3160:18;3152:26;;3224:9;3218:4;3214:20;3210:1;3199:9;3195:17;3188:47;3252:78;3325:4;3316:6;3252:78;:::i;:::-;3244:86;;3024:313;;;;:::o;3343:122::-;3416:24;3434:5;3416:24;:::i;:::-;3409:5;3406:35;3396:63;;3455:1;3452;3445:12;3396:63;3343:122;:::o;3471:139::-;3517:5;3555:6;3542:20;3533:29;;3571:33;3598:5;3571:33;:::i;:::-;3471:139;;;;:::o;3616:329::-;3675:6;3724:2;3712:9;3703:7;3699:23;3695:32;3692:119;;;3730:79;;:::i;:::-;3692:119;3850:1;3875:53;3920:7;3911:6;3900:9;3896:22;3875:53;:::i;:::-;3865:63;;3821:117;3616:329;;;;:::o;3951:126::-;3988:7;4028:42;4021:5;4017:54;4006:65;;3951:126;;;:::o;4083:96::-;4120:7;4149:24;4167:5;4149:24;:::i;:::-;4138:35;;4083:96;;;:::o;4185:118::-;4272:24;4290:5;4272:24;:::i;:::-;4267:3;4260:37;4185:118;;:::o;4309:222::-;4402:4;4440:2;4429:9;4425:18;4417:26;;4453:71;4521:1;4510:9;4506:17;4497:6;4453:71;:::i;:::-;4309:222;;;;:::o;4537:122::-;4610:24;4628:5;4610:24;:::i;:::-;4603:5;4600:35;4590:63;;4649:1;4646;4639:12;4590:63;4537:122;:::o;4665:139::-;4711:5;4749:6;4736:20;4727:29;;4765:33;4792:5;4765:33;:::i;:::-;4665:139;;;;:::o;4810:474::-;4878:6;4886;4935:2;4923:9;4914:7;4910:23;4906:32;4903:119;;;4941:79;;:::i;:::-;4903:119;5061:1;5086:53;5131:7;5122:6;5111:9;5107:22;5086:53;:::i;:::-;5076:63;;5032:117;5188:2;5214:53;5259:7;5250:6;5239:9;5235:22;5214:53;:::i;:::-;5204:63;;5159:118;4810:474;;;;;:::o;5290:619::-;5367:6;5375;5383;5432:2;5420:9;5411:7;5407:23;5403:32;5400:119;;;5438:79;;:::i;:::-;5400:119;5558:1;5583:53;5628:7;5619:6;5608:9;5604:22;5583:53;:::i;:::-;5573:63;;5529:117;5685:2;5711:53;5756:7;5747:6;5736:9;5732:22;5711:53;:::i;:::-;5701:63;;5656:118;5813:2;5839:53;5884:7;5875:6;5864:9;5860:22;5839:53;:::i;:::-;5829:63;;5784:118;5290:619;;;;;:::o;5915:329::-;5974:6;6023:2;6011:9;6002:7;5998:23;5994:32;5991:119;;;6029:79;;:::i;:::-;5991:119;6149:1;6174:53;6219:7;6210:6;6199:9;6195:22;6174:53;:::i;:::-;6164:63;;6120:117;5915:329;;;;:::o;6250:116::-;6320:21;6335:5;6320:21;:::i;:::-;6313:5;6310:32;6300:60;;6356:1;6353;6346:12;6300:60;6250:116;:::o;6372:133::-;6415:5;6453:6;6440:20;6431:29;;6469:30;6493:5;6469:30;:::i;:::-;6372:133;;;;:::o;6511:468::-;6576:6;6584;6633:2;6621:9;6612:7;6608:23;6604:32;6601:119;;;6639:79;;:::i;:::-;6601:119;6759:1;6784:53;6829:7;6820:6;6809:9;6805:22;6784:53;:::i;:::-;6774:63;;6730:117;6886:2;6912:50;6954:7;6945:6;6934:9;6930:22;6912:50;:::i;:::-;6902:60;;6857:115;6511:468;;;;;:::o;6985:117::-;7094:1;7091;7084:12;7108:117;7217:1;7214;7207:12;7231:180;7279:77;7276:1;7269:88;7376:4;7373:1;7366:15;7400:4;7397:1;7390:15;7417:281;7500:27;7522:4;7500:27;:::i;:::-;7492:6;7488:40;7630:6;7618:10;7615:22;7594:18;7582:10;7579:34;7576:62;7573:88;;;7641:18;;:::i;:::-;7573:88;7681:10;7677:2;7670:22;7460:238;7417:281;;:::o;7704:129::-;7738:6;7765:20;;:::i;:::-;7755:30;;7794:33;7822:4;7814:6;7794:33;:::i;:::-;7704:129;;;:::o;7839:307::-;7900:4;7990:18;7982:6;7979:30;7976:56;;;8012:18;;:::i;:::-;7976:56;8050:29;8072:6;8050:29;:::i;:::-;8042:37;;8134:4;8128;8124:15;8116:23;;7839:307;;;:::o;8152:154::-;8236:6;8231:3;8226;8213:30;8298:1;8289:6;8284:3;8280:16;8273:27;8152:154;;;:::o;8312:410::-;8389:5;8414:65;8430:48;8471:6;8430:48;:::i;:::-;8414:65;:::i;:::-;8405:74;;8502:6;8495:5;8488:21;8540:4;8533:5;8529:16;8578:3;8569:6;8564:3;8560:16;8557:25;8554:112;;;8585:79;;:::i;:::-;8554:112;8675:41;8709:6;8704:3;8699;8675:41;:::i;:::-;8395:327;8312:410;;;;;:::o;8741:338::-;8796:5;8845:3;8838:4;8830:6;8826:17;8822:27;8812:122;;8853:79;;:::i;:::-;8812:122;8970:6;8957:20;8995:78;9069:3;9061:6;9054:4;9046:6;9042:17;8995:78;:::i;:::-;8986:87;;8802:277;8741:338;;;;:::o;9085:943::-;9180:6;9188;9196;9204;9253:3;9241:9;9232:7;9228:23;9224:33;9221:120;;;9260:79;;:::i;:::-;9221:120;9380:1;9405:53;9450:7;9441:6;9430:9;9426:22;9405:53;:::i;:::-;9395:63;;9351:117;9507:2;9533:53;9578:7;9569:6;9558:9;9554:22;9533:53;:::i;:::-;9523:63;;9478:118;9635:2;9661:53;9706:7;9697:6;9686:9;9682:22;9661:53;:::i;:::-;9651:63;;9606:118;9791:2;9780:9;9776:18;9763:32;9822:18;9814:6;9811:30;9808:117;;;9844:79;;:::i;:::-;9808:117;9949:62;10003:7;9994:6;9983:9;9979:22;9949:62;:::i;:::-;9939:72;;9734:287;9085:943;;;;;;;:::o;10034:308::-;10096:4;10186:18;10178:6;10175:30;10172:56;;;10208:18;;:::i;:::-;10172:56;10246:29;10268:6;10246:29;:::i;:::-;10238:37;;10330:4;10324;10320:15;10312:23;;10034:308;;;:::o;10348:412::-;10426:5;10451:66;10467:49;10509:6;10467:49;:::i;:::-;10451:66;:::i;:::-;10442:75;;10540:6;10533:5;10526:21;10578:4;10571:5;10567:16;10616:3;10607:6;10602:3;10598:16;10595:25;10592:112;;;10623:79;;:::i;:::-;10592:112;10713:41;10747:6;10742:3;10737;10713:41;:::i;:::-;10432:328;10348:412;;;;;:::o;10780:340::-;10836:5;10885:3;10878:4;10870:6;10866:17;10862:27;10852:122;;10893:79;;:::i;:::-;10852:122;11010:6;10997:20;11035:79;11110:3;11102:6;11095:4;11087:6;11083:17;11035:79;:::i;:::-;11026:88;;10842:278;10780:340;;;;:::o;11126:654::-;11204:6;11212;11261:2;11249:9;11240:7;11236:23;11232:32;11229:119;;;11267:79;;:::i;:::-;11229:119;11415:1;11404:9;11400:17;11387:31;11445:18;11437:6;11434:30;11431:117;;;11467:79;;:::i;:::-;11431:117;11572:63;11627:7;11618:6;11607:9;11603:22;11572:63;:::i;:::-;11562:73;;11358:287;11684:2;11710:53;11755:7;11746:6;11735:9;11731:22;11710:53;:::i;:::-;11700:63;;11655:118;11126:654;;;;;:::o;11786:147::-;11886:6;11920:5;11914:12;11904:22;;11786:147;;;:::o;11939:217::-;12071:11;12105:6;12100:3;12093:19;12145:4;12140:3;12136:14;12121:29;;11939:217;;;;:::o;12162:165::-;12262:4;12285:3;12277:11;;12315:4;12310:3;12306:14;12298:22;;12162:165;;;:::o;12333:108::-;12410:24;12428:5;12410:24;:::i;:::-;12405:3;12398:37;12333:108;;:::o;12447:159::-;12521:11;12555:6;12550:3;12543:19;12595:4;12590:3;12586:14;12571:29;;12447:159;;;;:::o;12612:344::-;12690:3;12718:39;12751:5;12718:39;:::i;:::-;12773:61;12827:6;12822:3;12773:61;:::i;:::-;12766:68;;12843:52;12888:6;12883:3;12876:4;12869:5;12865:16;12843:52;:::i;:::-;12920:29;12942:6;12920:29;:::i;:::-;12915:3;12911:39;12904:46;;12694:262;12612:344;;;;:::o;12962:108::-;13039:24;13057:5;13039:24;:::i;:::-;13034:3;13027:37;12962:108;;:::o;13144:1324::-;13269:3;13305:4;13300:3;13296:14;13395:4;13388:5;13384:16;13378:23;13414:63;13471:4;13466:3;13462:14;13448:12;13414:63;:::i;:::-;13320:167;13568:4;13561:5;13557:16;13551:23;13621:3;13615:4;13611:14;13604:4;13599:3;13595:14;13588:38;13647:73;13715:4;13701:12;13647:73;:::i;:::-;13639:81;;13497:234;13816:4;13809:5;13805:16;13799:23;13835:63;13892:4;13887:3;13883:14;13869:12;13835:63;:::i;:::-;13741:167;13994:4;13987:5;13983:16;13977:23;14013:63;14070:4;14065:3;14061:14;14047:12;14013:63;:::i;:::-;13918:168;14172:4;14165:5;14161:16;14155:23;14191:63;14248:4;14243:3;14239:14;14225:12;14191:63;:::i;:::-;14096:168;14349:4;14342:5;14338:16;14332:23;14368:63;14425:4;14420:3;14416:14;14402:12;14368:63;:::i;:::-;14274:167;14458:4;14451:11;;13274:1194;13144:1324;;;;:::o;14474:288::-;14609:10;14644:112;14752:3;14744:6;14644:112;:::i;:::-;14630:126;;14474:288;;;;:::o;14768:146::-;14871:4;14903;14898:3;14894:14;14886:22;;14768:146;;;:::o;14992:1175::-;15177:3;15206:87;15287:5;15206:87;:::i;:::-;15309:119;15421:6;15416:3;15309:119;:::i;:::-;15302:126;;15454:3;15499:4;15491:6;15487:17;15482:3;15478:27;15529:89;15612:5;15529:89;:::i;:::-;15641:7;15672:1;15657:465;15682:6;15679:1;15676:13;15657:465;;;15753:9;15747:4;15743:20;15738:3;15731:33;15804:6;15798:13;15832:130;15957:4;15942:13;15832:130;:::i;:::-;15824:138;;15985:93;16071:6;15985:93;:::i;:::-;15975:103;;16107:4;16102:3;16098:14;16091:21;;15717:405;15704:1;15701;15697:9;15692:14;;15657:465;;;15661:14;16138:4;16131:11;;16158:3;16151:10;;15182:985;;;;;14992:1175;;;;:::o;16173:505::-;16382:4;16420:2;16409:9;16405:18;16397:26;;16469:9;16463:4;16459:20;16455:1;16444:9;16440:17;16433:47;16497:174;16666:4;16657:6;16497:174;:::i;:::-;16489:182;;16173:505;;;;:::o;16684:474::-;16752:6;16760;16809:2;16797:9;16788:7;16784:23;16780:32;16777:119;;;16815:79;;:::i;:::-;16777:119;16935:1;16960:53;17005:7;16996:6;16985:9;16981:22;16960:53;:::i;:::-;16950:63;;16906:117;17062:2;17088:53;17133:7;17124:6;17113:9;17109:22;17088:53;:::i;:::-;17078:63;;17033:118;16684:474;;;;;:::o;17164:180::-;17212:77;17209:1;17202:88;17309:4;17306:1;17299:15;17333:4;17330:1;17323:15;17350:320;17394:6;17431:1;17425:4;17421:12;17411:22;;17478:1;17472:4;17468:12;17499:18;17489:81;;17555:4;17547:6;17543:17;17533:27;;17489:81;17617:2;17609:6;17606:14;17586:18;17583:38;17580:84;;;17636:18;;:::i;:::-;17580:84;17401:269;17350:320;;;:::o;17676:231::-;17816:34;17812:1;17804:6;17800:14;17793:58;17885:14;17880:2;17872:6;17868:15;17861:39;17676:231;:::o;17913:366::-;18055:3;18076:67;18140:2;18135:3;18076:67;:::i;:::-;18069:74;;18152:93;18241:3;18152:93;:::i;:::-;18270:2;18265:3;18261:12;18254:19;;17913:366;;;:::o;18285:419::-;18451:4;18489:2;18478:9;18474:18;18466:26;;18538:9;18532:4;18528:20;18524:1;18513:9;18509:17;18502:47;18566:131;18692:4;18566:131;:::i;:::-;18558:139;;18285:419;;;:::o;18710:220::-;18850:34;18846:1;18838:6;18834:14;18827:58;18919:3;18914:2;18906:6;18902:15;18895:28;18710:220;:::o;18936:366::-;19078:3;19099:67;19163:2;19158:3;19099:67;:::i;:::-;19092:74;;19175:93;19264:3;19175:93;:::i;:::-;19293:2;19288:3;19284:12;19277:19;;18936:366;;;:::o;19308:419::-;19474:4;19512:2;19501:9;19497:18;19489:26;;19561:9;19555:4;19551:20;19547:1;19536:9;19532:17;19525:47;19589:131;19715:4;19589:131;:::i;:::-;19581:139;;19308:419;;;:::o;19733:243::-;19873:34;19869:1;19861:6;19857:14;19850:58;19942:26;19937:2;19929:6;19925:15;19918:51;19733:243;:::o;19982:366::-;20124:3;20145:67;20209:2;20204:3;20145:67;:::i;:::-;20138:74;;20221:93;20310:3;20221:93;:::i;:::-;20339:2;20334:3;20330:12;20323:19;;19982:366;;;:::o;20354:419::-;20520:4;20558:2;20547:9;20543:18;20535:26;;20607:9;20601:4;20597:20;20593:1;20582:9;20578:17;20571:47;20635:131;20761:4;20635:131;:::i;:::-;20627:139;;20354:419;;;:::o;20779:236::-;20919:34;20915:1;20907:6;20903:14;20896:58;20988:19;20983:2;20975:6;20971:15;20964:44;20779:236;:::o;21021:366::-;21163:3;21184:67;21248:2;21243:3;21184:67;:::i;:::-;21177:74;;21260:93;21349:3;21260:93;:::i;:::-;21378:2;21373:3;21369:12;21362:19;;21021:366;;;:::o;21393:419::-;21559:4;21597:2;21586:9;21582:18;21574:26;;21646:9;21640:4;21636:20;21632:1;21621:9;21617:17;21610:47;21674:131;21800:4;21674:131;:::i;:::-;21666:139;;21393:419;;;:::o;21818:228::-;21958:34;21954:1;21946:6;21942:14;21935:58;22027:11;22022:2;22014:6;22010:15;22003:36;21818:228;:::o;22052:366::-;22194:3;22215:67;22279:2;22274:3;22215:67;:::i;:::-;22208:74;;22291:93;22380:3;22291:93;:::i;:::-;22409:2;22404:3;22400:12;22393:19;;22052:366;;;:::o;22424:419::-;22590:4;22628:2;22617:9;22613:18;22605:26;;22677:9;22671:4;22667:20;22663:1;22652:9;22648:17;22641:47;22705:131;22831:4;22705:131;:::i;:::-;22697:139;;22424:419;;;:::o;22849:229::-;22989:34;22985:1;22977:6;22973:14;22966:58;23058:12;23053:2;23045:6;23041:15;23034:37;22849:229;:::o;23084:366::-;23226:3;23247:67;23311:2;23306:3;23247:67;:::i;:::-;23240:74;;23323:93;23412:3;23323:93;:::i;:::-;23441:2;23436:3;23432:12;23425:19;;23084:366;;;:::o;23456:419::-;23622:4;23660:2;23649:9;23645:18;23637:26;;23709:9;23703:4;23699:20;23695:1;23684:9;23680:17;23673:47;23737:131;23863:4;23737:131;:::i;:::-;23729:139;;23456:419;;;:::o;23881:227::-;24021:34;24017:1;24009:6;24005:14;23998:58;24090:10;24085:2;24077:6;24073:15;24066:35;23881:227;:::o;24114:366::-;24256:3;24277:67;24341:2;24336:3;24277:67;:::i;:::-;24270:74;;24353:93;24442:3;24353:93;:::i;:::-;24471:2;24466:3;24462:12;24455:19;;24114:366;;;:::o;24486:419::-;24652:4;24690:2;24679:9;24675:18;24667:26;;24739:9;24733:4;24729:20;24725:1;24714:9;24710:17;24703:47;24767:131;24893:4;24767:131;:::i;:::-;24759:139;;24486:419;;;:::o;24911:143::-;24968:5;24999:6;24993:13;24984:22;;25015:33;25042:5;25015:33;:::i;:::-;24911:143;;;;:::o;25060:351::-;25130:6;25179:2;25167:9;25158:7;25154:23;25150:32;25147:119;;;25185:79;;:::i;:::-;25147:119;25305:1;25330:64;25386:7;25377:6;25366:9;25362:22;25330:64;:::i;:::-;25320:74;;25276:128;25060:351;;;;:::o;25417:442::-;25566:4;25604:2;25593:9;25589:18;25581:26;;25617:71;25685:1;25674:9;25670:17;25661:6;25617:71;:::i;:::-;25698:72;25766:2;25755:9;25751:18;25742:6;25698:72;:::i;:::-;25780;25848:2;25837:9;25833:18;25824:6;25780:72;:::i;:::-;25417:442;;;;;;:::o;25865:137::-;25919:5;25950:6;25944:13;25935:22;;25966:30;25990:5;25966:30;:::i;:::-;25865:137;;;;:::o;26008:345::-;26075:6;26124:2;26112:9;26103:7;26099:23;26095:32;26092:119;;;26130:79;;:::i;:::-;26092:119;26250:1;26275:61;26328:7;26319:6;26308:9;26304:22;26275:61;:::i;:::-;26265:71;;26221:125;26008:345;;;;:::o;26359:180::-;26407:77;26404:1;26397:88;26504:4;26501:1;26494:15;26528:4;26525:1;26518:15;26545:191;26585:4;26605:20;26623:1;26605:20;:::i;:::-;26600:25;;26639:20;26657:1;26639:20;:::i;:::-;26634:25;;26678:1;26675;26672:8;26669:34;;;26683:18;;:::i;:::-;26669:34;26728:1;26725;26721:9;26713:17;;26545:191;;;;:::o;26742:305::-;26782:3;26801:20;26819:1;26801:20;:::i;:::-;26796:25;;26835:20;26853:1;26835:20;:::i;:::-;26830:25;;26989:1;26921:66;26917:74;26914:1;26911:81;26908:107;;;26995:18;;:::i;:::-;26908:107;27039:1;27036;27032:9;27025:16;;26742:305;;;;:::o;27053:175::-;27193:27;27189:1;27181:6;27177:14;27170:51;27053:175;:::o;27234:366::-;27376:3;27397:67;27461:2;27456:3;27397:67;:::i;:::-;27390:74;;27473:93;27562:3;27473:93;:::i;:::-;27591:2;27586:3;27582:12;27575:19;;27234:366;;;:::o;27606:419::-;27772:4;27810:2;27799:9;27795:18;27787:26;;27859:9;27853:4;27849:20;27845:1;27834:9;27830:17;27823:47;27887:131;28013:4;27887:131;:::i;:::-;27879:139;;27606:419;;;:::o;28031:234::-;28171:34;28167:1;28159:6;28155:14;28148:58;28240:17;28235:2;28227:6;28223:15;28216:42;28031:234;:::o;28271:366::-;28413:3;28434:67;28498:2;28493:3;28434:67;:::i;:::-;28427:74;;28510:93;28599:3;28510:93;:::i;:::-;28628:2;28623:3;28619:12;28612:19;;28271:366;;;:::o;28643:419::-;28809:4;28847:2;28836:9;28832:18;28824:26;;28896:9;28890:4;28886:20;28882:1;28871:9;28867:17;28860:47;28924:131;29050:4;28924:131;:::i;:::-;28916:139;;28643:419;;;:::o;29068:220::-;29208:34;29204:1;29196:6;29192:14;29185:58;29277:3;29272:2;29264:6;29260:15;29253:28;29068:220;:::o;29294:366::-;29436:3;29457:67;29521:2;29516:3;29457:67;:::i;:::-;29450:74;;29533:93;29622:3;29533:93;:::i;:::-;29651:2;29646:3;29642:12;29635:19;;29294:366;;;:::o;29666:419::-;29832:4;29870:2;29859:9;29855:18;29847:26;;29919:9;29913:4;29909:20;29905:1;29894:9;29890:17;29883:47;29947:131;30073:4;29947:131;:::i;:::-;29939:139;;29666:419;;;:::o;30091:180::-;30139:77;30136:1;30129:88;30236:4;30233:1;30226:15;30260:4;30257:1;30250:15;30277:185;30317:1;30334:20;30352:1;30334:20;:::i;:::-;30329:25;;30368:20;30386:1;30368:20;:::i;:::-;30363:25;;30407:1;30397:35;;30412:18;;:::i;:::-;30397:35;30454:1;30451;30447:9;30442:14;;30277:185;;;;:::o;30468:348::-;30508:7;30531:20;30549:1;30531:20;:::i;:::-;30526:25;;30565:20;30583:1;30565:20;:::i;:::-;30560:25;;30753:1;30685:66;30681:74;30678:1;30675:81;30670:1;30663:9;30656:17;30652:105;30649:131;;;30760:18;;:::i;:::-;30649:131;30808:1;30805;30801:9;30790:20;;30468:348;;;;:::o;30822:332::-;30943:4;30981:2;30970:9;30966:18;30958:26;;30994:71;31062:1;31051:9;31047:17;31038:6;30994:71;:::i;:::-;31075:72;31143:2;31132:9;31128:18;31119:6;31075:72;:::i;:::-;30822:332;;;;;:::o;31160:180::-;31208:77;31205:1;31198:88;31305:4;31302:1;31295:15;31329:4;31326:1;31319:15;31346:233;31385:3;31408:24;31426:5;31408:24;:::i;:::-;31399:33;;31454:66;31447:5;31444:77;31441:103;;;31524:18;;:::i;:::-;31441:103;31571:1;31564:5;31560:13;31553:20;;31346:233;;;:::o;31585:231::-;31725:34;31721:1;31713:6;31709:14;31702:58;31794:14;31789:2;31781:6;31777:15;31770:39;31585:231;:::o;31822:366::-;31964:3;31985:67;32049:2;32044:3;31985:67;:::i;:::-;31978:74;;32061:93;32150:3;32061:93;:::i;:::-;32179:2;32174:3;32170:12;32163:19;;31822:366;;;:::o;32194:419::-;32360:4;32398:2;32387:9;32383:18;32375:26;;32447:9;32441:4;32437:20;32433:1;32422:9;32418:17;32411:47;32475:131;32601:4;32475:131;:::i;:::-;32467:139;;32194:419;;;:::o;32619:228::-;32759:34;32755:1;32747:6;32743:14;32736:58;32828:11;32823:2;32815:6;32811:15;32804:36;32619:228;:::o;32853:366::-;32995:3;33016:67;33080:2;33075:3;33016:67;:::i;:::-;33009:74;;33092:93;33181:3;33092:93;:::i;:::-;33210:2;33205:3;33201:12;33194:19;;32853:366;;;:::o;33225:419::-;33391:4;33429:2;33418:9;33414:18;33406:26;;33478:9;33472:4;33468:20;33464:1;33453:9;33449:17;33442:47;33506:131;33632:4;33506:131;:::i;:::-;33498:139;;33225:419;;;:::o;33650:223::-;33790:34;33786:1;33778:6;33774:14;33767:58;33859:6;33854:2;33846:6;33842:15;33835:31;33650:223;:::o;33879:366::-;34021:3;34042:67;34106:2;34101:3;34042:67;:::i;:::-;34035:74;;34118:93;34207:3;34118:93;:::i;:::-;34236:2;34231:3;34227:12;34220:19;;33879:366;;;:::o;34251:419::-;34417:4;34455:2;34444:9;34440:18;34432:26;;34504:9;34498:4;34494:20;34490:1;34479:9;34475:17;34468:47;34532:131;34658:4;34532:131;:::i;:::-;34524:139;;34251:419;;;:::o;34676:237::-;34816:34;34812:1;34804:6;34800:14;34793:58;34885:20;34880:2;34872:6;34868:15;34861:45;34676:237;:::o;34919:366::-;35061:3;35082:67;35146:2;35141:3;35082:67;:::i;:::-;35075:74;;35158:93;35247:3;35158:93;:::i;:::-;35276:2;35271:3;35267:12;35260:19;;34919:366;;;:::o;35291:419::-;35457:4;35495:2;35484:9;35480:18;35472:26;;35544:9;35538:4;35534:20;35530:1;35519:9;35515:17;35508:47;35572:131;35698:4;35572:131;:::i;:::-;35564:139;;35291:419;;;:::o;35716:232::-;35856:34;35852:1;35844:6;35840:14;35833:58;35925:15;35920:2;35912:6;35908:15;35901:40;35716:232;:::o;35954:366::-;36096:3;36117:67;36181:2;36176:3;36117:67;:::i;:::-;36110:74;;36193:93;36282:3;36193:93;:::i;:::-;36311:2;36306:3;36302:12;36295:19;;35954:366;;;:::o;36326:419::-;36492:4;36530:2;36519:9;36515:18;36507:26;;36579:9;36573:4;36569:20;36565:1;36554:9;36550:17;36543:47;36607:131;36733:4;36607:131;:::i;:::-;36599:139;;36326:419;;;:::o;36751:98::-;36802:6;36836:5;36830:12;36820:22;;36751:98;;;:::o;36855:168::-;36938:11;36972:6;36967:3;36960:19;37012:4;37007:3;37003:14;36988:29;;36855:168;;;;:::o;37029:360::-;37115:3;37143:38;37175:5;37143:38;:::i;:::-;37197:70;37260:6;37255:3;37197:70;:::i;:::-;37190:77;;37276:52;37321:6;37316:3;37309:4;37302:5;37298:16;37276:52;:::i;:::-;37353:29;37375:6;37353:29;:::i;:::-;37348:3;37344:39;37337:46;;37119:270;37029:360;;;;:::o;37395:640::-;37590:4;37628:3;37617:9;37613:19;37605:27;;37642:71;37710:1;37699:9;37695:17;37686:6;37642:71;:::i;:::-;37723:72;37791:2;37780:9;37776:18;37767:6;37723:72;:::i;:::-;37805;37873:2;37862:9;37858:18;37849:6;37805:72;:::i;:::-;37924:9;37918:4;37914:20;37909:2;37898:9;37894:18;37887:48;37952:76;38023:4;38014:6;37952:76;:::i;:::-;37944:84;;37395:640;;;;;;;:::o;38041:141::-;38097:5;38128:6;38122:13;38113:22;;38144:32;38170:5;38144:32;:::i;:::-;38041:141;;;;:::o;38188:349::-;38257:6;38306:2;38294:9;38285:7;38281:23;38277:32;38274:119;;;38312:79;;:::i;:::-;38274:119;38432:1;38457:63;38512:7;38503:6;38492:9;38488:22;38457:63;:::i;:::-;38447:73;;38403:127;38188:349;;;;:::o;38543:182::-;38683:34;38679:1;38671:6;38667:14;38660:58;38543:182;:::o;38731:366::-;38873:3;38894:67;38958:2;38953:3;38894:67;:::i;:::-;38887:74;;38970:93;39059:3;38970:93;:::i;:::-;39088:2;39083:3;39079:12;39072:19;;38731:366;;;:::o;39103:419::-;39269:4;39307:2;39296:9;39292:18;39284:26;;39356:9;39350:4;39346:20;39342:1;39331:9;39327:17;39320:47;39384:131;39510:4;39384:131;:::i;:::-;39376:139;;39103:419;;;:::o;39528:178::-;39668:30;39664:1;39656:6;39652:14;39645:54;39528:178;:::o;39712:366::-;39854:3;39875:67;39939:2;39934:3;39875:67;:::i;:::-;39868:74;;39951:93;40040:3;39951:93;:::i;:::-;40069:2;40064:3;40060:12;40053:19;;39712:366;;;:::o;40084:419::-;40250:4;40288:2;40277:9;40273:18;40265:26;;40337:9;40331:4;40327:20;40323:1;40312:9;40308:17;40301:47;40365:131;40491:4;40365:131;:::i;:::-;40357:139;;40084:419;;;:::o",
+ "source": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\nimport \"@openzeppelin/contracts/utils/Counters.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\n\ncontract Nftzi is ERC721 {\n struct RentalStruct{\n uint256 rentedAt;\n uint256 tokenId;\n address rentedBy;\n }\n\n struct TokenInfoStruct{\n uint256 tokenId;\n string URI;\n address creator;\n uint256 rentedAt;\n address rentedBy;\n uint256 balance;\n }\n\n using Counters for Counters.Counter;\n\n uint256 public rentPriceCelo = 1 ether;\n uint256 public _comission = 0.01 ether;\n\n uint256 private _lastRun;\n uint256[] private rentedSeq;\n\n Counters.Counter private _tokenIdCounter;\n Counters.Counter private _seqCounter;\n\n mapping (uint256 => string) private _tokenURIs;\n mapping (uint256 => address) private _tokenCreators;\n mapping (uint256 => uint256) private _balances;\n mapping (uint256 => address) private _tokenCurrencies;\n mapping (uint256 => RentalStruct) private _rentedAt;\n mapping (uint256 => uint256) private _tokenToSeq;\n\n constructor() ERC721(\"Nftzi\", \"NFTZ\") {\n _lastRun = block.timestamp;\n _tokenIdCounter.increment();\n _seqCounter.increment();\n }\n\n function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual override returns (bool) {\n require(_exists(tokenId), \"ERC721: operator query for nonexistent token\");\n address creator = _tokenCreators[tokenId];\n return (spender == creator);\n }\n\n function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual {\n require(_exists(tokenId), \"ERC721Metadata: URI set for nonexistent token\");\n _tokenURIs[tokenId] = _tokenURI;\n }\n \n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n require(_exists(tokenId), \"ERC721Metadata: URI query for nonexistent token\");\n string memory _tokenURI = _tokenURIs[tokenId];\n return _tokenURI;\n }\n\n function tokensInfo() public view returns(TokenInfoStruct[] memory) {\n TokenInfoStruct[] memory _toReturn;\n uint256 lastTokenId = _tokenIdCounter.current();\n if (lastTokenId > 0) {\n _toReturn = new TokenInfoStruct[](lastTokenId);\n for (uint i = 1; i < lastTokenId; i++) {\n _toReturn[i] = TokenInfoStruct(\n i,\n _tokenURIs[i],\n _tokenCreators[i],\n _rentedAt[_tokenToSeq[i]].rentedAt,\n _rentedAt[_tokenToSeq[i]].rentedBy,\n _balances[i]\n );\n }\n }\n return _toReturn;\n }\n\n function rent(uint256 tokenId) public {\n require(_exists(tokenId), \"ERC721: rent query for nonexistent token\");\n\n ERC20 token = ERC20(_tokenCurrencies[tokenId]);\n require(token.balanceOf(msg.sender) >= rentPriceCelo);\n token.transferFrom(msg.sender, address(this), rentPriceCelo);\n\n _balances[tokenId] += rentPriceCelo - _comission;\n uint256 currentSeq = _seqCounter.current();\n _rentedAt[currentSeq] = RentalStruct(block.timestamp, tokenId, msg.sender);\n _safeTransfer(_tokenCreators[tokenId], msg.sender, tokenId, \"\");\n rentedSeq.push(currentSeq);\n _tokenToSeq[tokenId] = currentSeq;\n _seqCounter.increment();\n }\n\n function _tick() internal virtual {\n _lastRun = block.timestamp;\n _checkReturns();\n }\n\n function _checkReturns() internal virtual {\n uint256[] memory _toReturn = new uint256[](rentedSeq.length);\n for (uint i = 0; i < rentedSeq.length ; i++) {\n RentalStruct memory _rentInfo = _rentedAt[rentedSeq[i]];\n if (_lastRun - _rentInfo.rentedAt < 1 minutes) {\n break;\n } else {\n _toReturn[i] = rentedSeq[i];\n }\n }\n for (uint i = 0; i < _toReturn.length; i++) {\n if (_toReturn[i] > 0) {\n RentalStruct memory _rentInfo = _rentedAt[_toReturn[i]];\n _returnRented(_rentInfo.tokenId, _rentInfo.rentedBy);\n delete _rentedAt[_toReturn[i]];\n delete rentedSeq[0];\n delete _tokenToSeq[_toReturn[i]];\n }\n }\n }\n\n function _returnRented(uint256 tokenId, address rentedBy) internal virtual {\n ERC20 token = ERC20(_tokenCurrencies[tokenId]);\n require(token.balanceOf(address(this)) >= _balances[tokenId]);\n token.transfer(_tokenCreators[tokenId], _balances[tokenId]);\n\n _balances[tokenId] -= _balances[tokenId];\n\n _safeTransfer(rentedBy, _tokenCreators[tokenId], tokenId, \"\");\n }\n\n function redeem(uint256 tokenId) public {\n _lastRun = block.timestamp;\n\n require(_exists(tokenId), \"ERC721: rent query for nonexistent token\");\n require(msg.sender == _tokenCreators[tokenId], \"Redeem: caller is not the creator\");\n\n uint256 _toRedeemPart = _balances[tokenId] / 1 minutes;\n uint256 _toRedeemSeconds = _lastRun - _rentedAt[_tokenToSeq[tokenId]].rentedAt;\n uint256 _toRedeem = _toRedeemPart * _toRedeemSeconds;\n\n ERC20 token = ERC20(_tokenCurrencies[tokenId]);\n require(token.balanceOf(address(this)) >= _toRedeem);\n\n token.transfer(_tokenCreators[tokenId], _toRedeem);\n _balances[tokenId] -= _toRedeem;\n }\n\n function safeMint(string memory _tokenURI, address rent_token_address) external {\n _tick();\n uint256 tokenId = _tokenIdCounter.current();\n _tokenIdCounter.increment();\n _safeMint(_msgSender(), tokenId);\n _setTokenURI(tokenId, _tokenURI);\n _tokenCreators[tokenId] = _msgSender();\n _tokenCurrencies[tokenId] = rent_token_address;\n }\n}\n",
+ "sourcePath": "/Users/vf/Nftzi/contracts/Nftzi.sol",
+ "ast": {
+ "absolutePath": "project:/contracts/Nftzi.sol",
+ "exportedSymbols": {
+ "Address": [
+ 1922
+ ],
+ "Context": [
+ 1944
+ ],
+ "Counters": [
+ 2018
+ ],
+ "ERC165": [
+ 2245
+ ],
+ "ERC20": [
+ 545
+ ],
+ "ERC721": [
+ 1464
+ ],
+ "IERC165": [
+ 2257
+ ],
+ "IERC20": [
+ 623
+ ],
+ "IERC20Metadata": [
+ 648
+ ],
+ "IERC721": [
+ 1580
+ ],
+ "IERC721Metadata": [
+ 1625
+ ],
+ "IERC721Receiver": [
+ 1598
+ ],
+ "Nftzi": [
+ 2919
+ ],
+ "Strings": [
+ 2221
+ ]
+ },
+ "id": 2920,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 2259,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "32:23:13"
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol",
+ "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol",
+ "id": 2260,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 2920,
+ "sourceUnit": 1465,
+ "src": "57:57:13",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/Counters.sol",
+ "file": "@openzeppelin/contracts/utils/Counters.sol",
+ "id": 2261,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 2920,
+ "sourceUnit": 2019,
+ "src": "115:52:13",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
+ "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
+ "id": 2262,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 2920,
+ "sourceUnit": 546,
+ "src": "168:55:13",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "abstract": false,
+ "baseContracts": [
+ {
+ "baseName": {
+ "id": 2263,
+ "name": "ERC721",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1464,
+ "src": "243:6:13"
+ },
+ "id": 2264,
+ "nodeType": "InheritanceSpecifier",
+ "src": "243:6:13"
+ }
+ ],
+ "canonicalName": "Nftzi",
+ "contractDependencies": [],
+ "contractKind": "contract",
+ "fullyImplemented": true,
+ "id": 2919,
+ "linearizedBaseContracts": [
+ 2919,
+ 1464,
+ 1625,
+ 1580,
+ 2245,
+ 2257,
+ 1944
+ ],
+ "name": "Nftzi",
+ "nameLocation": "234:5:13",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "canonicalName": "Nftzi.RentalStruct",
+ "id": 2271,
+ "members": [
+ {
+ "constant": false,
+ "id": 2266,
+ "mutability": "mutable",
+ "name": "rentedAt",
+ "nameLocation": "293:8:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2271,
+ "src": "285:16:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2265,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "285:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2268,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "319:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2271,
+ "src": "311:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2267,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "311:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2270,
+ "mutability": "mutable",
+ "name": "rentedBy",
+ "nameLocation": "344:8:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2271,
+ "src": "336:16:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 2269,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "336:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "name": "RentalStruct",
+ "nameLocation": "263:12:13",
+ "nodeType": "StructDefinition",
+ "scope": 2919,
+ "src": "256:103:13",
+ "visibility": "public"
+ },
+ {
+ "canonicalName": "Nftzi.TokenInfoStruct",
+ "id": 2284,
+ "members": [
+ {
+ "constant": false,
+ "id": 2273,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "405:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2284,
+ "src": "397:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2272,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "397:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2275,
+ "mutability": "mutable",
+ "name": "URI",
+ "nameLocation": "429:3:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2284,
+ "src": "422:10:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2274,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "422:6:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2277,
+ "mutability": "mutable",
+ "name": "creator",
+ "nameLocation": "450:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2284,
+ "src": "442:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 2276,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "442:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2279,
+ "mutability": "mutable",
+ "name": "rentedAt",
+ "nameLocation": "475:8:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2284,
+ "src": "467:16:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2278,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "467:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2281,
+ "mutability": "mutable",
+ "name": "rentedBy",
+ "nameLocation": "501:8:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2284,
+ "src": "493:16:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 2280,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "493:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2283,
+ "mutability": "mutable",
+ "name": "balance",
+ "nameLocation": "527:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2284,
+ "src": "519:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2282,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "519:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "name": "TokenInfoStruct",
+ "nameLocation": "372:15:13",
+ "nodeType": "StructDefinition",
+ "scope": 2919,
+ "src": "365:176:13",
+ "visibility": "public"
+ },
+ {
+ "id": 2288,
+ "libraryName": {
+ "id": 2285,
+ "name": "Counters",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2018,
+ "src": "553:8:13"
+ },
+ "nodeType": "UsingForDirective",
+ "src": "547:36:13",
+ "typeName": {
+ "id": 2287,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2286,
+ "name": "Counters.Counter",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1950,
+ "src": "566:16:13"
+ },
+ "referencedDeclaration": 1950,
+ "src": "566:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ }
+ }
+ },
+ {
+ "constant": false,
+ "functionSelector": "a69bd72c",
+ "id": 2291,
+ "mutability": "mutable",
+ "name": "rentPriceCelo",
+ "nameLocation": "604:13:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "589:38:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2289,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "589:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "value": {
+ "hexValue": "31",
+ "id": 2290,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "620:7:13",
+ "subdenomination": "ether",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1000000000000000000_by_1",
+ "typeString": "int_const 1000000000000000000"
+ },
+ "value": "1"
+ },
+ "visibility": "public"
+ },
+ {
+ "constant": false,
+ "functionSelector": "06ef93ad",
+ "id": 2294,
+ "mutability": "mutable",
+ "name": "_comission",
+ "nameLocation": "648:10:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "633:38:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2292,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "633:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "value": {
+ "hexValue": "302e3031",
+ "id": 2293,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "661:10:13",
+ "subdenomination": "ether",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_10000000000000000_by_1",
+ "typeString": "int_const 10000000000000000"
+ },
+ "value": "0.01"
+ },
+ "visibility": "public"
+ },
+ {
+ "constant": false,
+ "id": 2296,
+ "mutability": "mutable",
+ "name": "_lastRun",
+ "nameLocation": "694:8:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "678:24:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2295,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "678:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2299,
+ "mutability": "mutable",
+ "name": "rentedSeq",
+ "nameLocation": "726:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "708:27:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
+ "typeString": "uint256[]"
+ },
+ "typeName": {
+ "baseType": {
+ "id": 2297,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "708:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2298,
+ "nodeType": "ArrayTypeName",
+ "src": "708:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
+ "typeString": "uint256[]"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2302,
+ "mutability": "mutable",
+ "name": "_tokenIdCounter",
+ "nameLocation": "767:15:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "742:40:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter"
+ },
+ "typeName": {
+ "id": 2301,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2300,
+ "name": "Counters.Counter",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1950,
+ "src": "742:16:13"
+ },
+ "referencedDeclaration": 1950,
+ "src": "742:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2305,
+ "mutability": "mutable",
+ "name": "_seqCounter",
+ "nameLocation": "813:11:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "788:36:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter"
+ },
+ "typeName": {
+ "id": 2304,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2303,
+ "name": "Counters.Counter",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1950,
+ "src": "788:16:13"
+ },
+ "referencedDeclaration": 1950,
+ "src": "788:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2309,
+ "mutability": "mutable",
+ "name": "_tokenURIs",
+ "nameLocation": "867:10:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "831:46:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
+ "typeString": "mapping(uint256 => string)"
+ },
+ "typeName": {
+ "id": 2308,
+ "keyType": {
+ "id": 2306,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "840:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "831:27:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
+ "typeString": "mapping(uint256 => string)"
+ },
+ "valueType": {
+ "id": 2307,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "851:6:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2313,
+ "mutability": "mutable",
+ "name": "_tokenCreators",
+ "nameLocation": "920:14:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "883:51:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "typeName": {
+ "id": 2312,
+ "keyType": {
+ "id": 2310,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "892:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "883:28:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "valueType": {
+ "id": 2311,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "903:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2317,
+ "mutability": "mutable",
+ "name": "_balances",
+ "nameLocation": "977:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "940:46:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ },
+ "typeName": {
+ "id": 2316,
+ "keyType": {
+ "id": 2314,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "949:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "940:28:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ },
+ "valueType": {
+ "id": 2315,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "960:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2321,
+ "mutability": "mutable",
+ "name": "_tokenCurrencies",
+ "nameLocation": "1029:16:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "992:53:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "typeName": {
+ "id": 2320,
+ "keyType": {
+ "id": 2318,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1001:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "992:28:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "valueType": {
+ "id": 2319,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1012:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2326,
+ "mutability": "mutable",
+ "name": "_rentedAt",
+ "nameLocation": "1093:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "1051:51:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct)"
+ },
+ "typeName": {
+ "id": 2325,
+ "keyType": {
+ "id": 2322,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1060:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1051:33:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct)"
+ },
+ "valueType": {
+ "id": 2324,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2323,
+ "name": "RentalStruct",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2271,
+ "src": "1071:12:13"
+ },
+ "referencedDeclaration": 2271,
+ "src": "1071:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage_ptr",
+ "typeString": "struct Nftzi.RentalStruct"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2330,
+ "mutability": "mutable",
+ "name": "_tokenToSeq",
+ "nameLocation": "1145:11:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "1108:48:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ },
+ "typeName": {
+ "id": 2329,
+ "keyType": {
+ "id": 2327,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1117:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1108:28:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ },
+ "valueType": {
+ "id": 2328,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1128:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "body": {
+ "id": 2352,
+ "nodeType": "Block",
+ "src": "1201:113:13",
+ "statements": [
+ {
+ "expression": {
+ "id": 2340,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2337,
+ "name": "_lastRun",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2296,
+ "src": "1211:8:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "expression": {
+ "id": 2338,
+ "name": "block",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967292,
+ "src": "1222:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_block",
+ "typeString": "block"
+ }
+ },
+ "id": 2339,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "timestamp",
+ "nodeType": "MemberAccess",
+ "src": "1222:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "1211:26:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2341,
+ "nodeType": "ExpressionStatement",
+ "src": "1211:26:13"
+ },
+ {
+ "expression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 2342,
+ "name": "_tokenIdCounter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2302,
+ "src": "1247:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter storage ref"
+ }
+ },
+ "id": 2344,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "increment",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1976,
+ "src": "1247:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$1950_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$1950_storage_ptr_$",
+ "typeString": "function (struct Counters.Counter storage pointer)"
+ }
+ },
+ "id": 2345,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1247:27:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2346,
+ "nodeType": "ExpressionStatement",
+ "src": "1247:27:13"
+ },
+ {
+ "expression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 2347,
+ "name": "_seqCounter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2305,
+ "src": "1284:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter storage ref"
+ }
+ },
+ "id": 2349,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "increment",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1976,
+ "src": "1284:21:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$1950_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$1950_storage_ptr_$",
+ "typeString": "function (struct Counters.Counter storage pointer)"
+ }
+ },
+ "id": 2350,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1284:23:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2351,
+ "nodeType": "ExpressionStatement",
+ "src": "1284:23:13"
+ }
+ ]
+ },
+ "id": 2353,
+ "implemented": true,
+ "kind": "constructor",
+ "modifiers": [
+ {
+ "arguments": [
+ {
+ "hexValue": "4e66747a69",
+ "id": 2333,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1184:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_711aca94866940d25690819b379b37f49a47bbda2af95d823f2281bcf7c96a10",
+ "typeString": "literal_string \"Nftzi\""
+ },
+ "value": "Nftzi"
+ },
+ {
+ "hexValue": "4e46545a",
+ "id": 2334,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1193:6:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_e30f8508788e8e4c797ff95f30257c586f9a7f2adcf1b74d31c4393816b6c3e4",
+ "typeString": "literal_string \"NFTZ\""
+ },
+ "value": "NFTZ"
+ }
+ ],
+ "id": 2335,
+ "kind": "baseConstructorSpecifier",
+ "modifierName": {
+ "id": 2332,
+ "name": "ERC721",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1464,
+ "src": "1177:6:13"
+ },
+ "nodeType": "ModifierInvocation",
+ "src": "1177:23:13"
+ }
+ ],
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2331,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1174:2:13"
+ },
+ "returnParameters": {
+ "id": 2336,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1201:0:13"
+ },
+ "scope": 2919,
+ "src": "1163:151:13",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1145
+ ],
+ "body": {
+ "id": 2381,
+ "nodeType": "Block",
+ "src": "1428:178:13",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 2365,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2357,
+ "src": "1454:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2364,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "1446:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 2366,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1446:16:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 2367,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1464:46:13",
+ "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": 2363,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "1438:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 2368,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1438:73:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2369,
+ "nodeType": "ExpressionStatement",
+ "src": "1438:73:13"
+ },
+ {
+ "assignments": [
+ 2371
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2371,
+ "mutability": "mutable",
+ "name": "creator",
+ "nameLocation": "1529:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2381,
+ "src": "1521:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 2370,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1521:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2375,
+ "initialValue": {
+ "baseExpression": {
+ "id": 2372,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "1539:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2374,
+ "indexExpression": {
+ "id": 2373,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2357,
+ "src": "1554:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "1539:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "1521:41:13"
+ },
+ {
+ "expression": {
+ "components": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 2378,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2376,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2355,
+ "src": "1580:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "id": 2377,
+ "name": "creator",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2371,
+ "src": "1591:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "1580:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ }
+ ],
+ "id": 2379,
+ "isConstant": false,
+ "isInlineArray": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "TupleExpression",
+ "src": "1579:20:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 2362,
+ "id": 2380,
+ "nodeType": "Return",
+ "src": "1572:27:13"
+ }
+ ]
+ },
+ "id": 2382,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_isApprovedOrOwner",
+ "nameLocation": "1329:18:13",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 2359,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "1404:8:13"
+ },
+ "parameters": {
+ "id": 2358,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2355,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "1356:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2382,
+ "src": "1348:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 2354,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1348:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2357,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "1373:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2382,
+ "src": "1365:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2356,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1365:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1347:34:13"
+ },
+ "returnParameters": {
+ "id": 2362,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2361,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2382,
+ "src": "1422:4:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 2360,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "1422:4:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1421:6:13"
+ },
+ "scope": 2919,
+ "src": "1320:286:13",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2402,
+ "nodeType": "Block",
+ "src": "1693:132:13",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 2391,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2384,
+ "src": "1719:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2390,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "1711:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 2392,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1711:16:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732314d657461646174613a205552492073657420666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 2393,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1729:47:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_4891fff3fd5c79dd7d1b0cfae78dbe3c240608be5953a321dab1d413fb93a400",
+ "typeString": "literal_string \"ERC721Metadata: URI set for nonexistent token\""
+ },
+ "value": "ERC721Metadata: URI set for nonexistent token"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_4891fff3fd5c79dd7d1b0cfae78dbe3c240608be5953a321dab1d413fb93a400",
+ "typeString": "literal_string \"ERC721Metadata: URI set for nonexistent token\""
+ }
+ ],
+ "id": 2389,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "1703:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 2394,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1703:74:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2395,
+ "nodeType": "ExpressionStatement",
+ "src": "1703:74:13"
+ },
+ {
+ "expression": {
+ "id": 2400,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2396,
+ "name": "_tokenURIs",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2309,
+ "src": "1787:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
+ "typeString": "mapping(uint256 => string storage ref)"
+ }
+ },
+ "id": 2398,
+ "indexExpression": {
+ "id": 2397,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2384,
+ "src": "1798:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "1787:19:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 2399,
+ "name": "_tokenURI",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2386,
+ "src": "1809:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "src": "1787:31:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "id": 2401,
+ "nodeType": "ExpressionStatement",
+ "src": "1787:31:13"
+ }
+ ]
+ },
+ "id": 2403,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_setTokenURI",
+ "nameLocation": "1621:12:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2387,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2384,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "1642:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2403,
+ "src": "1634:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2383,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1634:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2386,
+ "mutability": "mutable",
+ "name": "_tokenURI",
+ "nameLocation": "1665:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2403,
+ "src": "1651:23:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2385,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1651:6:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1633:42:13"
+ },
+ "returnParameters": {
+ "id": 2388,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1693:0:13"
+ },
+ "scope": 2919,
+ "src": "1612:213:13",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "baseFunctions": [
+ 856
+ ],
+ "body": {
+ "id": 2426,
+ "nodeType": "Block",
+ "src": "1927:174:13",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 2413,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2405,
+ "src": "1953:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2412,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "1945:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 2414,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1945:16:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 2415,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1963:49:13",
+ "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": 2411,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "1937:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 2416,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1937:76:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2417,
+ "nodeType": "ExpressionStatement",
+ "src": "1937:76:13"
+ },
+ {
+ "assignments": [
+ 2419
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2419,
+ "mutability": "mutable",
+ "name": "_tokenURI",
+ "nameLocation": "2037:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2426,
+ "src": "2023:23:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2418,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "2023:6:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2423,
+ "initialValue": {
+ "baseExpression": {
+ "id": 2420,
+ "name": "_tokenURIs",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2309,
+ "src": "2049:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
+ "typeString": "mapping(uint256 => string storage ref)"
+ }
+ },
+ "id": 2422,
+ "indexExpression": {
+ "id": 2421,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2405,
+ "src": "2060:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2049:19:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2023:45:13"
+ },
+ {
+ "expression": {
+ "id": 2424,
+ "name": "_tokenURI",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2419,
+ "src": "2085:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "functionReturnParameters": 2410,
+ "id": 2425,
+ "nodeType": "Return",
+ "src": "2078:16:13"
+ }
+ ]
+ },
+ "functionSelector": "c87b56dd",
+ "id": 2427,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "tokenURI",
+ "nameLocation": "1848:8:13",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 2407,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "1894:8:13"
+ },
+ "parameters": {
+ "id": 2406,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2405,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "1865:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2427,
+ "src": "1857:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2404,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1857:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1856:17:13"
+ },
+ "returnParameters": {
+ "id": 2410,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2409,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2427,
+ "src": "1912:13:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2408,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1912:6:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1911:15:13"
+ },
+ "scope": 2919,
+ "src": "1839:262:13",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 2503,
+ "nodeType": "Block",
+ "src": "2175:599:13",
+ "statements": [
+ {
+ "assignments": [
+ 2438
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2438,
+ "mutability": "mutable",
+ "name": "_toReturn",
+ "nameLocation": "2210:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2503,
+ "src": "2185:34:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct[]"
+ },
+ "typeName": {
+ "baseType": {
+ "id": 2436,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2435,
+ "name": "TokenInfoStruct",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2284,
+ "src": "2185:15:13"
+ },
+ "referencedDeclaration": 2284,
+ "src": "2185:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_TokenInfoStruct_$2284_storage_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct"
+ }
+ },
+ "id": 2437,
+ "nodeType": "ArrayTypeName",
+ "src": "2185:17:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_storage_$dyn_storage_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct[]"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2439,
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2185:34:13"
+ },
+ {
+ "assignments": [
+ 2441
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2441,
+ "mutability": "mutable",
+ "name": "lastTokenId",
+ "nameLocation": "2237:11:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2503,
+ "src": "2229:19:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2440,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2229:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2445,
+ "initialValue": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 2442,
+ "name": "_tokenIdCounter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2302,
+ "src": "2251:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter storage ref"
+ }
+ },
+ "id": 2443,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "current",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1962,
+ "src": "2251:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$1950_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$1950_storage_ptr_$",
+ "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)"
+ }
+ },
+ "id": 2444,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2251:25:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2229:47:13"
+ },
+ {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2448,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2446,
+ "name": "lastTokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2441,
+ "src": "2290:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2447,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2304:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "2290:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2500,
+ "nodeType": "IfStatement",
+ "src": "2286:456:13",
+ "trueBody": {
+ "id": 2499,
+ "nodeType": "Block",
+ "src": "2307:435:13",
+ "statements": [
+ {
+ "expression": {
+ "id": 2456,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2449,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2438,
+ "src": "2321:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory[] memory"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "arguments": [
+ {
+ "id": 2454,
+ "name": "lastTokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2441,
+ "src": "2355:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2453,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "NewExpression",
+ "src": "2333:21:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr_$",
+ "typeString": "function (uint256) pure returns (struct Nftzi.TokenInfoStruct memory[] memory)"
+ },
+ "typeName": {
+ "baseType": {
+ "id": 2451,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2450,
+ "name": "TokenInfoStruct",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2284,
+ "src": "2337:15:13"
+ },
+ "referencedDeclaration": 2284,
+ "src": "2337:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_TokenInfoStruct_$2284_storage_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct"
+ }
+ },
+ "id": 2452,
+ "nodeType": "ArrayTypeName",
+ "src": "2337:17:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_storage_$dyn_storage_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct[]"
+ }
+ }
+ },
+ "id": 2455,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2333:34:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory[] memory"
+ }
+ },
+ "src": "2321:46:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory[] memory"
+ }
+ },
+ "id": 2457,
+ "nodeType": "ExpressionStatement",
+ "src": "2321:46:13"
+ },
+ {
+ "body": {
+ "id": 2497,
+ "nodeType": "Block",
+ "src": "2420:312:13",
+ "statements": [
+ {
+ "expression": {
+ "id": 2495,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2468,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2438,
+ "src": "2438:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory[] memory"
+ }
+ },
+ "id": 2470,
+ "indexExpression": {
+ "id": 2469,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2448:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "2438:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_TokenInfoStruct_$2284_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "arguments": [
+ {
+ "id": 2472,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2488:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "baseExpression": {
+ "id": 2473,
+ "name": "_tokenURIs",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2309,
+ "src": "2509:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
+ "typeString": "mapping(uint256 => string storage ref)"
+ }
+ },
+ "id": 2475,
+ "indexExpression": {
+ "id": 2474,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2520:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2509:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ {
+ "baseExpression": {
+ "id": 2476,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "2542:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2478,
+ "indexExpression": {
+ "id": 2477,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2557:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2542:17:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "expression": {
+ "baseExpression": {
+ "id": 2479,
+ "name": "_rentedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2326,
+ "src": "2579:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct storage ref)"
+ }
+ },
+ "id": 2483,
+ "indexExpression": {
+ "baseExpression": {
+ "id": 2480,
+ "name": "_tokenToSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2330,
+ "src": "2589:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2482,
+ "indexExpression": {
+ "id": 2481,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2601:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2589:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2579:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "id": 2484,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "rentedAt",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2266,
+ "src": "2579:34:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "expression": {
+ "baseExpression": {
+ "id": 2485,
+ "name": "_rentedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2326,
+ "src": "2633:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct storage ref)"
+ }
+ },
+ "id": 2489,
+ "indexExpression": {
+ "baseExpression": {
+ "id": 2486,
+ "name": "_tokenToSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2330,
+ "src": "2643:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2488,
+ "indexExpression": {
+ "id": 2487,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2655:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2643:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2633:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "id": 2490,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "rentedBy",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2270,
+ "src": "2633:34:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "baseExpression": {
+ "id": 2491,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "2687:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2493,
+ "indexExpression": {
+ "id": 2492,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2697:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2687:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2471,
+ "name": "TokenInfoStruct",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2284,
+ "src": "2453:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_struct$_TokenInfoStruct_$2284_storage_ptr_$",
+ "typeString": "type(struct Nftzi.TokenInfoStruct storage pointer)"
+ }
+ },
+ "id": 2494,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "structConstructorCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2453:264:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_TokenInfoStruct_$2284_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory"
+ }
+ },
+ "src": "2438:279:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_TokenInfoStruct_$2284_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory"
+ }
+ },
+ "id": 2496,
+ "nodeType": "ExpressionStatement",
+ "src": "2438:279:13"
+ }
+ ]
+ },
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2464,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2462,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2398:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "<",
+ "rightExpression": {
+ "id": 2463,
+ "name": "lastTokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2441,
+ "src": "2402:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "2398:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2498,
+ "initializationExpression": {
+ "assignments": [
+ 2459
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2459,
+ "mutability": "mutable",
+ "name": "i",
+ "nameLocation": "2391:1:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2498,
+ "src": "2386:6:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2458,
+ "name": "uint",
+ "nodeType": "ElementaryTypeName",
+ "src": "2386:4:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2461,
+ "initialValue": {
+ "hexValue": "31",
+ "id": 2460,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2395:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2386:10:13"
+ },
+ "loopExpression": {
+ "expression": {
+ "id": 2466,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "++",
+ "prefix": false,
+ "src": "2415:3:13",
+ "subExpression": {
+ "id": 2465,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2415:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2467,
+ "nodeType": "ExpressionStatement",
+ "src": "2415:3:13"
+ },
+ "nodeType": "ForStatement",
+ "src": "2381:351:13"
+ }
+ ]
+ }
+ },
+ {
+ "expression": {
+ "id": 2501,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2438,
+ "src": "2758:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory[] memory"
+ }
+ },
+ "functionReturnParameters": 2433,
+ "id": 2502,
+ "nodeType": "Return",
+ "src": "2751:16:13"
+ }
+ ]
+ },
+ "functionSelector": "e79c28fe",
+ "id": 2504,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "tokensInfo",
+ "nameLocation": "2116:10:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2428,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2126:2:13"
+ },
+ "returnParameters": {
+ "id": 2433,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2432,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2504,
+ "src": "2149:24:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct[]"
+ },
+ "typeName": {
+ "baseType": {
+ "id": 2430,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2429,
+ "name": "TokenInfoStruct",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2284,
+ "src": "2149:15:13"
+ },
+ "referencedDeclaration": 2284,
+ "src": "2149:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_TokenInfoStruct_$2284_storage_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct"
+ }
+ },
+ "id": 2431,
+ "nodeType": "ArrayTypeName",
+ "src": "2149:17:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_storage_$dyn_storage_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct[]"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2148:26:13"
+ },
+ "scope": 2919,
+ "src": "2107:667:13",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 2600,
+ "nodeType": "Block",
+ "src": "2818:656:13",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 2511,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2506,
+ "src": "2844:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2510,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "2836:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 2512,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2836:16:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a2072656e7420717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 2513,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2854:42:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7",
+ "typeString": "literal_string \"ERC721: rent query for nonexistent token\""
+ },
+ "value": "ERC721: rent query for nonexistent token"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7",
+ "typeString": "literal_string \"ERC721: rent query for nonexistent token\""
+ }
+ ],
+ "id": 2509,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "2828:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 2514,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2828:69:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2515,
+ "nodeType": "ExpressionStatement",
+ "src": "2828:69:13"
+ },
+ {
+ "assignments": [
+ 2518
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2518,
+ "mutability": "mutable",
+ "name": "token",
+ "nameLocation": "2914:5:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2600,
+ "src": "2908:11:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ },
+ "typeName": {
+ "id": 2517,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2516,
+ "name": "ERC20",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 545,
+ "src": "2908:5:13"
+ },
+ "referencedDeclaration": 545,
+ "src": "2908:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2524,
+ "initialValue": {
+ "arguments": [
+ {
+ "baseExpression": {
+ "id": 2520,
+ "name": "_tokenCurrencies",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2321,
+ "src": "2928:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2522,
+ "indexExpression": {
+ "id": 2521,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2506,
+ "src": "2945:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2928:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 2519,
+ "name": "ERC20",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 545,
+ "src": "2922:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC20_$545_$",
+ "typeString": "type(contract ERC20)"
+ }
+ },
+ "id": 2523,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2922:32:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2908:46:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2532,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "arguments": [
+ {
+ "expression": {
+ "id": 2528,
+ "name": "msg",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967281,
+ "src": "2988:3:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_message",
+ "typeString": "msg"
+ }
+ },
+ "id": 2529,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "sender",
+ "nodeType": "MemberAccess",
+ "src": "2988:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "expression": {
+ "id": 2526,
+ "name": "token",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2518,
+ "src": "2972:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "id": 2527,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "balanceOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 98,
+ "src": "2972:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
+ "typeString": "function (address) view external returns (uint256)"
+ }
+ },
+ "id": 2530,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2972:27:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 2531,
+ "name": "rentPriceCelo",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2291,
+ "src": "3003:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "2972:44:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ ],
+ "id": 2525,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "2964:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
+ "typeString": "function (bool) pure"
+ }
+ },
+ "id": 2533,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2964:53:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2534,
+ "nodeType": "ExpressionStatement",
+ "src": "2964:53:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "expression": {
+ "id": 2538,
+ "name": "msg",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967281,
+ "src": "3046:3:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_message",
+ "typeString": "msg"
+ }
+ },
+ "id": 2539,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "sender",
+ "nodeType": "MemberAccess",
+ "src": "3046:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "id": 2542,
+ "name": "this",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967268,
+ "src": "3066:4:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Nftzi_$2919",
+ "typeString": "contract Nftzi"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_contract$_Nftzi_$2919",
+ "typeString": "contract Nftzi"
+ }
+ ],
+ "id": 2541,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "3058:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 2540,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3058:7:13",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2543,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3058:13:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 2544,
+ "name": "rentPriceCelo",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2291,
+ "src": "3073:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 2535,
+ "name": "token",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2518,
+ "src": "3027:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "id": 2537,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "transferFrom",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 206,
+ "src": "3027:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (address,address,uint256) external returns (bool)"
+ }
+ },
+ "id": 2545,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3027:60:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2546,
+ "nodeType": "ExpressionStatement",
+ "src": "3027:60:13"
+ },
+ {
+ "expression": {
+ "id": 2553,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2547,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "3098:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2549,
+ "indexExpression": {
+ "id": 2548,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2506,
+ "src": "3108:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "3098:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "+=",
+ "rightHandSide": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2552,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2550,
+ "name": "rentPriceCelo",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2291,
+ "src": "3120:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "id": 2551,
+ "name": "_comission",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2294,
+ "src": "3136:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "3120:26:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "3098:48:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2554,
+ "nodeType": "ExpressionStatement",
+ "src": "3098:48:13"
+ },
+ {
+ "assignments": [
+ 2556
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2556,
+ "mutability": "mutable",
+ "name": "currentSeq",
+ "nameLocation": "3164:10:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2600,
+ "src": "3156:18:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2555,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3156:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2560,
+ "initialValue": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 2557,
+ "name": "_seqCounter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2305,
+ "src": "3177:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter storage ref"
+ }
+ },
+ "id": 2558,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "current",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1962,
+ "src": "3177:19:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$1950_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$1950_storage_ptr_$",
+ "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)"
+ }
+ },
+ "id": 2559,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3177:21:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "3156:42:13"
+ },
+ {
+ "expression": {
+ "id": 2571,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2561,
+ "name": "_rentedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2326,
+ "src": "3208:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct storage ref)"
+ }
+ },
+ "id": 2563,
+ "indexExpression": {
+ "id": 2562,
+ "name": "currentSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2556,
+ "src": "3218:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "3208:21:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "arguments": [
+ {
+ "expression": {
+ "id": 2565,
+ "name": "block",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967292,
+ "src": "3245:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_block",
+ "typeString": "block"
+ }
+ },
+ "id": 2566,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "timestamp",
+ "nodeType": "MemberAccess",
+ "src": "3245:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "id": 2567,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2506,
+ "src": "3262:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "expression": {
+ "id": 2568,
+ "name": "msg",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967281,
+ "src": "3271:3:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_message",
+ "typeString": "msg"
+ }
+ },
+ "id": 2569,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "sender",
+ "nodeType": "MemberAccess",
+ "src": "3271:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 2564,
+ "name": "RentalStruct",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2271,
+ "src": "3232:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_struct$_RentalStruct_$2271_storage_ptr_$",
+ "typeString": "type(struct Nftzi.RentalStruct storage pointer)"
+ }
+ },
+ "id": 2570,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "structConstructorCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3232:50:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_memory_ptr",
+ "typeString": "struct Nftzi.RentalStruct memory"
+ }
+ },
+ "src": "3208:74:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "id": 2572,
+ "nodeType": "ExpressionStatement",
+ "src": "3208:74:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "baseExpression": {
+ "id": 2574,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "3306:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2576,
+ "indexExpression": {
+ "id": 2575,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2506,
+ "src": "3321:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "3306:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "expression": {
+ "id": 2577,
+ "name": "msg",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967281,
+ "src": "3331:3:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_message",
+ "typeString": "msg"
+ }
+ },
+ "id": 2578,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "sender",
+ "nodeType": "MemberAccess",
+ "src": "3331:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 2579,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2506,
+ "src": "3343:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "hexValue": "",
+ "id": 2580,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3352:2:13",
+ "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": 2573,
+ "name": "_safeTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1086,
+ "src": "3292:13:13",
+ "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": 2581,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3292:63:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2582,
+ "nodeType": "ExpressionStatement",
+ "src": "3292:63:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 2586,
+ "name": "currentSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2556,
+ "src": "3380:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 2583,
+ "name": "rentedSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2299,
+ "src": "3365:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
+ "typeString": "uint256[] storage ref"
+ }
+ },
+ "id": 2585,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "push",
+ "nodeType": "MemberAccess",
+ "src": "3365:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$",
+ "typeString": "function (uint256[] storage pointer,uint256)"
+ }
+ },
+ "id": 2587,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3365:26:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2588,
+ "nodeType": "ExpressionStatement",
+ "src": "3365:26:13"
+ },
+ {
+ "expression": {
+ "id": 2593,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2589,
+ "name": "_tokenToSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2330,
+ "src": "3401:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2591,
+ "indexExpression": {
+ "id": 2590,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2506,
+ "src": "3413:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "3401:20:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 2592,
+ "name": "currentSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2556,
+ "src": "3424:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "3401:33:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2594,
+ "nodeType": "ExpressionStatement",
+ "src": "3401:33:13"
+ },
+ {
+ "expression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 2595,
+ "name": "_seqCounter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2305,
+ "src": "3444:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter storage ref"
+ }
+ },
+ "id": 2597,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "increment",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1976,
+ "src": "3444:21:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$1950_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$1950_storage_ptr_$",
+ "typeString": "function (struct Counters.Counter storage pointer)"
+ }
+ },
+ "id": 2598,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3444:23:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2599,
+ "nodeType": "ExpressionStatement",
+ "src": "3444:23:13"
+ }
+ ]
+ },
+ "functionSelector": "7456be7d",
+ "id": 2601,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "rent",
+ "nameLocation": "2789:4:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2507,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2506,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "2802:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2601,
+ "src": "2794:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2505,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2794:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2793:17:13"
+ },
+ "returnParameters": {
+ "id": 2508,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2818:0:13"
+ },
+ "scope": 2919,
+ "src": "2780:694:13",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 2612,
+ "nodeType": "Block",
+ "src": "3514:68:13",
+ "statements": [
+ {
+ "expression": {
+ "id": 2607,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2604,
+ "name": "_lastRun",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2296,
+ "src": "3524:8:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "expression": {
+ "id": 2605,
+ "name": "block",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967292,
+ "src": "3535:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_block",
+ "typeString": "block"
+ }
+ },
+ "id": 2606,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "timestamp",
+ "nodeType": "MemberAccess",
+ "src": "3535:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "3524:26:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2608,
+ "nodeType": "ExpressionStatement",
+ "src": "3524:26:13"
+ },
+ {
+ "expression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 2609,
+ "name": "_checkReturns",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2724,
+ "src": "3560:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
+ "typeString": "function ()"
+ }
+ },
+ "id": 2610,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3560:15:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2611,
+ "nodeType": "ExpressionStatement",
+ "src": "3560:15:13"
+ }
+ ]
+ },
+ "id": 2613,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_tick",
+ "nameLocation": "3489:5:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2602,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3494:2:13"
+ },
+ "returnParameters": {
+ "id": 2603,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3514:0:13"
+ },
+ "scope": 2919,
+ "src": "3480:102:13",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2723,
+ "nodeType": "Block",
+ "src": "3630:767:13",
+ "statements": [
+ {
+ "assignments": [
+ 2620
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2620,
+ "mutability": "mutable",
+ "name": "_toReturn",
+ "nameLocation": "3657:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2723,
+ "src": "3640:26:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[]"
+ },
+ "typeName": {
+ "baseType": {
+ "id": 2618,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3640:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2619,
+ "nodeType": "ArrayTypeName",
+ "src": "3640:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
+ "typeString": "uint256[]"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2627,
+ "initialValue": {
+ "arguments": [
+ {
+ "expression": {
+ "id": 2624,
+ "name": "rentedSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2299,
+ "src": "3683:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
+ "typeString": "uint256[] storage ref"
+ }
+ },
+ "id": 2625,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "src": "3683:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2623,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "NewExpression",
+ "src": "3669:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
+ "typeString": "function (uint256) pure returns (uint256[] memory)"
+ },
+ "typeName": {
+ "baseType": {
+ "id": 2621,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3673:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2622,
+ "nodeType": "ArrayTypeName",
+ "src": "3673:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
+ "typeString": "uint256[]"
+ }
+ }
+ },
+ "id": 2626,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3669:31:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[] memory"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "3640:60:13"
+ },
+ {
+ "body": {
+ "id": 2666,
+ "nodeType": "Block",
+ "src": "3755:244:13",
+ "statements": [
+ {
+ "assignments": [
+ 2641
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2641,
+ "mutability": "mutable",
+ "name": "_rentInfo",
+ "nameLocation": "3789:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2666,
+ "src": "3769:29:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_memory_ptr",
+ "typeString": "struct Nftzi.RentalStruct"
+ },
+ "typeName": {
+ "id": 2640,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2639,
+ "name": "RentalStruct",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2271,
+ "src": "3769:12:13"
+ },
+ "referencedDeclaration": 2271,
+ "src": "3769:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage_ptr",
+ "typeString": "struct Nftzi.RentalStruct"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2647,
+ "initialValue": {
+ "baseExpression": {
+ "id": 2642,
+ "name": "_rentedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2326,
+ "src": "3801:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct storage ref)"
+ }
+ },
+ "id": 2646,
+ "indexExpression": {
+ "baseExpression": {
+ "id": 2643,
+ "name": "rentedSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2299,
+ "src": "3811:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
+ "typeString": "uint256[] storage ref"
+ }
+ },
+ "id": 2645,
+ "indexExpression": {
+ "id": 2644,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2629,
+ "src": "3821:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "3811:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "3801:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "3769:55:13"
+ },
+ {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2653,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2651,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2648,
+ "name": "_lastRun",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2296,
+ "src": "3842:8:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "expression": {
+ "id": 2649,
+ "name": "_rentInfo",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2641,
+ "src": "3853:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_memory_ptr",
+ "typeString": "struct Nftzi.RentalStruct memory"
+ }
+ },
+ "id": 2650,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "rentedAt",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2266,
+ "src": "3853:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "3842:29:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "<",
+ "rightExpression": {
+ "hexValue": "31",
+ "id": 2652,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3874:9:13",
+ "subdenomination": "minutes",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_60_by_1",
+ "typeString": "int_const 60"
+ },
+ "value": "1"
+ },
+ "src": "3842:41:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "falseBody": {
+ "id": 2664,
+ "nodeType": "Block",
+ "src": "3929:60:13",
+ "statements": [
+ {
+ "expression": {
+ "id": 2662,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2656,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2620,
+ "src": "3947:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[] memory"
+ }
+ },
+ "id": 2658,
+ "indexExpression": {
+ "id": 2657,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2629,
+ "src": "3957:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "3947:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "baseExpression": {
+ "id": 2659,
+ "name": "rentedSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2299,
+ "src": "3962:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
+ "typeString": "uint256[] storage ref"
+ }
+ },
+ "id": 2661,
+ "indexExpression": {
+ "id": 2660,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2629,
+ "src": "3972:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "3962:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "3947:27:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2663,
+ "nodeType": "ExpressionStatement",
+ "src": "3947:27:13"
+ }
+ ]
+ },
+ "id": 2665,
+ "nodeType": "IfStatement",
+ "src": "3838:151:13",
+ "trueBody": {
+ "id": 2655,
+ "nodeType": "Block",
+ "src": "3885:38:13",
+ "statements": [
+ {
+ "id": 2654,
+ "nodeType": "Break",
+ "src": "3903:5:13"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2635,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2632,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2629,
+ "src": "3727:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "<",
+ "rightExpression": {
+ "expression": {
+ "id": 2633,
+ "name": "rentedSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2299,
+ "src": "3731:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
+ "typeString": "uint256[] storage ref"
+ }
+ },
+ "id": 2634,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "src": "3731:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "3727:20:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2667,
+ "initializationExpression": {
+ "assignments": [
+ 2629
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2629,
+ "mutability": "mutable",
+ "name": "i",
+ "nameLocation": "3720:1:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2667,
+ "src": "3715:6:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2628,
+ "name": "uint",
+ "nodeType": "ElementaryTypeName",
+ "src": "3715:4:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2631,
+ "initialValue": {
+ "hexValue": "30",
+ "id": 2630,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3724:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "3715:10:13"
+ },
+ "loopExpression": {
+ "expression": {
+ "id": 2637,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "++",
+ "prefix": false,
+ "src": "3750:3:13",
+ "subExpression": {
+ "id": 2636,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2629,
+ "src": "3750:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2638,
+ "nodeType": "ExpressionStatement",
+ "src": "3750:3:13"
+ },
+ "nodeType": "ForStatement",
+ "src": "3710:289:13"
+ },
+ {
+ "body": {
+ "id": 2721,
+ "nodeType": "Block",
+ "src": "4052:339:13",
+ "statements": [
+ {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2683,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "baseExpression": {
+ "id": 2679,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2620,
+ "src": "4070:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[] memory"
+ }
+ },
+ "id": 2681,
+ "indexExpression": {
+ "id": 2680,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2669,
+ "src": "4080:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4070:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2682,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4085:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "4070:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2720,
+ "nodeType": "IfStatement",
+ "src": "4066:315:13",
+ "trueBody": {
+ "id": 2719,
+ "nodeType": "Block",
+ "src": "4088:293:13",
+ "statements": [
+ {
+ "assignments": [
+ 2686
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2686,
+ "mutability": "mutable",
+ "name": "_rentInfo",
+ "nameLocation": "4126:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2719,
+ "src": "4106:29:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_memory_ptr",
+ "typeString": "struct Nftzi.RentalStruct"
+ },
+ "typeName": {
+ "id": 2685,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2684,
+ "name": "RentalStruct",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2271,
+ "src": "4106:12:13"
+ },
+ "referencedDeclaration": 2271,
+ "src": "4106:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage_ptr",
+ "typeString": "struct Nftzi.RentalStruct"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2692,
+ "initialValue": {
+ "baseExpression": {
+ "id": 2687,
+ "name": "_rentedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2326,
+ "src": "4138:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct storage ref)"
+ }
+ },
+ "id": 2691,
+ "indexExpression": {
+ "baseExpression": {
+ "id": 2688,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2620,
+ "src": "4148:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[] memory"
+ }
+ },
+ "id": 2690,
+ "indexExpression": {
+ "id": 2689,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2669,
+ "src": "4158:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4148:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4138:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "4106:55:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "expression": {
+ "id": 2694,
+ "name": "_rentInfo",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2686,
+ "src": "4193:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_memory_ptr",
+ "typeString": "struct Nftzi.RentalStruct memory"
+ }
+ },
+ "id": 2695,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "tokenId",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2268,
+ "src": "4193:17:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "expression": {
+ "id": 2696,
+ "name": "_rentInfo",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2686,
+ "src": "4212:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_memory_ptr",
+ "typeString": "struct Nftzi.RentalStruct memory"
+ }
+ },
+ "id": 2697,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "rentedBy",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2270,
+ "src": "4212:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 2693,
+ "name": "_returnRented",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2783,
+ "src": "4179:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$",
+ "typeString": "function (uint256,address)"
+ }
+ },
+ "id": 2698,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4179:52:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2699,
+ "nodeType": "ExpressionStatement",
+ "src": "4179:52:13"
+ },
+ {
+ "expression": {
+ "id": 2705,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "delete",
+ "prefix": true,
+ "src": "4249:30:13",
+ "subExpression": {
+ "baseExpression": {
+ "id": 2700,
+ "name": "_rentedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2326,
+ "src": "4256:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct storage ref)"
+ }
+ },
+ "id": 2704,
+ "indexExpression": {
+ "baseExpression": {
+ "id": 2701,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2620,
+ "src": "4266:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[] memory"
+ }
+ },
+ "id": 2703,
+ "indexExpression": {
+ "id": 2702,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2669,
+ "src": "4276:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4266:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "4256:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2706,
+ "nodeType": "ExpressionStatement",
+ "src": "4249:30:13"
+ },
+ {
+ "expression": {
+ "id": 2710,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "delete",
+ "prefix": true,
+ "src": "4297:19:13",
+ "subExpression": {
+ "baseExpression": {
+ "id": 2707,
+ "name": "rentedSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2299,
+ "src": "4304:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
+ "typeString": "uint256[] storage ref"
+ }
+ },
+ "id": 2709,
+ "indexExpression": {
+ "hexValue": "30",
+ "id": 2708,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4314:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "4304:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2711,
+ "nodeType": "ExpressionStatement",
+ "src": "4297:19:13"
+ },
+ {
+ "expression": {
+ "id": 2717,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "delete",
+ "prefix": true,
+ "src": "4334:32:13",
+ "subExpression": {
+ "baseExpression": {
+ "id": 2712,
+ "name": "_tokenToSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2330,
+ "src": "4341:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2716,
+ "indexExpression": {
+ "baseExpression": {
+ "id": 2713,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2620,
+ "src": "4353:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[] memory"
+ }
+ },
+ "id": 2715,
+ "indexExpression": {
+ "id": 2714,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2669,
+ "src": "4363:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4353:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "4341:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2718,
+ "nodeType": "ExpressionStatement",
+ "src": "4334:32:13"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2675,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2672,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2669,
+ "src": "4025:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "<",
+ "rightExpression": {
+ "expression": {
+ "id": 2673,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2620,
+ "src": "4029:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[] memory"
+ }
+ },
+ "id": 2674,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "src": "4029:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "4025:20:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2722,
+ "initializationExpression": {
+ "assignments": [
+ 2669
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2669,
+ "mutability": "mutable",
+ "name": "i",
+ "nameLocation": "4018:1:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2722,
+ "src": "4013:6:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2668,
+ "name": "uint",
+ "nodeType": "ElementaryTypeName",
+ "src": "4013:4:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2671,
+ "initialValue": {
+ "hexValue": "30",
+ "id": 2670,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4022:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "4013:10:13"
+ },
+ "loopExpression": {
+ "expression": {
+ "id": 2677,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "++",
+ "prefix": false,
+ "src": "4047:3:13",
+ "subExpression": {
+ "id": 2676,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2669,
+ "src": "4047:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2678,
+ "nodeType": "ExpressionStatement",
+ "src": "4047:3:13"
+ },
+ "nodeType": "ForStatement",
+ "src": "4008:383:13"
+ }
+ ]
+ },
+ "id": 2724,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_checkReturns",
+ "nameLocation": "3597:13:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2614,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3610:2:13"
+ },
+ "returnParameters": {
+ "id": 2615,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3630:0:13"
+ },
+ "scope": 2919,
+ "src": "3588:809:13",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2782,
+ "nodeType": "Block",
+ "src": "4478:326:13",
+ "statements": [
+ {
+ "assignments": [
+ 2733
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2733,
+ "mutability": "mutable",
+ "name": "token",
+ "nameLocation": "4494:5:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2782,
+ "src": "4488:11:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ },
+ "typeName": {
+ "id": 2732,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2731,
+ "name": "ERC20",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 545,
+ "src": "4488:5:13"
+ },
+ "referencedDeclaration": 545,
+ "src": "4488:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2739,
+ "initialValue": {
+ "arguments": [
+ {
+ "baseExpression": {
+ "id": 2735,
+ "name": "_tokenCurrencies",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2321,
+ "src": "4508:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2737,
+ "indexExpression": {
+ "id": 2736,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4525:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4508:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 2734,
+ "name": "ERC20",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 545,
+ "src": "4502:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC20_$545_$",
+ "typeString": "type(contract ERC20)"
+ }
+ },
+ "id": 2738,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4502:32:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "4488:46:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2751,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 2745,
+ "name": "this",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967268,
+ "src": "4576:4:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Nftzi_$2919",
+ "typeString": "contract Nftzi"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_contract$_Nftzi_$2919",
+ "typeString": "contract Nftzi"
+ }
+ ],
+ "id": 2744,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "4568:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 2743,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4568:7:13",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2746,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4568:13:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "expression": {
+ "id": 2741,
+ "name": "token",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2733,
+ "src": "4552:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "id": 2742,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "balanceOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 98,
+ "src": "4552:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
+ "typeString": "function (address) view external returns (uint256)"
+ }
+ },
+ "id": 2747,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4552:30:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "baseExpression": {
+ "id": 2748,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "4586:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2750,
+ "indexExpression": {
+ "id": 2749,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4596:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4586:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "4552:52:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ ],
+ "id": 2740,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4544:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
+ "typeString": "function (bool) pure"
+ }
+ },
+ "id": 2752,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4544:61:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2753,
+ "nodeType": "ExpressionStatement",
+ "src": "4544:61:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "baseExpression": {
+ "id": 2757,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "4630:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2759,
+ "indexExpression": {
+ "id": 2758,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4645:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4630:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "baseExpression": {
+ "id": 2760,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "4655:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2762,
+ "indexExpression": {
+ "id": 2761,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4665:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4655:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 2754,
+ "name": "token",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2733,
+ "src": "4615:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "id": 2756,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "transfer",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 119,
+ "src": "4615:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (address,uint256) external returns (bool)"
+ }
+ },
+ "id": 2763,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4615:59:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2764,
+ "nodeType": "ExpressionStatement",
+ "src": "4615:59:13"
+ },
+ {
+ "expression": {
+ "id": 2771,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2765,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "4685:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2767,
+ "indexExpression": {
+ "id": 2766,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4695:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "4685:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "-=",
+ "rightHandSide": {
+ "baseExpression": {
+ "id": 2768,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "4707:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2770,
+ "indexExpression": {
+ "id": 2769,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4717:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4707:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "4685:40:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2772,
+ "nodeType": "ExpressionStatement",
+ "src": "4685:40:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 2774,
+ "name": "rentedBy",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2728,
+ "src": "4750:8:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "baseExpression": {
+ "id": 2775,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "4760:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2777,
+ "indexExpression": {
+ "id": 2776,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4775:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4760:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 2778,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4785:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "hexValue": "",
+ "id": 2779,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4794:2:13",
+ "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": 2773,
+ "name": "_safeTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1086,
+ "src": "4736:13:13",
+ "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": 2780,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4736:61:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2781,
+ "nodeType": "ExpressionStatement",
+ "src": "4736:61:13"
+ }
+ ]
+ },
+ "id": 2783,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_returnRented",
+ "nameLocation": "4412:13:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2729,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2726,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "4434:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2783,
+ "src": "4426:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2725,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4426:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2728,
+ "mutability": "mutable",
+ "name": "rentedBy",
+ "nameLocation": "4451:8:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2783,
+ "src": "4443:16:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 2727,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4443:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4425:35:13"
+ },
+ "returnParameters": {
+ "id": 2730,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "4478:0:13"
+ },
+ "scope": 2919,
+ "src": "4403:401:13",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2871,
+ "nodeType": "Block",
+ "src": "4850:652:13",
+ "statements": [
+ {
+ "expression": {
+ "id": 2791,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2788,
+ "name": "_lastRun",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2296,
+ "src": "4860:8:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "expression": {
+ "id": 2789,
+ "name": "block",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967292,
+ "src": "4871:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_block",
+ "typeString": "block"
+ }
+ },
+ "id": 2790,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "timestamp",
+ "nodeType": "MemberAccess",
+ "src": "4871:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "4860:26:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2792,
+ "nodeType": "ExpressionStatement",
+ "src": "4860:26:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 2795,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2785,
+ "src": "4913:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2794,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "4905:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 2796,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4905:16:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a2072656e7420717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 2797,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4923:42:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7",
+ "typeString": "literal_string \"ERC721: rent query for nonexistent token\""
+ },
+ "value": "ERC721: rent query for nonexistent token"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7",
+ "typeString": "literal_string \"ERC721: rent query for nonexistent token\""
+ }
+ ],
+ "id": 2793,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4897:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 2798,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4897:69:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2799,
+ "nodeType": "ExpressionStatement",
+ "src": "4897:69:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 2806,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "expression": {
+ "id": 2801,
+ "name": "msg",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967281,
+ "src": "4984:3:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_message",
+ "typeString": "msg"
+ }
+ },
+ "id": 2802,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "sender",
+ "nodeType": "MemberAccess",
+ "src": "4984:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "baseExpression": {
+ "id": 2803,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "4998:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2805,
+ "indexExpression": {
+ "id": 2804,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2785,
+ "src": "5013:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4998:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "4984:37:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "52656465656d3a2063616c6c6572206973206e6f74207468652063726561746f72",
+ "id": 2807,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5023:35:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_8d026af6d3fcb97b10c188f1f15abf5d88ea4477d3e06968711ba90108e018d3",
+ "typeString": "literal_string \"Redeem: caller is not the creator\""
+ },
+ "value": "Redeem: caller is not the creator"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_8d026af6d3fcb97b10c188f1f15abf5d88ea4477d3e06968711ba90108e018d3",
+ "typeString": "literal_string \"Redeem: caller is not the creator\""
+ }
+ ],
+ "id": 2800,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4976:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 2808,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4976:83:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2809,
+ "nodeType": "ExpressionStatement",
+ "src": "4976:83:13"
+ },
+ {
+ "assignments": [
+ 2811
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2811,
+ "mutability": "mutable",
+ "name": "_toRedeemPart",
+ "nameLocation": "5078:13:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2871,
+ "src": "5070:21:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2810,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5070:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2817,
+ "initialValue": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2816,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "baseExpression": {
+ "id": 2812,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "5094:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2814,
+ "indexExpression": {
+ "id": 2813,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2785,
+ "src": "5104:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5094:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "/",
+ "rightExpression": {
+ "hexValue": "31",
+ "id": 2815,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5115:9:13",
+ "subdenomination": "minutes",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_60_by_1",
+ "typeString": "int_const 60"
+ },
+ "value": "1"
+ },
+ "src": "5094:30:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "5070:54:13"
+ },
+ {
+ "assignments": [
+ 2819
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2819,
+ "mutability": "mutable",
+ "name": "_toRedeemSeconds",
+ "nameLocation": "5142:16:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2871,
+ "src": "5134:24:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2818,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5134:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2828,
+ "initialValue": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2827,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2820,
+ "name": "_lastRun",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2296,
+ "src": "5161:8:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "expression": {
+ "baseExpression": {
+ "id": 2821,
+ "name": "_rentedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2326,
+ "src": "5172:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct storage ref)"
+ }
+ },
+ "id": 2825,
+ "indexExpression": {
+ "baseExpression": {
+ "id": 2822,
+ "name": "_tokenToSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2330,
+ "src": "5182:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2824,
+ "indexExpression": {
+ "id": 2823,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2785,
+ "src": "5194:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5182:20:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5172:31:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "id": 2826,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "rentedAt",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2266,
+ "src": "5172:40:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "5161:51:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "5134:78:13"
+ },
+ {
+ "assignments": [
+ 2830
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2830,
+ "mutability": "mutable",
+ "name": "_toRedeem",
+ "nameLocation": "5230:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2871,
+ "src": "5222:17:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2829,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5222:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2834,
+ "initialValue": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2833,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2831,
+ "name": "_toRedeemPart",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2811,
+ "src": "5242:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "*",
+ "rightExpression": {
+ "id": 2832,
+ "name": "_toRedeemSeconds",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2819,
+ "src": "5258:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "5242:32:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "5222:52:13"
+ },
+ {
+ "assignments": [
+ 2837
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2837,
+ "mutability": "mutable",
+ "name": "token",
+ "nameLocation": "5291:5:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2871,
+ "src": "5285:11:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ },
+ "typeName": {
+ "id": 2836,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2835,
+ "name": "ERC20",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 545,
+ "src": "5285:5:13"
+ },
+ "referencedDeclaration": 545,
+ "src": "5285:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2843,
+ "initialValue": {
+ "arguments": [
+ {
+ "baseExpression": {
+ "id": 2839,
+ "name": "_tokenCurrencies",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2321,
+ "src": "5305:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2841,
+ "indexExpression": {
+ "id": 2840,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2785,
+ "src": "5322:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5305:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 2838,
+ "name": "ERC20",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 545,
+ "src": "5299:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC20_$545_$",
+ "typeString": "type(contract ERC20)"
+ }
+ },
+ "id": 2842,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5299:32:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "5285:46:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2853,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 2849,
+ "name": "this",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967268,
+ "src": "5373:4:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Nftzi_$2919",
+ "typeString": "contract Nftzi"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_contract$_Nftzi_$2919",
+ "typeString": "contract Nftzi"
+ }
+ ],
+ "id": 2848,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "5365:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 2847,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5365:7:13",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2850,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5365:13:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "expression": {
+ "id": 2845,
+ "name": "token",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2837,
+ "src": "5349:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "id": 2846,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "balanceOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 98,
+ "src": "5349:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
+ "typeString": "function (address) view external returns (uint256)"
+ }
+ },
+ "id": 2851,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5349:30:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 2852,
+ "name": "_toRedeem",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2830,
+ "src": "5383:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "5349:43:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ ],
+ "id": 2844,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "5341:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
+ "typeString": "function (bool) pure"
+ }
+ },
+ "id": 2854,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5341:52:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2855,
+ "nodeType": "ExpressionStatement",
+ "src": "5341:52:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "baseExpression": {
+ "id": 2859,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "5419:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2861,
+ "indexExpression": {
+ "id": 2860,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2785,
+ "src": "5434:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5419:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 2862,
+ "name": "_toRedeem",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2830,
+ "src": "5444:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 2856,
+ "name": "token",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2837,
+ "src": "5404:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "id": 2858,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "transfer",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 119,
+ "src": "5404:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (address,uint256) external returns (bool)"
+ }
+ },
+ "id": 2863,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5404:50:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2864,
+ "nodeType": "ExpressionStatement",
+ "src": "5404:50:13"
+ },
+ {
+ "expression": {
+ "id": 2869,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2865,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "5464:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2867,
+ "indexExpression": {
+ "id": 2866,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2785,
+ "src": "5474:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "5464:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "-=",
+ "rightHandSide": {
+ "id": 2868,
+ "name": "_toRedeem",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2830,
+ "src": "5486:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "5464:31:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2870,
+ "nodeType": "ExpressionStatement",
+ "src": "5464:31:13"
+ }
+ ]
+ },
+ "functionSelector": "db006a75",
+ "id": 2872,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "redeem",
+ "nameLocation": "4819:6:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2786,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2785,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "4834:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2872,
+ "src": "4826:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2784,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4826:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4825:17:13"
+ },
+ "returnParameters": {
+ "id": 2787,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "4850:0:13"
+ },
+ "scope": 2919,
+ "src": "4810:692:13",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 2917,
+ "nodeType": "Block",
+ "src": "5588:302:13",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 2879,
+ "name": "_tick",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2613,
+ "src": "5598:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
+ "typeString": "function ()"
+ }
+ },
+ "id": 2880,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5598:7:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2881,
+ "nodeType": "ExpressionStatement",
+ "src": "5598:7:13"
+ },
+ {
+ "assignments": [
+ 2883
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2883,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "5623:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2917,
+ "src": "5615:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2882,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5615:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2887,
+ "initialValue": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 2884,
+ "name": "_tokenIdCounter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2302,
+ "src": "5633:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter storage ref"
+ }
+ },
+ "id": 2885,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "current",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1962,
+ "src": "5633:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$1950_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$1950_storage_ptr_$",
+ "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)"
+ }
+ },
+ "id": 2886,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5633:25:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "5615:43:13"
+ },
+ {
+ "expression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 2888,
+ "name": "_tokenIdCounter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2302,
+ "src": "5668:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter storage ref"
+ }
+ },
+ "id": 2890,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "increment",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1976,
+ "src": "5668:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$1950_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$1950_storage_ptr_$",
+ "typeString": "function (struct Counters.Counter storage pointer)"
+ }
+ },
+ "id": 2891,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5668:27:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2892,
+ "nodeType": "ExpressionStatement",
+ "src": "5668:27:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 2894,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "5715:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 2895,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5715:12:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 2896,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2883,
+ "src": "5729:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2893,
+ "name": "_safeMint",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1160,
+ 1189
+ ],
+ "referencedDeclaration": 1160,
+ "src": "5705:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,uint256)"
+ }
+ },
+ "id": 2897,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5705:32:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2898,
+ "nodeType": "ExpressionStatement",
+ "src": "5705:32:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 2900,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2883,
+ "src": "5760:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "id": 2901,
+ "name": "_tokenURI",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2874,
+ "src": "5769:9: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": 2899,
+ "name": "_setTokenURI",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2403,
+ "src": "5747:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (uint256,string memory)"
+ }
+ },
+ "id": 2902,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5747:32:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2903,
+ "nodeType": "ExpressionStatement",
+ "src": "5747:32:13"
+ },
+ {
+ "expression": {
+ "id": 2909,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2904,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "5789:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2906,
+ "indexExpression": {
+ "id": 2905,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2883,
+ "src": "5804:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "5789:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 2907,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "5815:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 2908,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5815:12:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "5789:38:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 2910,
+ "nodeType": "ExpressionStatement",
+ "src": "5789:38:13"
+ },
+ {
+ "expression": {
+ "id": 2915,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2911,
+ "name": "_tokenCurrencies",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2321,
+ "src": "5837:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2913,
+ "indexExpression": {
+ "id": 2912,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2883,
+ "src": "5854:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "5837:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 2914,
+ "name": "rent_token_address",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2876,
+ "src": "5865:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "5837:46:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 2916,
+ "nodeType": "ExpressionStatement",
+ "src": "5837:46:13"
+ }
+ ]
+ },
+ "functionSelector": "c6f05771",
+ "id": 2918,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "safeMint",
+ "nameLocation": "5517:8:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2877,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2874,
+ "mutability": "mutable",
+ "name": "_tokenURI",
+ "nameLocation": "5540:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2918,
+ "src": "5526:23:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2873,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "5526:6:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2876,
+ "mutability": "mutable",
+ "name": "rent_token_address",
+ "nameLocation": "5559:18:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2918,
+ "src": "5551:26:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 2875,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5551:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5525:53:13"
+ },
+ "returnParameters": {
+ "id": 2878,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "5588:0:13"
+ },
+ "scope": 2919,
+ "src": "5508:382:13",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ }
+ ],
+ "scope": 2920,
+ "src": "225:5667:13",
+ "usedErrors": []
+ }
+ ],
+ "src": "32:5861:13"
+ },
+ "legacyAST": {
+ "absolutePath": "project:/contracts/Nftzi.sol",
+ "exportedSymbols": {
+ "Address": [
+ 1922
+ ],
+ "Context": [
+ 1944
+ ],
+ "Counters": [
+ 2018
+ ],
+ "ERC165": [
+ 2245
+ ],
+ "ERC20": [
+ 545
+ ],
+ "ERC721": [
+ 1464
+ ],
+ "IERC165": [
+ 2257
+ ],
+ "IERC20": [
+ 623
+ ],
+ "IERC20Metadata": [
+ 648
+ ],
+ "IERC721": [
+ 1580
+ ],
+ "IERC721Metadata": [
+ 1625
+ ],
+ "IERC721Receiver": [
+ 1598
+ ],
+ "Nftzi": [
+ 2919
+ ],
+ "Strings": [
+ 2221
+ ]
+ },
+ "id": 2920,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 2259,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "32:23:13"
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol",
+ "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol",
+ "id": 2260,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 2920,
+ "sourceUnit": 1465,
+ "src": "57:57:13",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/utils/Counters.sol",
+ "file": "@openzeppelin/contracts/utils/Counters.sol",
+ "id": 2261,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 2920,
+ "sourceUnit": 2019,
+ "src": "115:52:13",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
+ "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol",
+ "id": 2262,
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "ImportDirective",
+ "scope": 2920,
+ "sourceUnit": 546,
+ "src": "168:55:13",
+ "symbolAliases": [],
+ "unitAlias": ""
+ },
+ {
+ "abstract": false,
+ "baseContracts": [
+ {
+ "baseName": {
+ "id": 2263,
+ "name": "ERC721",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1464,
+ "src": "243:6:13"
+ },
+ "id": 2264,
+ "nodeType": "InheritanceSpecifier",
+ "src": "243:6:13"
+ }
+ ],
+ "canonicalName": "Nftzi",
+ "contractDependencies": [],
+ "contractKind": "contract",
+ "fullyImplemented": true,
+ "id": 2919,
+ "linearizedBaseContracts": [
+ 2919,
+ 1464,
+ 1625,
+ 1580,
+ 2245,
+ 2257,
+ 1944
+ ],
+ "name": "Nftzi",
+ "nameLocation": "234:5:13",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "canonicalName": "Nftzi.RentalStruct",
+ "id": 2271,
+ "members": [
+ {
+ "constant": false,
+ "id": 2266,
+ "mutability": "mutable",
+ "name": "rentedAt",
+ "nameLocation": "293:8:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2271,
+ "src": "285:16:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2265,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "285:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2268,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "319:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2271,
+ "src": "311:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2267,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "311:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2270,
+ "mutability": "mutable",
+ "name": "rentedBy",
+ "nameLocation": "344:8:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2271,
+ "src": "336:16:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 2269,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "336:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "name": "RentalStruct",
+ "nameLocation": "263:12:13",
+ "nodeType": "StructDefinition",
+ "scope": 2919,
+ "src": "256:103:13",
+ "visibility": "public"
+ },
+ {
+ "canonicalName": "Nftzi.TokenInfoStruct",
+ "id": 2284,
+ "members": [
+ {
+ "constant": false,
+ "id": 2273,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "405:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2284,
+ "src": "397:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2272,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "397:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2275,
+ "mutability": "mutable",
+ "name": "URI",
+ "nameLocation": "429:3:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2284,
+ "src": "422:10:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2274,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "422:6:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2277,
+ "mutability": "mutable",
+ "name": "creator",
+ "nameLocation": "450:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2284,
+ "src": "442:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 2276,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "442:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2279,
+ "mutability": "mutable",
+ "name": "rentedAt",
+ "nameLocation": "475:8:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2284,
+ "src": "467:16:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2278,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "467:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2281,
+ "mutability": "mutable",
+ "name": "rentedBy",
+ "nameLocation": "501:8:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2284,
+ "src": "493:16:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 2280,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "493:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2283,
+ "mutability": "mutable",
+ "name": "balance",
+ "nameLocation": "527:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2284,
+ "src": "519:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2282,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "519:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "name": "TokenInfoStruct",
+ "nameLocation": "372:15:13",
+ "nodeType": "StructDefinition",
+ "scope": 2919,
+ "src": "365:176:13",
+ "visibility": "public"
+ },
+ {
+ "id": 2288,
+ "libraryName": {
+ "id": 2285,
+ "name": "Counters",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2018,
+ "src": "553:8:13"
+ },
+ "nodeType": "UsingForDirective",
+ "src": "547:36:13",
+ "typeName": {
+ "id": 2287,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2286,
+ "name": "Counters.Counter",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1950,
+ "src": "566:16:13"
+ },
+ "referencedDeclaration": 1950,
+ "src": "566:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ }
+ }
+ },
+ {
+ "constant": false,
+ "functionSelector": "a69bd72c",
+ "id": 2291,
+ "mutability": "mutable",
+ "name": "rentPriceCelo",
+ "nameLocation": "604:13:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "589:38:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2289,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "589:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "value": {
+ "hexValue": "31",
+ "id": 2290,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "620:7:13",
+ "subdenomination": "ether",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1000000000000000000_by_1",
+ "typeString": "int_const 1000000000000000000"
+ },
+ "value": "1"
+ },
+ "visibility": "public"
+ },
+ {
+ "constant": false,
+ "functionSelector": "06ef93ad",
+ "id": 2294,
+ "mutability": "mutable",
+ "name": "_comission",
+ "nameLocation": "648:10:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "633:38:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2292,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "633:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "value": {
+ "hexValue": "302e3031",
+ "id": 2293,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "661:10:13",
+ "subdenomination": "ether",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_10000000000000000_by_1",
+ "typeString": "int_const 10000000000000000"
+ },
+ "value": "0.01"
+ },
+ "visibility": "public"
+ },
+ {
+ "constant": false,
+ "id": 2296,
+ "mutability": "mutable",
+ "name": "_lastRun",
+ "nameLocation": "694:8:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "678:24:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2295,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "678:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2299,
+ "mutability": "mutable",
+ "name": "rentedSeq",
+ "nameLocation": "726:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "708:27:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
+ "typeString": "uint256[]"
+ },
+ "typeName": {
+ "baseType": {
+ "id": 2297,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "708:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2298,
+ "nodeType": "ArrayTypeName",
+ "src": "708:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
+ "typeString": "uint256[]"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2302,
+ "mutability": "mutable",
+ "name": "_tokenIdCounter",
+ "nameLocation": "767:15:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "742:40:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter"
+ },
+ "typeName": {
+ "id": 2301,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2300,
+ "name": "Counters.Counter",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1950,
+ "src": "742:16:13"
+ },
+ "referencedDeclaration": 1950,
+ "src": "742:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2305,
+ "mutability": "mutable",
+ "name": "_seqCounter",
+ "nameLocation": "813:11:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "788:36:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter"
+ },
+ "typeName": {
+ "id": 2304,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2303,
+ "name": "Counters.Counter",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1950,
+ "src": "788:16:13"
+ },
+ "referencedDeclaration": 1950,
+ "src": "788:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage_ptr",
+ "typeString": "struct Counters.Counter"
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2309,
+ "mutability": "mutable",
+ "name": "_tokenURIs",
+ "nameLocation": "867:10:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "831:46:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
+ "typeString": "mapping(uint256 => string)"
+ },
+ "typeName": {
+ "id": 2308,
+ "keyType": {
+ "id": 2306,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "840:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "831:27:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
+ "typeString": "mapping(uint256 => string)"
+ },
+ "valueType": {
+ "id": 2307,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "851:6:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2313,
+ "mutability": "mutable",
+ "name": "_tokenCreators",
+ "nameLocation": "920:14:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "883:51:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "typeName": {
+ "id": 2312,
+ "keyType": {
+ "id": 2310,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "892:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "883:28:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "valueType": {
+ "id": 2311,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "903:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2317,
+ "mutability": "mutable",
+ "name": "_balances",
+ "nameLocation": "977:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "940:46:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ },
+ "typeName": {
+ "id": 2316,
+ "keyType": {
+ "id": 2314,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "949:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "940:28:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ },
+ "valueType": {
+ "id": 2315,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "960:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2321,
+ "mutability": "mutable",
+ "name": "_tokenCurrencies",
+ "nameLocation": "1029:16:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "992:53:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "typeName": {
+ "id": 2320,
+ "keyType": {
+ "id": 2318,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1001:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "992:28:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ },
+ "valueType": {
+ "id": 2319,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1012:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2326,
+ "mutability": "mutable",
+ "name": "_rentedAt",
+ "nameLocation": "1093:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "1051:51:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct)"
+ },
+ "typeName": {
+ "id": 2325,
+ "keyType": {
+ "id": 2322,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1060:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1051:33:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct)"
+ },
+ "valueType": {
+ "id": 2324,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2323,
+ "name": "RentalStruct",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2271,
+ "src": "1071:12:13"
+ },
+ "referencedDeclaration": 2271,
+ "src": "1071:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage_ptr",
+ "typeString": "struct Nftzi.RentalStruct"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "constant": false,
+ "id": 2330,
+ "mutability": "mutable",
+ "name": "_tokenToSeq",
+ "nameLocation": "1145:11:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2919,
+ "src": "1108:48:13",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ },
+ "typeName": {
+ "id": 2329,
+ "keyType": {
+ "id": 2327,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1117:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Mapping",
+ "src": "1108:28:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ },
+ "valueType": {
+ "id": 2328,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1128:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ },
+ "visibility": "private"
+ },
+ {
+ "body": {
+ "id": 2352,
+ "nodeType": "Block",
+ "src": "1201:113:13",
+ "statements": [
+ {
+ "expression": {
+ "id": 2340,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2337,
+ "name": "_lastRun",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2296,
+ "src": "1211:8:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "expression": {
+ "id": 2338,
+ "name": "block",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967292,
+ "src": "1222:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_block",
+ "typeString": "block"
+ }
+ },
+ "id": 2339,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "timestamp",
+ "nodeType": "MemberAccess",
+ "src": "1222:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "1211:26:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2341,
+ "nodeType": "ExpressionStatement",
+ "src": "1211:26:13"
+ },
+ {
+ "expression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 2342,
+ "name": "_tokenIdCounter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2302,
+ "src": "1247:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter storage ref"
+ }
+ },
+ "id": 2344,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "increment",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1976,
+ "src": "1247:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$1950_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$1950_storage_ptr_$",
+ "typeString": "function (struct Counters.Counter storage pointer)"
+ }
+ },
+ "id": 2345,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1247:27:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2346,
+ "nodeType": "ExpressionStatement",
+ "src": "1247:27:13"
+ },
+ {
+ "expression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 2347,
+ "name": "_seqCounter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2305,
+ "src": "1284:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter storage ref"
+ }
+ },
+ "id": 2349,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "increment",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1976,
+ "src": "1284:21:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$1950_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$1950_storage_ptr_$",
+ "typeString": "function (struct Counters.Counter storage pointer)"
+ }
+ },
+ "id": 2350,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1284:23:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2351,
+ "nodeType": "ExpressionStatement",
+ "src": "1284:23:13"
+ }
+ ]
+ },
+ "id": 2353,
+ "implemented": true,
+ "kind": "constructor",
+ "modifiers": [
+ {
+ "arguments": [
+ {
+ "hexValue": "4e66747a69",
+ "id": 2333,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1184:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_711aca94866940d25690819b379b37f49a47bbda2af95d823f2281bcf7c96a10",
+ "typeString": "literal_string \"Nftzi\""
+ },
+ "value": "Nftzi"
+ },
+ {
+ "hexValue": "4e46545a",
+ "id": 2334,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1193:6:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_e30f8508788e8e4c797ff95f30257c586f9a7f2adcf1b74d31c4393816b6c3e4",
+ "typeString": "literal_string \"NFTZ\""
+ },
+ "value": "NFTZ"
+ }
+ ],
+ "id": 2335,
+ "kind": "baseConstructorSpecifier",
+ "modifierName": {
+ "id": 2332,
+ "name": "ERC721",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 1464,
+ "src": "1177:6:13"
+ },
+ "nodeType": "ModifierInvocation",
+ "src": "1177:23:13"
+ }
+ ],
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2331,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1174:2:13"
+ },
+ "returnParameters": {
+ "id": 2336,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1201:0:13"
+ },
+ "scope": 2919,
+ "src": "1163:151:13",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "public"
+ },
+ {
+ "baseFunctions": [
+ 1145
+ ],
+ "body": {
+ "id": 2381,
+ "nodeType": "Block",
+ "src": "1428:178:13",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 2365,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2357,
+ "src": "1454:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2364,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "1446:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 2366,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1446:16:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 2367,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1464:46:13",
+ "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": 2363,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "1438:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 2368,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1438:73:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2369,
+ "nodeType": "ExpressionStatement",
+ "src": "1438:73:13"
+ },
+ {
+ "assignments": [
+ 2371
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2371,
+ "mutability": "mutable",
+ "name": "creator",
+ "nameLocation": "1529:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2381,
+ "src": "1521:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 2370,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1521:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2375,
+ "initialValue": {
+ "baseExpression": {
+ "id": 2372,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "1539:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2374,
+ "indexExpression": {
+ "id": 2373,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2357,
+ "src": "1554:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "1539:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "1521:41:13"
+ },
+ {
+ "expression": {
+ "components": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 2378,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2376,
+ "name": "spender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2355,
+ "src": "1580:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "id": 2377,
+ "name": "creator",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2371,
+ "src": "1591:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "1580:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ }
+ ],
+ "id": 2379,
+ "isConstant": false,
+ "isInlineArray": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "TupleExpression",
+ "src": "1579:20:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "functionReturnParameters": 2362,
+ "id": 2380,
+ "nodeType": "Return",
+ "src": "1572:27:13"
+ }
+ ]
+ },
+ "id": 2382,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_isApprovedOrOwner",
+ "nameLocation": "1329:18:13",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 2359,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "1404:8:13"
+ },
+ "parameters": {
+ "id": 2358,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2355,
+ "mutability": "mutable",
+ "name": "spender",
+ "nameLocation": "1356:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2382,
+ "src": "1348:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 2354,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "1348:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2357,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "1373:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2382,
+ "src": "1365:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2356,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1365:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1347:34:13"
+ },
+ "returnParameters": {
+ "id": 2362,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2361,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2382,
+ "src": "1422:4:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ "typeName": {
+ "id": 2360,
+ "name": "bool",
+ "nodeType": "ElementaryTypeName",
+ "src": "1422:4:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1421:6:13"
+ },
+ "scope": 2919,
+ "src": "1320:286:13",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2402,
+ "nodeType": "Block",
+ "src": "1693:132:13",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 2391,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2384,
+ "src": "1719:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2390,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "1711:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 2392,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1711:16:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732314d657461646174613a205552492073657420666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 2393,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1729:47:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_4891fff3fd5c79dd7d1b0cfae78dbe3c240608be5953a321dab1d413fb93a400",
+ "typeString": "literal_string \"ERC721Metadata: URI set for nonexistent token\""
+ },
+ "value": "ERC721Metadata: URI set for nonexistent token"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_4891fff3fd5c79dd7d1b0cfae78dbe3c240608be5953a321dab1d413fb93a400",
+ "typeString": "literal_string \"ERC721Metadata: URI set for nonexistent token\""
+ }
+ ],
+ "id": 2389,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "1703:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 2394,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1703:74:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2395,
+ "nodeType": "ExpressionStatement",
+ "src": "1703:74:13"
+ },
+ {
+ "expression": {
+ "id": 2400,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2396,
+ "name": "_tokenURIs",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2309,
+ "src": "1787:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
+ "typeString": "mapping(uint256 => string storage ref)"
+ }
+ },
+ "id": 2398,
+ "indexExpression": {
+ "id": 2397,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2384,
+ "src": "1798:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "1787:19:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 2399,
+ "name": "_tokenURI",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2386,
+ "src": "1809:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "src": "1787:31:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "id": 2401,
+ "nodeType": "ExpressionStatement",
+ "src": "1787:31:13"
+ }
+ ]
+ },
+ "id": 2403,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_setTokenURI",
+ "nameLocation": "1621:12:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2387,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2384,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "1642:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2403,
+ "src": "1634:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2383,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1634:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2386,
+ "mutability": "mutable",
+ "name": "_tokenURI",
+ "nameLocation": "1665:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2403,
+ "src": "1651:23:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2385,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1651:6:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1633:42:13"
+ },
+ "returnParameters": {
+ "id": 2388,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "1693:0:13"
+ },
+ "scope": 2919,
+ "src": "1612:213:13",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "baseFunctions": [
+ 856
+ ],
+ "body": {
+ "id": 2426,
+ "nodeType": "Block",
+ "src": "1927:174:13",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 2413,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2405,
+ "src": "1953:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2412,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "1945:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 2414,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1945:16:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 2415,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1963:49:13",
+ "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": 2411,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "1937:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 2416,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1937:76:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2417,
+ "nodeType": "ExpressionStatement",
+ "src": "1937:76:13"
+ },
+ {
+ "assignments": [
+ 2419
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2419,
+ "mutability": "mutable",
+ "name": "_tokenURI",
+ "nameLocation": "2037:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2426,
+ "src": "2023:23:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2418,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "2023:6:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2423,
+ "initialValue": {
+ "baseExpression": {
+ "id": 2420,
+ "name": "_tokenURIs",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2309,
+ "src": "2049:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
+ "typeString": "mapping(uint256 => string storage ref)"
+ }
+ },
+ "id": 2422,
+ "indexExpression": {
+ "id": 2421,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2405,
+ "src": "2060:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2049:19:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2023:45:13"
+ },
+ {
+ "expression": {
+ "id": 2424,
+ "name": "_tokenURI",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2419,
+ "src": "2085:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "functionReturnParameters": 2410,
+ "id": 2425,
+ "nodeType": "Return",
+ "src": "2078:16:13"
+ }
+ ]
+ },
+ "functionSelector": "c87b56dd",
+ "id": 2427,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "tokenURI",
+ "nameLocation": "1848:8:13",
+ "nodeType": "FunctionDefinition",
+ "overrides": {
+ "id": 2407,
+ "nodeType": "OverrideSpecifier",
+ "overrides": [],
+ "src": "1894:8:13"
+ },
+ "parameters": {
+ "id": 2406,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2405,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "1865:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2427,
+ "src": "1857:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2404,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1857:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1856:17:13"
+ },
+ "returnParameters": {
+ "id": 2410,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2409,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2427,
+ "src": "1912:13:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2408,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1912:6:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1911:15:13"
+ },
+ "scope": 2919,
+ "src": "1839:262:13",
+ "stateMutability": "view",
+ "virtual": true,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 2503,
+ "nodeType": "Block",
+ "src": "2175:599:13",
+ "statements": [
+ {
+ "assignments": [
+ 2438
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2438,
+ "mutability": "mutable",
+ "name": "_toReturn",
+ "nameLocation": "2210:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2503,
+ "src": "2185:34:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct[]"
+ },
+ "typeName": {
+ "baseType": {
+ "id": 2436,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2435,
+ "name": "TokenInfoStruct",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2284,
+ "src": "2185:15:13"
+ },
+ "referencedDeclaration": 2284,
+ "src": "2185:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_TokenInfoStruct_$2284_storage_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct"
+ }
+ },
+ "id": 2437,
+ "nodeType": "ArrayTypeName",
+ "src": "2185:17:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_storage_$dyn_storage_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct[]"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2439,
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2185:34:13"
+ },
+ {
+ "assignments": [
+ 2441
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2441,
+ "mutability": "mutable",
+ "name": "lastTokenId",
+ "nameLocation": "2237:11:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2503,
+ "src": "2229:19:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2440,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2229:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2445,
+ "initialValue": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 2442,
+ "name": "_tokenIdCounter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2302,
+ "src": "2251:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter storage ref"
+ }
+ },
+ "id": 2443,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "current",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1962,
+ "src": "2251:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$1950_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$1950_storage_ptr_$",
+ "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)"
+ }
+ },
+ "id": 2444,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2251:25:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2229:47:13"
+ },
+ {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2448,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2446,
+ "name": "lastTokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2441,
+ "src": "2290:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2447,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2304:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "2290:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2500,
+ "nodeType": "IfStatement",
+ "src": "2286:456:13",
+ "trueBody": {
+ "id": 2499,
+ "nodeType": "Block",
+ "src": "2307:435:13",
+ "statements": [
+ {
+ "expression": {
+ "id": 2456,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2449,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2438,
+ "src": "2321:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory[] memory"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "arguments": [
+ {
+ "id": 2454,
+ "name": "lastTokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2441,
+ "src": "2355:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2453,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "NewExpression",
+ "src": "2333:21:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr_$",
+ "typeString": "function (uint256) pure returns (struct Nftzi.TokenInfoStruct memory[] memory)"
+ },
+ "typeName": {
+ "baseType": {
+ "id": 2451,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2450,
+ "name": "TokenInfoStruct",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2284,
+ "src": "2337:15:13"
+ },
+ "referencedDeclaration": 2284,
+ "src": "2337:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_TokenInfoStruct_$2284_storage_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct"
+ }
+ },
+ "id": 2452,
+ "nodeType": "ArrayTypeName",
+ "src": "2337:17:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_storage_$dyn_storage_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct[]"
+ }
+ }
+ },
+ "id": 2455,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2333:34:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory[] memory"
+ }
+ },
+ "src": "2321:46:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory[] memory"
+ }
+ },
+ "id": 2457,
+ "nodeType": "ExpressionStatement",
+ "src": "2321:46:13"
+ },
+ {
+ "body": {
+ "id": 2497,
+ "nodeType": "Block",
+ "src": "2420:312:13",
+ "statements": [
+ {
+ "expression": {
+ "id": 2495,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2468,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2438,
+ "src": "2438:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory[] memory"
+ }
+ },
+ "id": 2470,
+ "indexExpression": {
+ "id": 2469,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2448:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "2438:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_TokenInfoStruct_$2284_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "arguments": [
+ {
+ "id": 2472,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2488:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "baseExpression": {
+ "id": 2473,
+ "name": "_tokenURIs",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2309,
+ "src": "2509:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
+ "typeString": "mapping(uint256 => string storage ref)"
+ }
+ },
+ "id": 2475,
+ "indexExpression": {
+ "id": 2474,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2520:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2509:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ }
+ },
+ {
+ "baseExpression": {
+ "id": 2476,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "2542:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2478,
+ "indexExpression": {
+ "id": 2477,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2557:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2542:17:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "expression": {
+ "baseExpression": {
+ "id": 2479,
+ "name": "_rentedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2326,
+ "src": "2579:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct storage ref)"
+ }
+ },
+ "id": 2483,
+ "indexExpression": {
+ "baseExpression": {
+ "id": 2480,
+ "name": "_tokenToSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2330,
+ "src": "2589:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2482,
+ "indexExpression": {
+ "id": 2481,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2601:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2589:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2579:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "id": 2484,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "rentedAt",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2266,
+ "src": "2579:34:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "expression": {
+ "baseExpression": {
+ "id": 2485,
+ "name": "_rentedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2326,
+ "src": "2633:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct storage ref)"
+ }
+ },
+ "id": 2489,
+ "indexExpression": {
+ "baseExpression": {
+ "id": 2486,
+ "name": "_tokenToSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2330,
+ "src": "2643:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2488,
+ "indexExpression": {
+ "id": 2487,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2655:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2643:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2633:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "id": 2490,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "rentedBy",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2270,
+ "src": "2633:34:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "baseExpression": {
+ "id": 2491,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "2687:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2493,
+ "indexExpression": {
+ "id": 2492,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2697:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2687:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_string_storage",
+ "typeString": "string storage ref"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2471,
+ "name": "TokenInfoStruct",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2284,
+ "src": "2453:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_struct$_TokenInfoStruct_$2284_storage_ptr_$",
+ "typeString": "type(struct Nftzi.TokenInfoStruct storage pointer)"
+ }
+ },
+ "id": 2494,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "structConstructorCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2453:264:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_TokenInfoStruct_$2284_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory"
+ }
+ },
+ "src": "2438:279:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_TokenInfoStruct_$2284_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory"
+ }
+ },
+ "id": 2496,
+ "nodeType": "ExpressionStatement",
+ "src": "2438:279:13"
+ }
+ ]
+ },
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2464,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2462,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2398:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "<",
+ "rightExpression": {
+ "id": 2463,
+ "name": "lastTokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2441,
+ "src": "2402:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "2398:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2498,
+ "initializationExpression": {
+ "assignments": [
+ 2459
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2459,
+ "mutability": "mutable",
+ "name": "i",
+ "nameLocation": "2391:1:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2498,
+ "src": "2386:6:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2458,
+ "name": "uint",
+ "nodeType": "ElementaryTypeName",
+ "src": "2386:4:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2461,
+ "initialValue": {
+ "hexValue": "31",
+ "id": 2460,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2395:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2386:10:13"
+ },
+ "loopExpression": {
+ "expression": {
+ "id": 2466,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "++",
+ "prefix": false,
+ "src": "2415:3:13",
+ "subExpression": {
+ "id": 2465,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2459,
+ "src": "2415:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2467,
+ "nodeType": "ExpressionStatement",
+ "src": "2415:3:13"
+ },
+ "nodeType": "ForStatement",
+ "src": "2381:351:13"
+ }
+ ]
+ }
+ },
+ {
+ "expression": {
+ "id": 2501,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2438,
+ "src": "2758:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct memory[] memory"
+ }
+ },
+ "functionReturnParameters": 2433,
+ "id": 2502,
+ "nodeType": "Return",
+ "src": "2751:16:13"
+ }
+ ]
+ },
+ "functionSelector": "e79c28fe",
+ "id": 2504,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "tokensInfo",
+ "nameLocation": "2116:10:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2428,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2126:2:13"
+ },
+ "returnParameters": {
+ "id": 2433,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2432,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2504,
+ "src": "2149:24:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_memory_ptr_$dyn_memory_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct[]"
+ },
+ "typeName": {
+ "baseType": {
+ "id": 2430,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2429,
+ "name": "TokenInfoStruct",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2284,
+ "src": "2149:15:13"
+ },
+ "referencedDeclaration": 2284,
+ "src": "2149:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_TokenInfoStruct_$2284_storage_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct"
+ }
+ },
+ "id": 2431,
+ "nodeType": "ArrayTypeName",
+ "src": "2149:17:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_struct$_TokenInfoStruct_$2284_storage_$dyn_storage_ptr",
+ "typeString": "struct Nftzi.TokenInfoStruct[]"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2148:26:13"
+ },
+ "scope": 2919,
+ "src": "2107:667:13",
+ "stateMutability": "view",
+ "virtual": false,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 2600,
+ "nodeType": "Block",
+ "src": "2818:656:13",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 2511,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2506,
+ "src": "2844:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2510,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "2836:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 2512,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2836:16:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a2072656e7420717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 2513,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "2854:42:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7",
+ "typeString": "literal_string \"ERC721: rent query for nonexistent token\""
+ },
+ "value": "ERC721: rent query for nonexistent token"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7",
+ "typeString": "literal_string \"ERC721: rent query for nonexistent token\""
+ }
+ ],
+ "id": 2509,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "2828:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 2514,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2828:69:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2515,
+ "nodeType": "ExpressionStatement",
+ "src": "2828:69:13"
+ },
+ {
+ "assignments": [
+ 2518
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2518,
+ "mutability": "mutable",
+ "name": "token",
+ "nameLocation": "2914:5:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2600,
+ "src": "2908:11:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ },
+ "typeName": {
+ "id": 2517,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2516,
+ "name": "ERC20",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 545,
+ "src": "2908:5:13"
+ },
+ "referencedDeclaration": 545,
+ "src": "2908:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2524,
+ "initialValue": {
+ "arguments": [
+ {
+ "baseExpression": {
+ "id": 2520,
+ "name": "_tokenCurrencies",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2321,
+ "src": "2928:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2522,
+ "indexExpression": {
+ "id": 2521,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2506,
+ "src": "2945:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "2928:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 2519,
+ "name": "ERC20",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 545,
+ "src": "2922:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC20_$545_$",
+ "typeString": "type(contract ERC20)"
+ }
+ },
+ "id": 2523,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2922:32:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "2908:46:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2532,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "arguments": [
+ {
+ "expression": {
+ "id": 2528,
+ "name": "msg",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967281,
+ "src": "2988:3:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_message",
+ "typeString": "msg"
+ }
+ },
+ "id": 2529,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "sender",
+ "nodeType": "MemberAccess",
+ "src": "2988:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "expression": {
+ "id": 2526,
+ "name": "token",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2518,
+ "src": "2972:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "id": 2527,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "balanceOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 98,
+ "src": "2972:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
+ "typeString": "function (address) view external returns (uint256)"
+ }
+ },
+ "id": 2530,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2972:27:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 2531,
+ "name": "rentPriceCelo",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2291,
+ "src": "3003:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "2972:44:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ ],
+ "id": 2525,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "2964:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
+ "typeString": "function (bool) pure"
+ }
+ },
+ "id": 2533,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "2964:53:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2534,
+ "nodeType": "ExpressionStatement",
+ "src": "2964:53:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "expression": {
+ "id": 2538,
+ "name": "msg",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967281,
+ "src": "3046:3:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_message",
+ "typeString": "msg"
+ }
+ },
+ "id": 2539,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "sender",
+ "nodeType": "MemberAccess",
+ "src": "3046:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "arguments": [
+ {
+ "id": 2542,
+ "name": "this",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967268,
+ "src": "3066:4:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Nftzi_$2919",
+ "typeString": "contract Nftzi"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_contract$_Nftzi_$2919",
+ "typeString": "contract Nftzi"
+ }
+ ],
+ "id": 2541,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "3058:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 2540,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "3058:7:13",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2543,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3058:13:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 2544,
+ "name": "rentPriceCelo",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2291,
+ "src": "3073:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 2535,
+ "name": "token",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2518,
+ "src": "3027:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "id": 2537,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "transferFrom",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 206,
+ "src": "3027:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (address,address,uint256) external returns (bool)"
+ }
+ },
+ "id": 2545,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3027:60:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2546,
+ "nodeType": "ExpressionStatement",
+ "src": "3027:60:13"
+ },
+ {
+ "expression": {
+ "id": 2553,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2547,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "3098:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2549,
+ "indexExpression": {
+ "id": 2548,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2506,
+ "src": "3108:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "3098:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "+=",
+ "rightHandSide": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2552,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2550,
+ "name": "rentPriceCelo",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2291,
+ "src": "3120:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "id": 2551,
+ "name": "_comission",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2294,
+ "src": "3136:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "3120:26:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "3098:48:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2554,
+ "nodeType": "ExpressionStatement",
+ "src": "3098:48:13"
+ },
+ {
+ "assignments": [
+ 2556
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2556,
+ "mutability": "mutable",
+ "name": "currentSeq",
+ "nameLocation": "3164:10:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2600,
+ "src": "3156:18:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2555,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3156:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2560,
+ "initialValue": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 2557,
+ "name": "_seqCounter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2305,
+ "src": "3177:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter storage ref"
+ }
+ },
+ "id": 2558,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "current",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1962,
+ "src": "3177:19:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$1950_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$1950_storage_ptr_$",
+ "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)"
+ }
+ },
+ "id": 2559,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3177:21:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "3156:42:13"
+ },
+ {
+ "expression": {
+ "id": 2571,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2561,
+ "name": "_rentedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2326,
+ "src": "3208:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct storage ref)"
+ }
+ },
+ "id": 2563,
+ "indexExpression": {
+ "id": 2562,
+ "name": "currentSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2556,
+ "src": "3218:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "3208:21:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "arguments": [
+ {
+ "expression": {
+ "id": 2565,
+ "name": "block",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967292,
+ "src": "3245:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_block",
+ "typeString": "block"
+ }
+ },
+ "id": 2566,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "timestamp",
+ "nodeType": "MemberAccess",
+ "src": "3245:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "id": 2567,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2506,
+ "src": "3262:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "expression": {
+ "id": 2568,
+ "name": "msg",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967281,
+ "src": "3271:3:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_message",
+ "typeString": "msg"
+ }
+ },
+ "id": 2569,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "sender",
+ "nodeType": "MemberAccess",
+ "src": "3271:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 2564,
+ "name": "RentalStruct",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2271,
+ "src": "3232:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_struct$_RentalStruct_$2271_storage_ptr_$",
+ "typeString": "type(struct Nftzi.RentalStruct storage pointer)"
+ }
+ },
+ "id": 2570,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "structConstructorCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3232:50:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_memory_ptr",
+ "typeString": "struct Nftzi.RentalStruct memory"
+ }
+ },
+ "src": "3208:74:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "id": 2572,
+ "nodeType": "ExpressionStatement",
+ "src": "3208:74:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "baseExpression": {
+ "id": 2574,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "3306:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2576,
+ "indexExpression": {
+ "id": 2575,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2506,
+ "src": "3321:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "3306:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "expression": {
+ "id": 2577,
+ "name": "msg",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967281,
+ "src": "3331:3:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_message",
+ "typeString": "msg"
+ }
+ },
+ "id": 2578,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "sender",
+ "nodeType": "MemberAccess",
+ "src": "3331:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 2579,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2506,
+ "src": "3343:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "hexValue": "",
+ "id": 2580,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3352:2:13",
+ "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": 2573,
+ "name": "_safeTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1086,
+ "src": "3292:13:13",
+ "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": 2581,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3292:63:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2582,
+ "nodeType": "ExpressionStatement",
+ "src": "3292:63:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 2586,
+ "name": "currentSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2556,
+ "src": "3380:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 2583,
+ "name": "rentedSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2299,
+ "src": "3365:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
+ "typeString": "uint256[] storage ref"
+ }
+ },
+ "id": 2585,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "push",
+ "nodeType": "MemberAccess",
+ "src": "3365:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$",
+ "typeString": "function (uint256[] storage pointer,uint256)"
+ }
+ },
+ "id": 2587,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3365:26:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2588,
+ "nodeType": "ExpressionStatement",
+ "src": "3365:26:13"
+ },
+ {
+ "expression": {
+ "id": 2593,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2589,
+ "name": "_tokenToSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2330,
+ "src": "3401:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2591,
+ "indexExpression": {
+ "id": 2590,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2506,
+ "src": "3413:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "3401:20:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 2592,
+ "name": "currentSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2556,
+ "src": "3424:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "3401:33:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2594,
+ "nodeType": "ExpressionStatement",
+ "src": "3401:33:13"
+ },
+ {
+ "expression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 2595,
+ "name": "_seqCounter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2305,
+ "src": "3444:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter storage ref"
+ }
+ },
+ "id": 2597,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "increment",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1976,
+ "src": "3444:21:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$1950_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$1950_storage_ptr_$",
+ "typeString": "function (struct Counters.Counter storage pointer)"
+ }
+ },
+ "id": 2598,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3444:23:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2599,
+ "nodeType": "ExpressionStatement",
+ "src": "3444:23:13"
+ }
+ ]
+ },
+ "functionSelector": "7456be7d",
+ "id": 2601,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "rent",
+ "nameLocation": "2789:4:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2507,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2506,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "2802:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2601,
+ "src": "2794:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2505,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "2794:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "2793:17:13"
+ },
+ "returnParameters": {
+ "id": 2508,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "2818:0:13"
+ },
+ "scope": 2919,
+ "src": "2780:694:13",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 2612,
+ "nodeType": "Block",
+ "src": "3514:68:13",
+ "statements": [
+ {
+ "expression": {
+ "id": 2607,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2604,
+ "name": "_lastRun",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2296,
+ "src": "3524:8:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "expression": {
+ "id": 2605,
+ "name": "block",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967292,
+ "src": "3535:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_block",
+ "typeString": "block"
+ }
+ },
+ "id": 2606,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "timestamp",
+ "nodeType": "MemberAccess",
+ "src": "3535:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "3524:26:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2608,
+ "nodeType": "ExpressionStatement",
+ "src": "3524:26:13"
+ },
+ {
+ "expression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 2609,
+ "name": "_checkReturns",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2724,
+ "src": "3560:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
+ "typeString": "function ()"
+ }
+ },
+ "id": 2610,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3560:15:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2611,
+ "nodeType": "ExpressionStatement",
+ "src": "3560:15:13"
+ }
+ ]
+ },
+ "id": 2613,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_tick",
+ "nameLocation": "3489:5:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2602,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3494:2:13"
+ },
+ "returnParameters": {
+ "id": 2603,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3514:0:13"
+ },
+ "scope": 2919,
+ "src": "3480:102:13",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2723,
+ "nodeType": "Block",
+ "src": "3630:767:13",
+ "statements": [
+ {
+ "assignments": [
+ 2620
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2620,
+ "mutability": "mutable",
+ "name": "_toReturn",
+ "nameLocation": "3657:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2723,
+ "src": "3640:26:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[]"
+ },
+ "typeName": {
+ "baseType": {
+ "id": 2618,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3640:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2619,
+ "nodeType": "ArrayTypeName",
+ "src": "3640:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
+ "typeString": "uint256[]"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2627,
+ "initialValue": {
+ "arguments": [
+ {
+ "expression": {
+ "id": 2624,
+ "name": "rentedSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2299,
+ "src": "3683:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
+ "typeString": "uint256[] storage ref"
+ }
+ },
+ "id": 2625,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "src": "3683:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2623,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "NewExpression",
+ "src": "3669:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$",
+ "typeString": "function (uint256) pure returns (uint256[] memory)"
+ },
+ "typeName": {
+ "baseType": {
+ "id": 2621,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "3673:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2622,
+ "nodeType": "ArrayTypeName",
+ "src": "3673:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
+ "typeString": "uint256[]"
+ }
+ }
+ },
+ "id": 2626,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "3669:31:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[] memory"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "3640:60:13"
+ },
+ {
+ "body": {
+ "id": 2666,
+ "nodeType": "Block",
+ "src": "3755:244:13",
+ "statements": [
+ {
+ "assignments": [
+ 2641
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2641,
+ "mutability": "mutable",
+ "name": "_rentInfo",
+ "nameLocation": "3789:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2666,
+ "src": "3769:29:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_memory_ptr",
+ "typeString": "struct Nftzi.RentalStruct"
+ },
+ "typeName": {
+ "id": 2640,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2639,
+ "name": "RentalStruct",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2271,
+ "src": "3769:12:13"
+ },
+ "referencedDeclaration": 2271,
+ "src": "3769:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage_ptr",
+ "typeString": "struct Nftzi.RentalStruct"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2647,
+ "initialValue": {
+ "baseExpression": {
+ "id": 2642,
+ "name": "_rentedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2326,
+ "src": "3801:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct storage ref)"
+ }
+ },
+ "id": 2646,
+ "indexExpression": {
+ "baseExpression": {
+ "id": 2643,
+ "name": "rentedSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2299,
+ "src": "3811:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
+ "typeString": "uint256[] storage ref"
+ }
+ },
+ "id": 2645,
+ "indexExpression": {
+ "id": 2644,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2629,
+ "src": "3821:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "3811:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "3801:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "3769:55:13"
+ },
+ {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2653,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2651,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2648,
+ "name": "_lastRun",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2296,
+ "src": "3842:8:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "expression": {
+ "id": 2649,
+ "name": "_rentInfo",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2641,
+ "src": "3853:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_memory_ptr",
+ "typeString": "struct Nftzi.RentalStruct memory"
+ }
+ },
+ "id": 2650,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "rentedAt",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2266,
+ "src": "3853:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "3842:29:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "<",
+ "rightExpression": {
+ "hexValue": "31",
+ "id": 2652,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3874:9:13",
+ "subdenomination": "minutes",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_60_by_1",
+ "typeString": "int_const 60"
+ },
+ "value": "1"
+ },
+ "src": "3842:41:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "falseBody": {
+ "id": 2664,
+ "nodeType": "Block",
+ "src": "3929:60:13",
+ "statements": [
+ {
+ "expression": {
+ "id": 2662,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2656,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2620,
+ "src": "3947:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[] memory"
+ }
+ },
+ "id": 2658,
+ "indexExpression": {
+ "id": 2657,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2629,
+ "src": "3957:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "3947:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "baseExpression": {
+ "id": 2659,
+ "name": "rentedSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2299,
+ "src": "3962:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
+ "typeString": "uint256[] storage ref"
+ }
+ },
+ "id": 2661,
+ "indexExpression": {
+ "id": 2660,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2629,
+ "src": "3972:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "3962:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "3947:27:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2663,
+ "nodeType": "ExpressionStatement",
+ "src": "3947:27:13"
+ }
+ ]
+ },
+ "id": 2665,
+ "nodeType": "IfStatement",
+ "src": "3838:151:13",
+ "trueBody": {
+ "id": 2655,
+ "nodeType": "Block",
+ "src": "3885:38:13",
+ "statements": [
+ {
+ "id": 2654,
+ "nodeType": "Break",
+ "src": "3903:5:13"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2635,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2632,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2629,
+ "src": "3727:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "<",
+ "rightExpression": {
+ "expression": {
+ "id": 2633,
+ "name": "rentedSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2299,
+ "src": "3731:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
+ "typeString": "uint256[] storage ref"
+ }
+ },
+ "id": 2634,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "src": "3731:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "3727:20:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2667,
+ "initializationExpression": {
+ "assignments": [
+ 2629
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2629,
+ "mutability": "mutable",
+ "name": "i",
+ "nameLocation": "3720:1:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2667,
+ "src": "3715:6:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2628,
+ "name": "uint",
+ "nodeType": "ElementaryTypeName",
+ "src": "3715:4:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2631,
+ "initialValue": {
+ "hexValue": "30",
+ "id": 2630,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "3724:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "3715:10:13"
+ },
+ "loopExpression": {
+ "expression": {
+ "id": 2637,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "++",
+ "prefix": false,
+ "src": "3750:3:13",
+ "subExpression": {
+ "id": 2636,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2629,
+ "src": "3750:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2638,
+ "nodeType": "ExpressionStatement",
+ "src": "3750:3:13"
+ },
+ "nodeType": "ForStatement",
+ "src": "3710:289:13"
+ },
+ {
+ "body": {
+ "id": 2721,
+ "nodeType": "Block",
+ "src": "4052:339:13",
+ "statements": [
+ {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2683,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "baseExpression": {
+ "id": 2679,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2620,
+ "src": "4070:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[] memory"
+ }
+ },
+ "id": 2681,
+ "indexExpression": {
+ "id": 2680,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2669,
+ "src": "4080:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4070:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2682,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4085:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "4070:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2720,
+ "nodeType": "IfStatement",
+ "src": "4066:315:13",
+ "trueBody": {
+ "id": 2719,
+ "nodeType": "Block",
+ "src": "4088:293:13",
+ "statements": [
+ {
+ "assignments": [
+ 2686
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2686,
+ "mutability": "mutable",
+ "name": "_rentInfo",
+ "nameLocation": "4126:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2719,
+ "src": "4106:29:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_memory_ptr",
+ "typeString": "struct Nftzi.RentalStruct"
+ },
+ "typeName": {
+ "id": 2685,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2684,
+ "name": "RentalStruct",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 2271,
+ "src": "4106:12:13"
+ },
+ "referencedDeclaration": 2271,
+ "src": "4106:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage_ptr",
+ "typeString": "struct Nftzi.RentalStruct"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2692,
+ "initialValue": {
+ "baseExpression": {
+ "id": 2687,
+ "name": "_rentedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2326,
+ "src": "4138:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct storage ref)"
+ }
+ },
+ "id": 2691,
+ "indexExpression": {
+ "baseExpression": {
+ "id": 2688,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2620,
+ "src": "4148:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[] memory"
+ }
+ },
+ "id": 2690,
+ "indexExpression": {
+ "id": 2689,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2669,
+ "src": "4158:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4148:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4138:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "4106:55:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "expression": {
+ "id": 2694,
+ "name": "_rentInfo",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2686,
+ "src": "4193:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_memory_ptr",
+ "typeString": "struct Nftzi.RentalStruct memory"
+ }
+ },
+ "id": 2695,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "tokenId",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2268,
+ "src": "4193:17:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "expression": {
+ "id": 2696,
+ "name": "_rentInfo",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2686,
+ "src": "4212:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_memory_ptr",
+ "typeString": "struct Nftzi.RentalStruct memory"
+ }
+ },
+ "id": 2697,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "rentedBy",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2270,
+ "src": "4212:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 2693,
+ "name": "_returnRented",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2783,
+ "src": "4179:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$returns$__$",
+ "typeString": "function (uint256,address)"
+ }
+ },
+ "id": 2698,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4179:52:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2699,
+ "nodeType": "ExpressionStatement",
+ "src": "4179:52:13"
+ },
+ {
+ "expression": {
+ "id": 2705,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "delete",
+ "prefix": true,
+ "src": "4249:30:13",
+ "subExpression": {
+ "baseExpression": {
+ "id": 2700,
+ "name": "_rentedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2326,
+ "src": "4256:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct storage ref)"
+ }
+ },
+ "id": 2704,
+ "indexExpression": {
+ "baseExpression": {
+ "id": 2701,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2620,
+ "src": "4266:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[] memory"
+ }
+ },
+ "id": 2703,
+ "indexExpression": {
+ "id": 2702,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2669,
+ "src": "4276:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4266:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "4256:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2706,
+ "nodeType": "ExpressionStatement",
+ "src": "4249:30:13"
+ },
+ {
+ "expression": {
+ "id": 2710,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "delete",
+ "prefix": true,
+ "src": "4297:19:13",
+ "subExpression": {
+ "baseExpression": {
+ "id": 2707,
+ "name": "rentedSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2299,
+ "src": "4304:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
+ "typeString": "uint256[] storage ref"
+ }
+ },
+ "id": 2709,
+ "indexExpression": {
+ "hexValue": "30",
+ "id": 2708,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4314:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "4304:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2711,
+ "nodeType": "ExpressionStatement",
+ "src": "4297:19:13"
+ },
+ {
+ "expression": {
+ "id": 2717,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "delete",
+ "prefix": true,
+ "src": "4334:32:13",
+ "subExpression": {
+ "baseExpression": {
+ "id": 2712,
+ "name": "_tokenToSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2330,
+ "src": "4341:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2716,
+ "indexExpression": {
+ "baseExpression": {
+ "id": 2713,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2620,
+ "src": "4353:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[] memory"
+ }
+ },
+ "id": 2715,
+ "indexExpression": {
+ "id": 2714,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2669,
+ "src": "4363:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4353:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "4341:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2718,
+ "nodeType": "ExpressionStatement",
+ "src": "4334:32:13"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2675,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2672,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2669,
+ "src": "4025:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "<",
+ "rightExpression": {
+ "expression": {
+ "id": 2673,
+ "name": "_toReturn",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2620,
+ "src": "4029:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
+ "typeString": "uint256[] memory"
+ }
+ },
+ "id": 2674,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "length",
+ "nodeType": "MemberAccess",
+ "src": "4029:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "4025:20:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2722,
+ "initializationExpression": {
+ "assignments": [
+ 2669
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2669,
+ "mutability": "mutable",
+ "name": "i",
+ "nameLocation": "4018:1:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2722,
+ "src": "4013:6:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2668,
+ "name": "uint",
+ "nodeType": "ElementaryTypeName",
+ "src": "4013:4:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2671,
+ "initialValue": {
+ "hexValue": "30",
+ "id": 2670,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4022:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "4013:10:13"
+ },
+ "loopExpression": {
+ "expression": {
+ "id": 2677,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "++",
+ "prefix": false,
+ "src": "4047:3:13",
+ "subExpression": {
+ "id": 2676,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2669,
+ "src": "4047:1:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2678,
+ "nodeType": "ExpressionStatement",
+ "src": "4047:3:13"
+ },
+ "nodeType": "ForStatement",
+ "src": "4008:383:13"
+ }
+ ]
+ },
+ "id": 2724,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_checkReturns",
+ "nameLocation": "3597:13:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2614,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3610:2:13"
+ },
+ "returnParameters": {
+ "id": 2615,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "3630:0:13"
+ },
+ "scope": 2919,
+ "src": "3588:809:13",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2782,
+ "nodeType": "Block",
+ "src": "4478:326:13",
+ "statements": [
+ {
+ "assignments": [
+ 2733
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2733,
+ "mutability": "mutable",
+ "name": "token",
+ "nameLocation": "4494:5:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2782,
+ "src": "4488:11:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ },
+ "typeName": {
+ "id": 2732,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2731,
+ "name": "ERC20",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 545,
+ "src": "4488:5:13"
+ },
+ "referencedDeclaration": 545,
+ "src": "4488:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2739,
+ "initialValue": {
+ "arguments": [
+ {
+ "baseExpression": {
+ "id": 2735,
+ "name": "_tokenCurrencies",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2321,
+ "src": "4508:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2737,
+ "indexExpression": {
+ "id": 2736,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4525:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4508:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 2734,
+ "name": "ERC20",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 545,
+ "src": "4502:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC20_$545_$",
+ "typeString": "type(contract ERC20)"
+ }
+ },
+ "id": 2738,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4502:32:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "4488:46:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2751,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 2745,
+ "name": "this",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967268,
+ "src": "4576:4:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Nftzi_$2919",
+ "typeString": "contract Nftzi"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_contract$_Nftzi_$2919",
+ "typeString": "contract Nftzi"
+ }
+ ],
+ "id": 2744,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "4568:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 2743,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4568:7:13",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2746,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4568:13:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "expression": {
+ "id": 2741,
+ "name": "token",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2733,
+ "src": "4552:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "id": 2742,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "balanceOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 98,
+ "src": "4552:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
+ "typeString": "function (address) view external returns (uint256)"
+ }
+ },
+ "id": 2747,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4552:30:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "baseExpression": {
+ "id": 2748,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "4586:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2750,
+ "indexExpression": {
+ "id": 2749,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4596:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4586:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "4552:52:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ ],
+ "id": 2740,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4544:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
+ "typeString": "function (bool) pure"
+ }
+ },
+ "id": 2752,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4544:61:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2753,
+ "nodeType": "ExpressionStatement",
+ "src": "4544:61:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "baseExpression": {
+ "id": 2757,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "4630:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2759,
+ "indexExpression": {
+ "id": 2758,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4645:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4630:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "baseExpression": {
+ "id": 2760,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "4655:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2762,
+ "indexExpression": {
+ "id": 2761,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4665:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4655:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 2754,
+ "name": "token",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2733,
+ "src": "4615:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "id": 2756,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "transfer",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 119,
+ "src": "4615:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (address,uint256) external returns (bool)"
+ }
+ },
+ "id": 2763,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4615:59:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2764,
+ "nodeType": "ExpressionStatement",
+ "src": "4615:59:13"
+ },
+ {
+ "expression": {
+ "id": 2771,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2765,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "4685:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2767,
+ "indexExpression": {
+ "id": 2766,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4695:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "4685:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "-=",
+ "rightHandSide": {
+ "baseExpression": {
+ "id": 2768,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "4707:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2770,
+ "indexExpression": {
+ "id": 2769,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4717:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4707:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "4685:40:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2772,
+ "nodeType": "ExpressionStatement",
+ "src": "4685:40:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 2774,
+ "name": "rentedBy",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2728,
+ "src": "4750:8:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "baseExpression": {
+ "id": 2775,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "4760:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2777,
+ "indexExpression": {
+ "id": 2776,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4775:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4760:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 2778,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2726,
+ "src": "4785:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "hexValue": "",
+ "id": 2779,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4794:2:13",
+ "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": 2773,
+ "name": "_safeTransfer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1086,
+ "src": "4736:13:13",
+ "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": 2780,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4736:61:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2781,
+ "nodeType": "ExpressionStatement",
+ "src": "4736:61:13"
+ }
+ ]
+ },
+ "id": 2783,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "_returnRented",
+ "nameLocation": "4412:13:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2729,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2726,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "4434:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2783,
+ "src": "4426:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2725,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4426:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2728,
+ "mutability": "mutable",
+ "name": "rentedBy",
+ "nameLocation": "4451:8:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2783,
+ "src": "4443:16:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 2727,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "4443:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4425:35:13"
+ },
+ "returnParameters": {
+ "id": 2730,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "4478:0:13"
+ },
+ "scope": 2919,
+ "src": "4403:401:13",
+ "stateMutability": "nonpayable",
+ "virtual": true,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2871,
+ "nodeType": "Block",
+ "src": "4850:652:13",
+ "statements": [
+ {
+ "expression": {
+ "id": 2791,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2788,
+ "name": "_lastRun",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2296,
+ "src": "4860:8:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "expression": {
+ "id": 2789,
+ "name": "block",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967292,
+ "src": "4871:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_block",
+ "typeString": "block"
+ }
+ },
+ "id": 2790,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "timestamp",
+ "nodeType": "MemberAccess",
+ "src": "4871:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "4860:26:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2792,
+ "nodeType": "ExpressionStatement",
+ "src": "4860:26:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 2795,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2785,
+ "src": "4913:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2794,
+ "name": "_exists",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1104,
+ "src": "4905:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (uint256) view returns (bool)"
+ }
+ },
+ "id": 2796,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4905:16:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "4552433732313a2072656e7420717565727920666f72206e6f6e6578697374656e7420746f6b656e",
+ "id": 2797,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "4923:42:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7",
+ "typeString": "literal_string \"ERC721: rent query for nonexistent token\""
+ },
+ "value": "ERC721: rent query for nonexistent token"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_319a2a6559ded30e72fc72944aa806e6f56fdf0bfb9d5f9d0f63cf4e1c5da5d7",
+ "typeString": "literal_string \"ERC721: rent query for nonexistent token\""
+ }
+ ],
+ "id": 2793,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4897:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 2798,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4897:69:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2799,
+ "nodeType": "ExpressionStatement",
+ "src": "4897:69:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "id": 2806,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "expression": {
+ "id": 2801,
+ "name": "msg",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967281,
+ "src": "4984:3:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_magic_message",
+ "typeString": "msg"
+ }
+ },
+ "id": 2802,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "sender",
+ "nodeType": "MemberAccess",
+ "src": "4984:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "baseExpression": {
+ "id": 2803,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "4998:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2805,
+ "indexExpression": {
+ "id": 2804,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2785,
+ "src": "5013:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "4998:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "4984:37:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "52656465656d3a2063616c6c6572206973206e6f74207468652063726561746f72",
+ "id": 2807,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5023:35:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_8d026af6d3fcb97b10c188f1f15abf5d88ea4477d3e06968711ba90108e018d3",
+ "typeString": "literal_string \"Redeem: caller is not the creator\""
+ },
+ "value": "Redeem: caller is not the creator"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_8d026af6d3fcb97b10c188f1f15abf5d88ea4477d3e06968711ba90108e018d3",
+ "typeString": "literal_string \"Redeem: caller is not the creator\""
+ }
+ ],
+ "id": 2800,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "4976:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 2808,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "4976:83:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2809,
+ "nodeType": "ExpressionStatement",
+ "src": "4976:83:13"
+ },
+ {
+ "assignments": [
+ 2811
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2811,
+ "mutability": "mutable",
+ "name": "_toRedeemPart",
+ "nameLocation": "5078:13:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2871,
+ "src": "5070:21:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2810,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5070:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2817,
+ "initialValue": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2816,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "baseExpression": {
+ "id": 2812,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "5094:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2814,
+ "indexExpression": {
+ "id": 2813,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2785,
+ "src": "5104:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5094:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "/",
+ "rightExpression": {
+ "hexValue": "31",
+ "id": 2815,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "5115:9:13",
+ "subdenomination": "minutes",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_60_by_1",
+ "typeString": "int_const 60"
+ },
+ "value": "1"
+ },
+ "src": "5094:30:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "5070:54:13"
+ },
+ {
+ "assignments": [
+ 2819
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2819,
+ "mutability": "mutable",
+ "name": "_toRedeemSeconds",
+ "nameLocation": "5142:16:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2871,
+ "src": "5134:24:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2818,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5134:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2828,
+ "initialValue": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2827,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2820,
+ "name": "_lastRun",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2296,
+ "src": "5161:8:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "-",
+ "rightExpression": {
+ "expression": {
+ "baseExpression": {
+ "id": 2821,
+ "name": "_rentedAt",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2326,
+ "src": "5172:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_RentalStruct_$2271_storage_$",
+ "typeString": "mapping(uint256 => struct Nftzi.RentalStruct storage ref)"
+ }
+ },
+ "id": 2825,
+ "indexExpression": {
+ "baseExpression": {
+ "id": 2822,
+ "name": "_tokenToSeq",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2330,
+ "src": "5182:11:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2824,
+ "indexExpression": {
+ "id": 2823,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2785,
+ "src": "5194:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5182:20:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5172:31:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_RentalStruct_$2271_storage",
+ "typeString": "struct Nftzi.RentalStruct storage ref"
+ }
+ },
+ "id": 2826,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "rentedAt",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 2266,
+ "src": "5172:40:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "5161:51:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "5134:78:13"
+ },
+ {
+ "assignments": [
+ 2830
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2830,
+ "mutability": "mutable",
+ "name": "_toRedeem",
+ "nameLocation": "5230:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2871,
+ "src": "5222:17:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2829,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5222:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2834,
+ "initialValue": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2833,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2831,
+ "name": "_toRedeemPart",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2811,
+ "src": "5242:13:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "*",
+ "rightExpression": {
+ "id": 2832,
+ "name": "_toRedeemSeconds",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2819,
+ "src": "5258:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "5242:32:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "5222:52:13"
+ },
+ {
+ "assignments": [
+ 2837
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2837,
+ "mutability": "mutable",
+ "name": "token",
+ "nameLocation": "5291:5:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2871,
+ "src": "5285:11:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ },
+ "typeName": {
+ "id": 2836,
+ "nodeType": "UserDefinedTypeName",
+ "pathNode": {
+ "id": 2835,
+ "name": "ERC20",
+ "nodeType": "IdentifierPath",
+ "referencedDeclaration": 545,
+ "src": "5285:5:13"
+ },
+ "referencedDeclaration": 545,
+ "src": "5285:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2843,
+ "initialValue": {
+ "arguments": [
+ {
+ "baseExpression": {
+ "id": 2839,
+ "name": "_tokenCurrencies",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2321,
+ "src": "5305:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2841,
+ "indexExpression": {
+ "id": 2840,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2785,
+ "src": "5322:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5305:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "id": 2838,
+ "name": "ERC20",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 545,
+ "src": "5299:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_contract$_ERC20_$545_$",
+ "typeString": "type(contract ERC20)"
+ }
+ },
+ "id": 2842,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5299:32:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "5285:46:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2853,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "id": 2849,
+ "name": "this",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 4294967268,
+ "src": "5373:4:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_Nftzi_$2919",
+ "typeString": "contract Nftzi"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_contract$_Nftzi_$2919",
+ "typeString": "contract Nftzi"
+ }
+ ],
+ "id": 2848,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "5365:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_address_$",
+ "typeString": "type(address)"
+ },
+ "typeName": {
+ "id": 2847,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5365:7:13",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2850,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5365:13:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ ],
+ "expression": {
+ "id": 2845,
+ "name": "token",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2837,
+ "src": "5349:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "id": 2846,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "balanceOf",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 98,
+ "src": "5349:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
+ "typeString": "function (address) view external returns (uint256)"
+ }
+ },
+ "id": 2851,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5349:30:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">=",
+ "rightExpression": {
+ "id": 2852,
+ "name": "_toRedeem",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2830,
+ "src": "5383:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "5349:43:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ ],
+ "id": 2844,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "5341:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
+ "typeString": "function (bool) pure"
+ }
+ },
+ "id": 2854,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5341:52:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2855,
+ "nodeType": "ExpressionStatement",
+ "src": "5341:52:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "baseExpression": {
+ "id": 2859,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "5419:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2861,
+ "indexExpression": {
+ "id": 2860,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2785,
+ "src": "5434:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "5419:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 2862,
+ "name": "_toRedeem",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2830,
+ "src": "5444:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "expression": {
+ "id": 2856,
+ "name": "token",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2837,
+ "src": "5404:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_contract$_ERC20_$545",
+ "typeString": "contract ERC20"
+ }
+ },
+ "id": 2858,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "transfer",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 119,
+ "src": "5404:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
+ "typeString": "function (address,uint256) external returns (bool)"
+ }
+ },
+ "id": 2863,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5404:50:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2864,
+ "nodeType": "ExpressionStatement",
+ "src": "5404:50:13"
+ },
+ {
+ "expression": {
+ "id": 2869,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2865,
+ "name": "_balances",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2317,
+ "src": "5464:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$",
+ "typeString": "mapping(uint256 => uint256)"
+ }
+ },
+ "id": 2867,
+ "indexExpression": {
+ "id": 2866,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2785,
+ "src": "5474:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "5464:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "-=",
+ "rightHandSide": {
+ "id": 2868,
+ "name": "_toRedeem",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2830,
+ "src": "5486:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "5464:31:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2870,
+ "nodeType": "ExpressionStatement",
+ "src": "5464:31:13"
+ }
+ ]
+ },
+ "functionSelector": "db006a75",
+ "id": 2872,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "redeem",
+ "nameLocation": "4819:6:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2786,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2785,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "4834:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2872,
+ "src": "4826:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2784,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "4826:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "4825:17:13"
+ },
+ "returnParameters": {
+ "id": 2787,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "4850:0:13"
+ },
+ "scope": 2919,
+ "src": "4810:692:13",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "public"
+ },
+ {
+ "body": {
+ "id": 2917,
+ "nodeType": "Block",
+ "src": "5588:302:13",
+ "statements": [
+ {
+ "expression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 2879,
+ "name": "_tick",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2613,
+ "src": "5598:5:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
+ "typeString": "function ()"
+ }
+ },
+ "id": 2880,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5598:7:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2881,
+ "nodeType": "ExpressionStatement",
+ "src": "5598:7:13"
+ },
+ {
+ "assignments": [
+ 2883
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2883,
+ "mutability": "mutable",
+ "name": "tokenId",
+ "nameLocation": "5623:7:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2917,
+ "src": "5615:15:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2882,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "5615:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2887,
+ "initialValue": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 2884,
+ "name": "_tokenIdCounter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2302,
+ "src": "5633:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter storage ref"
+ }
+ },
+ "id": 2885,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "current",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1962,
+ "src": "5633:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$1950_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$1950_storage_ptr_$",
+ "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)"
+ }
+ },
+ "id": 2886,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5633:25:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "5615:43:13"
+ },
+ {
+ "expression": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "expression": {
+ "id": 2888,
+ "name": "_tokenIdCounter",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2302,
+ "src": "5668:15:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_struct$_Counter_$1950_storage",
+ "typeString": "struct Counters.Counter storage ref"
+ }
+ },
+ "id": 2890,
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": false,
+ "memberName": "increment",
+ "nodeType": "MemberAccess",
+ "referencedDeclaration": 1976,
+ "src": "5668:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$1950_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$1950_storage_ptr_$",
+ "typeString": "function (struct Counters.Counter storage pointer)"
+ }
+ },
+ "id": 2891,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5668:27:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2892,
+ "nodeType": "ExpressionStatement",
+ "src": "5668:27:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 2894,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "5715:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 2895,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5715:12:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ {
+ "id": 2896,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2883,
+ "src": "5729:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2893,
+ "name": "_safeMint",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 1160,
+ 1189
+ ],
+ "referencedDeclaration": 1160,
+ "src": "5705:9:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
+ "typeString": "function (address,uint256)"
+ }
+ },
+ "id": 2897,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5705:32:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2898,
+ "nodeType": "ExpressionStatement",
+ "src": "5705:32:13"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 2900,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2883,
+ "src": "5760:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "id": 2901,
+ "name": "_tokenURI",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2874,
+ "src": "5769:9: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": 2899,
+ "name": "_setTokenURI",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2403,
+ "src": "5747:12:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (uint256,string memory)"
+ }
+ },
+ "id": 2902,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5747:32:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2903,
+ "nodeType": "ExpressionStatement",
+ "src": "5747:32:13"
+ },
+ {
+ "expression": {
+ "id": 2909,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2904,
+ "name": "_tokenCreators",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2313,
+ "src": "5789:14:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2906,
+ "indexExpression": {
+ "id": 2905,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2883,
+ "src": "5804:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "5789:23:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "arguments": [],
+ "expression": {
+ "argumentTypes": [],
+ "id": 2907,
+ "name": "_msgSender",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 1934,
+ "src": "5815:10:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
+ "typeString": "function () view returns (address)"
+ }
+ },
+ "id": 2908,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "5815:12:13",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "5789:38:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 2910,
+ "nodeType": "ExpressionStatement",
+ "src": "5789:38:13"
+ },
+ {
+ "expression": {
+ "id": 2915,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2911,
+ "name": "_tokenCurrencies",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2321,
+ "src": "5837:16:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$",
+ "typeString": "mapping(uint256 => address)"
+ }
+ },
+ "id": 2913,
+ "indexExpression": {
+ "id": 2912,
+ "name": "tokenId",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2883,
+ "src": "5854:7:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "5837:25:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "id": 2914,
+ "name": "rent_token_address",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2876,
+ "src": "5865:18:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "src": "5837:46:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "id": 2916,
+ "nodeType": "ExpressionStatement",
+ "src": "5837:46:13"
+ }
+ ]
+ },
+ "functionSelector": "c6f05771",
+ "id": 2918,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "safeMint",
+ "nameLocation": "5517:8:13",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2877,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2874,
+ "mutability": "mutable",
+ "name": "_tokenURI",
+ "nameLocation": "5540:9:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2918,
+ "src": "5526:23:13",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2873,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "5526:6:13",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2876,
+ "mutability": "mutable",
+ "name": "rent_token_address",
+ "nameLocation": "5559:18:13",
+ "nodeType": "VariableDeclaration",
+ "scope": 2918,
+ "src": "5551:26:13",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ },
+ "typeName": {
+ "id": 2875,
+ "name": "address",
+ "nodeType": "ElementaryTypeName",
+ "src": "5551:7:13",
+ "stateMutability": "nonpayable",
+ "typeDescriptions": {
+ "typeIdentifier": "t_address",
+ "typeString": "address"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "5525:53:13"
+ },
+ "returnParameters": {
+ "id": 2878,
+ "nodeType": "ParameterList",
+ "parameters": [],
+ "src": "5588:0:13"
+ },
+ "scope": 2919,
+ "src": "5508:382:13",
+ "stateMutability": "nonpayable",
+ "virtual": false,
+ "visibility": "external"
+ }
+ ],
+ "scope": 2920,
+ "src": "225:5667:13",
+ "usedErrors": []
+ }
+ ],
+ "src": "32:5861:13"
+ },
+ "compiler": {
+ "name": "solc",
+ "version": "0.8.10+commit.fc410830.Emscripten.clang"
+ },
+ "networks": {
+ "44787": {
+ "events": {},
+ "links": {},
+ "address": "0x667dDB4926D08FEfE37FD89Af2cFE83b401a212e",
+ "transactionHash": "0x14338c7993a491efcb70e27f242aeb1ac44d91a04c442f3c139c45c91a82d380"
+ }
+ },
+ "schemaVersion": "3.4.1",
+ "updatedAt": "2021-11-28T14:51:39.372Z",
+ "networkType": "ethereum",
+ "devdoc": {
+ "kind": "dev",
+ "methods": {
+ "approve(address,uint256)": {
+ "details": "See {IERC721-approve}."
+ },
+ "balanceOf(address)": {
+ "details": "See {IERC721-balanceOf}."
+ },
+ "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}."
+ },
+ "symbol()": {
+ "details": "See {IERC721Metadata-symbol}."
+ },
+ "tokenURI(uint256)": {
+ "details": "See {IERC721Metadata-tokenURI}."
+ },
+ "transferFrom(address,address,uint256)": {
+ "details": "See {IERC721-transferFrom}."
+ }
+ },
+ "version": 1
+ },
+ "userdoc": {
+ "kind": "user",
+ "methods": {},
+ "version": 1
+ }
+}
\ No newline at end of file
diff --git a/Nftzi/abi/Strings.json b/Nftzi/abi/Strings.json
new file mode 100644
index 00000000..56d74bbd
--- /dev/null
+++ b/Nftzi/abi/Strings.json
@@ -0,0 +1,5128 @@
+{
+ "contractName": "Strings",
+ "abi": [],
+ "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x391d3ba97ab6856a16b225d6ee29617ad15ff00db70f3b4df1ab5ea33aa47c9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d636ba90bbbeed04a1ea7fe9ec2466757e30fd38ba2ca173636dbf69a518735e\",\"dweb:/ipfs/QmQwCB2BHnEuYR22PYt9HkpbgeFDhq4rHmaYqAZbX3WRC7\"]}},\"version\":1}",
+ "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122052bcc7f58aae8321f39dcff803cc2794af0bbd37612b15cc2d2918e00f6eaed764736f6c634300080a0033",
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122052bcc7f58aae8321f39dcff803cc2794af0bbd37612b15cc2d2918e00f6eaed764736f6c634300080a0033",
+ "immutableReferences": {},
+ "generatedSources": [],
+ "deployedGeneratedSources": [],
+ "sourceMap": "93:1885:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
+ "deployedSourceMap": "93:1885:10:-:0;;;;;;;;",
+ "source": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.0;\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant _HEX_SYMBOLS = \"0123456789abcdef\";\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal 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 while (value != 0) {\n digits -= 1;\n buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));\n value /= 10;\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n if (value == 0) {\n return \"0x00\";\n }\n uint256 temp = value;\n uint256 length = 0;\n while (temp != 0) {\n length++;\n temp >>= 8;\n }\n return toHexString(value, length);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = _HEX_SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n}\n",
+ "sourcePath": "@openzeppelin/contracts/utils/Strings.sol",
+ "ast": {
+ "absolutePath": "@openzeppelin/contracts/utils/Strings.sol",
+ "exportedSymbols": {
+ "Strings": [
+ 2221
+ ]
+ },
+ "id": 2222,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 2020,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:10"
+ },
+ {
+ "abstract": false,
+ "baseContracts": [],
+ "canonicalName": "Strings",
+ "contractDependencies": [],
+ "contractKind": "library",
+ "documentation": {
+ "id": 2021,
+ "nodeType": "StructuredDocumentation",
+ "src": "58:34:10",
+ "text": " @dev String operations."
+ },
+ "fullyImplemented": true,
+ "id": 2221,
+ "linearizedBaseContracts": [
+ 2221
+ ],
+ "name": "Strings",
+ "nameLocation": "101:7:10",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "constant": true,
+ "id": 2024,
+ "mutability": "constant",
+ "name": "_HEX_SYMBOLS",
+ "nameLocation": "140:12:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2221,
+ "src": "115:58:10",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes16",
+ "typeString": "bytes16"
+ },
+ "typeName": {
+ "id": 2022,
+ "name": "bytes16",
+ "nodeType": "ElementaryTypeName",
+ "src": "115:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes16",
+ "typeString": "bytes16"
+ }
+ },
+ "value": {
+ "hexValue": "30313233343536373839616263646566",
+ "id": 2023,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "155:18:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f",
+ "typeString": "literal_string \"0123456789abcdef\""
+ },
+ "value": "0123456789abcdef"
+ },
+ "visibility": "private"
+ },
+ {
+ "body": {
+ "id": 2102,
+ "nodeType": "Block",
+ "src": "346:632:10",
+ "statements": [
+ {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2034,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2032,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2027,
+ "src": "548:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2033,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "557:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "548:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2038,
+ "nodeType": "IfStatement",
+ "src": "544:51:10",
+ "trueBody": {
+ "id": 2037,
+ "nodeType": "Block",
+ "src": "560:35:10",
+ "statements": [
+ {
+ "expression": {
+ "hexValue": "30",
+ "id": 2035,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "581:3:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "typeString": "literal_string \"0\""
+ },
+ "value": "0"
+ },
+ "functionReturnParameters": 2031,
+ "id": 2036,
+ "nodeType": "Return",
+ "src": "574:10:10"
+ }
+ ]
+ }
+ },
+ {
+ "assignments": [
+ 2040
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2040,
+ "mutability": "mutable",
+ "name": "temp",
+ "nameLocation": "612:4:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2102,
+ "src": "604:12:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2039,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "604:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2042,
+ "initialValue": {
+ "id": 2041,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2027,
+ "src": "619:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "604:20:10"
+ },
+ {
+ "assignments": [
+ 2044
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2044,
+ "mutability": "mutable",
+ "name": "digits",
+ "nameLocation": "642:6:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2102,
+ "src": "634:14:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2043,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "634:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2045,
+ "nodeType": "VariableDeclarationStatement",
+ "src": "634:14:10"
+ },
+ {
+ "body": {
+ "id": 2056,
+ "nodeType": "Block",
+ "src": "676:57:10",
+ "statements": [
+ {
+ "expression": {
+ "id": 2050,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "++",
+ "prefix": false,
+ "src": "690:8:10",
+ "subExpression": {
+ "id": 2049,
+ "name": "digits",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2044,
+ "src": "690:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2051,
+ "nodeType": "ExpressionStatement",
+ "src": "690:8:10"
+ },
+ {
+ "expression": {
+ "id": 2054,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2052,
+ "name": "temp",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2040,
+ "src": "712:4:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "/=",
+ "rightHandSide": {
+ "hexValue": "3130",
+ "id": 2053,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "720:2:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_10_by_1",
+ "typeString": "int_const 10"
+ },
+ "value": "10"
+ },
+ "src": "712:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2055,
+ "nodeType": "ExpressionStatement",
+ "src": "712:10:10"
+ }
+ ]
+ },
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2048,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2046,
+ "name": "temp",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2040,
+ "src": "665:4:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2047,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "673:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "665:9:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2057,
+ "nodeType": "WhileStatement",
+ "src": "658:75:10"
+ },
+ {
+ "assignments": [
+ 2059
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2059,
+ "mutability": "mutable",
+ "name": "buffer",
+ "nameLocation": "755:6:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2102,
+ "src": "742:19:10",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 2058,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "742:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2064,
+ "initialValue": {
+ "arguments": [
+ {
+ "id": 2062,
+ "name": "digits",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2044,
+ "src": "774:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2061,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "NewExpression",
+ "src": "764:9:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
+ "typeString": "function (uint256) pure returns (bytes memory)"
+ },
+ "typeName": {
+ "id": 2060,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "768:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ }
+ },
+ "id": 2063,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "764:17:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "742:39:10"
+ },
+ {
+ "body": {
+ "id": 2095,
+ "nodeType": "Block",
+ "src": "810:131:10",
+ "statements": [
+ {
+ "expression": {
+ "id": 2070,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2068,
+ "name": "digits",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2044,
+ "src": "824:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "-=",
+ "rightHandSide": {
+ "hexValue": "31",
+ "id": 2069,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "834:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "824:11:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2071,
+ "nodeType": "ExpressionStatement",
+ "src": "824:11:10"
+ },
+ {
+ "expression": {
+ "id": 2089,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2072,
+ "name": "buffer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2059,
+ "src": "849:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "id": 2074,
+ "indexExpression": {
+ "id": 2073,
+ "name": "digits",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2044,
+ "src": "856:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "849:14:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2086,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "hexValue": "3438",
+ "id": 2079,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "879:2:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_48_by_1",
+ "typeString": "int_const 48"
+ },
+ "value": "48"
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "+",
+ "rightExpression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2084,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2082,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2027,
+ "src": "892:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "%",
+ "rightExpression": {
+ "hexValue": "3130",
+ "id": 2083,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "900:2:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_10_by_1",
+ "typeString": "int_const 10"
+ },
+ "value": "10"
+ },
+ "src": "892:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2081,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "884:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_uint256_$",
+ "typeString": "type(uint256)"
+ },
+ "typeName": {
+ "id": 2080,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "884:7:10",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2085,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "884:19:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "879:24:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2078,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "873:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_uint8_$",
+ "typeString": "type(uint8)"
+ },
+ "typeName": {
+ "id": 2077,
+ "name": "uint8",
+ "nodeType": "ElementaryTypeName",
+ "src": "873:5:10",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2087,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "873:31:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint8",
+ "typeString": "uint8"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint8",
+ "typeString": "uint8"
+ }
+ ],
+ "id": 2076,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "866:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_bytes1_$",
+ "typeString": "type(bytes1)"
+ },
+ "typeName": {
+ "id": 2075,
+ "name": "bytes1",
+ "nodeType": "ElementaryTypeName",
+ "src": "866:6:10",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2088,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "866:39:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "src": "849:56:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "id": 2090,
+ "nodeType": "ExpressionStatement",
+ "src": "849:56:10"
+ },
+ {
+ "expression": {
+ "id": 2093,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2091,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2027,
+ "src": "919:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "/=",
+ "rightHandSide": {
+ "hexValue": "3130",
+ "id": 2092,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "928:2:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_10_by_1",
+ "typeString": "int_const 10"
+ },
+ "value": "10"
+ },
+ "src": "919:11:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2094,
+ "nodeType": "ExpressionStatement",
+ "src": "919:11:10"
+ }
+ ]
+ },
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2067,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2065,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2027,
+ "src": "798:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2066,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "807:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "798:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2096,
+ "nodeType": "WhileStatement",
+ "src": "791:150:10"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 2099,
+ "name": "buffer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2059,
+ "src": "964:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ ],
+ "id": 2098,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "957:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_string_storage_ptr_$",
+ "typeString": "type(string storage pointer)"
+ },
+ "typeName": {
+ "id": 2097,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "957:6:10",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2100,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "957:14:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "functionReturnParameters": 2031,
+ "id": 2101,
+ "nodeType": "Return",
+ "src": "950:21:10"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 2025,
+ "nodeType": "StructuredDocumentation",
+ "src": "180:90:10",
+ "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation."
+ },
+ "id": 2103,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "toString",
+ "nameLocation": "284:8:10",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2028,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2027,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "301:5:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2103,
+ "src": "293:13:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2026,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "293:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "292:15:10"
+ },
+ "returnParameters": {
+ "id": 2031,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2030,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2103,
+ "src": "331:13:10",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2029,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "331:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "330:15:10"
+ },
+ "scope": 2221,
+ "src": "275:703:10",
+ "stateMutability": "pure",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2143,
+ "nodeType": "Block",
+ "src": "1157:255:10",
+ "statements": [
+ {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2113,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2111,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2106,
+ "src": "1171:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2112,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1180:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "1171:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2117,
+ "nodeType": "IfStatement",
+ "src": "1167:54:10",
+ "trueBody": {
+ "id": 2116,
+ "nodeType": "Block",
+ "src": "1183:38:10",
+ "statements": [
+ {
+ "expression": {
+ "hexValue": "30783030",
+ "id": 2114,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1204:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_27489e20a0060b723a1748bdff5e44570ee9fae64141728105692eac6031e8a4",
+ "typeString": "literal_string \"0x00\""
+ },
+ "value": "0x00"
+ },
+ "functionReturnParameters": 2110,
+ "id": 2115,
+ "nodeType": "Return",
+ "src": "1197:13:10"
+ }
+ ]
+ }
+ },
+ {
+ "assignments": [
+ 2119
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2119,
+ "mutability": "mutable",
+ "name": "temp",
+ "nameLocation": "1238:4:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2143,
+ "src": "1230:12:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2118,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1230:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2121,
+ "initialValue": {
+ "id": 2120,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2106,
+ "src": "1245:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "1230:20:10"
+ },
+ {
+ "assignments": [
+ 2123
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2123,
+ "mutability": "mutable",
+ "name": "length",
+ "nameLocation": "1268:6:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2143,
+ "src": "1260:14:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2122,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1260:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2125,
+ "initialValue": {
+ "hexValue": "30",
+ "id": 2124,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1277:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "1260:18:10"
+ },
+ {
+ "body": {
+ "id": 2136,
+ "nodeType": "Block",
+ "src": "1306:57:10",
+ "statements": [
+ {
+ "expression": {
+ "id": 2130,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "++",
+ "prefix": false,
+ "src": "1320:8:10",
+ "subExpression": {
+ "id": 2129,
+ "name": "length",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2123,
+ "src": "1320:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2131,
+ "nodeType": "ExpressionStatement",
+ "src": "1320:8:10"
+ },
+ {
+ "expression": {
+ "id": 2134,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2132,
+ "name": "temp",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2119,
+ "src": "1342:4:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": ">>=",
+ "rightHandSide": {
+ "hexValue": "38",
+ "id": 2133,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1351:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_8_by_1",
+ "typeString": "int_const 8"
+ },
+ "value": "8"
+ },
+ "src": "1342:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2135,
+ "nodeType": "ExpressionStatement",
+ "src": "1342:10:10"
+ }
+ ]
+ },
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2128,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2126,
+ "name": "temp",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2119,
+ "src": "1295:4:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2127,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1303:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "1295:9:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2137,
+ "nodeType": "WhileStatement",
+ "src": "1288:75:10"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 2139,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2106,
+ "src": "1391:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "id": 2140,
+ "name": "length",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2123,
+ "src": "1398:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2138,
+ "name": "toHexString",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 2144,
+ 2220
+ ],
+ "referencedDeclaration": 2220,
+ "src": "1379:11:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$",
+ "typeString": "function (uint256,uint256) pure returns (string memory)"
+ }
+ },
+ "id": 2141,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1379:26:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "functionReturnParameters": 2110,
+ "id": 2142,
+ "nodeType": "Return",
+ "src": "1372:33:10"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 2104,
+ "nodeType": "StructuredDocumentation",
+ "src": "984:94:10",
+ "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation."
+ },
+ "id": 2144,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "toHexString",
+ "nameLocation": "1092:11:10",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2107,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2106,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "1112:5:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2144,
+ "src": "1104:13:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2105,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1104:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1103:15:10"
+ },
+ "returnParameters": {
+ "id": 2110,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2109,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2144,
+ "src": "1142:13:10",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2108,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1142:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1141:15:10"
+ },
+ "scope": 2221,
+ "src": "1083:329:10",
+ "stateMutability": "pure",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2219,
+ "nodeType": "Block",
+ "src": "1625:351:10",
+ "statements": [
+ {
+ "assignments": [
+ 2155
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2155,
+ "mutability": "mutable",
+ "name": "buffer",
+ "nameLocation": "1648:6:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2219,
+ "src": "1635:19:10",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 2154,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "1635:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2164,
+ "initialValue": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2162,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2160,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "hexValue": "32",
+ "id": 2158,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1667:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_2_by_1",
+ "typeString": "int_const 2"
+ },
+ "value": "2"
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "*",
+ "rightExpression": {
+ "id": 2159,
+ "name": "length",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2149,
+ "src": "1671:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "1667:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "+",
+ "rightExpression": {
+ "hexValue": "32",
+ "id": 2161,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1680:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_2_by_1",
+ "typeString": "int_const 2"
+ },
+ "value": "2"
+ },
+ "src": "1667:14:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2157,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "NewExpression",
+ "src": "1657:9:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
+ "typeString": "function (uint256) pure returns (bytes memory)"
+ },
+ "typeName": {
+ "id": 2156,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "1661:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ }
+ },
+ "id": 2163,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1657:25:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "1635:47:10"
+ },
+ {
+ "expression": {
+ "id": 2169,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2165,
+ "name": "buffer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2155,
+ "src": "1692:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "id": 2167,
+ "indexExpression": {
+ "hexValue": "30",
+ "id": 2166,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1699:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "1692:9:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "hexValue": "30",
+ "id": 2168,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1704:3:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "typeString": "literal_string \"0\""
+ },
+ "value": "0"
+ },
+ "src": "1692:15:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "id": 2170,
+ "nodeType": "ExpressionStatement",
+ "src": "1692:15:10"
+ },
+ {
+ "expression": {
+ "id": 2175,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2171,
+ "name": "buffer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2155,
+ "src": "1717:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "id": 2173,
+ "indexExpression": {
+ "hexValue": "31",
+ "id": 2172,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1724:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "1717:9:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "hexValue": "78",
+ "id": 2174,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1729:3:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83",
+ "typeString": "literal_string \"x\""
+ },
+ "value": "x"
+ },
+ "src": "1717:15:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "id": 2176,
+ "nodeType": "ExpressionStatement",
+ "src": "1717:15:10"
+ },
+ {
+ "body": {
+ "id": 2205,
+ "nodeType": "Block",
+ "src": "1787:87:10",
+ "statements": [
+ {
+ "expression": {
+ "id": 2199,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2191,
+ "name": "buffer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2155,
+ "src": "1801:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "id": 2193,
+ "indexExpression": {
+ "id": 2192,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2178,
+ "src": "1808:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "1801:9:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "baseExpression": {
+ "id": 2194,
+ "name": "_HEX_SYMBOLS",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2024,
+ "src": "1813:12:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes16",
+ "typeString": "bytes16"
+ }
+ },
+ "id": 2198,
+ "indexExpression": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2197,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2195,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2147,
+ "src": "1826:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "&",
+ "rightExpression": {
+ "hexValue": "307866",
+ "id": 2196,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1834:3:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_15_by_1",
+ "typeString": "int_const 15"
+ },
+ "value": "0xf"
+ },
+ "src": "1826:11:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "1813:25:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "src": "1801:37:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "id": 2200,
+ "nodeType": "ExpressionStatement",
+ "src": "1801:37:10"
+ },
+ {
+ "expression": {
+ "id": 2203,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2201,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2147,
+ "src": "1852:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": ">>=",
+ "rightHandSide": {
+ "hexValue": "34",
+ "id": 2202,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1862:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_4_by_1",
+ "typeString": "int_const 4"
+ },
+ "value": "4"
+ },
+ "src": "1852:11:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2204,
+ "nodeType": "ExpressionStatement",
+ "src": "1852:11:10"
+ }
+ ]
+ },
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2187,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2185,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2178,
+ "src": "1775:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">",
+ "rightExpression": {
+ "hexValue": "31",
+ "id": 2186,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1779:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "1775:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2206,
+ "initializationExpression": {
+ "assignments": [
+ 2178
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2178,
+ "mutability": "mutable",
+ "name": "i",
+ "nameLocation": "1755:1:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2206,
+ "src": "1747:9:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2177,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1747:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2184,
+ "initialValue": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2183,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2181,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "hexValue": "32",
+ "id": 2179,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1759:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_2_by_1",
+ "typeString": "int_const 2"
+ },
+ "value": "2"
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "*",
+ "rightExpression": {
+ "id": 2180,
+ "name": "length",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2149,
+ "src": "1763:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "1759:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "+",
+ "rightExpression": {
+ "hexValue": "31",
+ "id": 2182,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1772:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "1759:14:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "1747:26:10"
+ },
+ "loopExpression": {
+ "expression": {
+ "id": 2189,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "--",
+ "prefix": true,
+ "src": "1782:3:10",
+ "subExpression": {
+ "id": 2188,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2178,
+ "src": "1784:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2190,
+ "nodeType": "ExpressionStatement",
+ "src": "1782:3:10"
+ },
+ "nodeType": "ForStatement",
+ "src": "1742:132:10"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2210,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2208,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2147,
+ "src": "1891:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2209,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1900:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "1891:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74",
+ "id": 2211,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1903:34:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2",
+ "typeString": "literal_string \"Strings: hex length insufficient\""
+ },
+ "value": "Strings: hex length insufficient"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2",
+ "typeString": "literal_string \"Strings: hex length insufficient\""
+ }
+ ],
+ "id": 2207,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "1883:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 2212,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1883:55:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2213,
+ "nodeType": "ExpressionStatement",
+ "src": "1883:55:10"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 2216,
+ "name": "buffer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2155,
+ "src": "1962:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ ],
+ "id": 2215,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "1955:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_string_storage_ptr_$",
+ "typeString": "type(string storage pointer)"
+ },
+ "typeName": {
+ "id": 2214,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1955:6:10",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2217,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1955:14:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "functionReturnParameters": 2153,
+ "id": 2218,
+ "nodeType": "Return",
+ "src": "1948:21:10"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 2145,
+ "nodeType": "StructuredDocumentation",
+ "src": "1418:112:10",
+ "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length."
+ },
+ "id": 2220,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "toHexString",
+ "nameLocation": "1544:11:10",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2150,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2147,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "1564:5:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2220,
+ "src": "1556:13:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2146,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1556:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2149,
+ "mutability": "mutable",
+ "name": "length",
+ "nameLocation": "1579:6:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2220,
+ "src": "1571:14:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2148,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1571:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1555:31:10"
+ },
+ "returnParameters": {
+ "id": 2153,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2152,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2220,
+ "src": "1610:13:10",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2151,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1610:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1609:15:10"
+ },
+ "scope": 2221,
+ "src": "1535:441:10",
+ "stateMutability": "pure",
+ "virtual": false,
+ "visibility": "internal"
+ }
+ ],
+ "scope": 2222,
+ "src": "93:1885:10",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:1946:10"
+ },
+ "legacyAST": {
+ "absolutePath": "@openzeppelin/contracts/utils/Strings.sol",
+ "exportedSymbols": {
+ "Strings": [
+ 2221
+ ]
+ },
+ "id": 2222,
+ "license": "MIT",
+ "nodeType": "SourceUnit",
+ "nodes": [
+ {
+ "id": 2020,
+ "literals": [
+ "solidity",
+ "^",
+ "0.8",
+ ".0"
+ ],
+ "nodeType": "PragmaDirective",
+ "src": "33:23:10"
+ },
+ {
+ "abstract": false,
+ "baseContracts": [],
+ "canonicalName": "Strings",
+ "contractDependencies": [],
+ "contractKind": "library",
+ "documentation": {
+ "id": 2021,
+ "nodeType": "StructuredDocumentation",
+ "src": "58:34:10",
+ "text": " @dev String operations."
+ },
+ "fullyImplemented": true,
+ "id": 2221,
+ "linearizedBaseContracts": [
+ 2221
+ ],
+ "name": "Strings",
+ "nameLocation": "101:7:10",
+ "nodeType": "ContractDefinition",
+ "nodes": [
+ {
+ "constant": true,
+ "id": 2024,
+ "mutability": "constant",
+ "name": "_HEX_SYMBOLS",
+ "nameLocation": "140:12:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2221,
+ "src": "115:58:10",
+ "stateVariable": true,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes16",
+ "typeString": "bytes16"
+ },
+ "typeName": {
+ "id": 2022,
+ "name": "bytes16",
+ "nodeType": "ElementaryTypeName",
+ "src": "115:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes16",
+ "typeString": "bytes16"
+ }
+ },
+ "value": {
+ "hexValue": "30313233343536373839616263646566",
+ "id": 2023,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "155:18:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f",
+ "typeString": "literal_string \"0123456789abcdef\""
+ },
+ "value": "0123456789abcdef"
+ },
+ "visibility": "private"
+ },
+ {
+ "body": {
+ "id": 2102,
+ "nodeType": "Block",
+ "src": "346:632:10",
+ "statements": [
+ {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2034,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2032,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2027,
+ "src": "548:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2033,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "557:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "548:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2038,
+ "nodeType": "IfStatement",
+ "src": "544:51:10",
+ "trueBody": {
+ "id": 2037,
+ "nodeType": "Block",
+ "src": "560:35:10",
+ "statements": [
+ {
+ "expression": {
+ "hexValue": "30",
+ "id": 2035,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "581:3:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "typeString": "literal_string \"0\""
+ },
+ "value": "0"
+ },
+ "functionReturnParameters": 2031,
+ "id": 2036,
+ "nodeType": "Return",
+ "src": "574:10:10"
+ }
+ ]
+ }
+ },
+ {
+ "assignments": [
+ 2040
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2040,
+ "mutability": "mutable",
+ "name": "temp",
+ "nameLocation": "612:4:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2102,
+ "src": "604:12:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2039,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "604:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2042,
+ "initialValue": {
+ "id": 2041,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2027,
+ "src": "619:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "604:20:10"
+ },
+ {
+ "assignments": [
+ 2044
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2044,
+ "mutability": "mutable",
+ "name": "digits",
+ "nameLocation": "642:6:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2102,
+ "src": "634:14:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2043,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "634:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2045,
+ "nodeType": "VariableDeclarationStatement",
+ "src": "634:14:10"
+ },
+ {
+ "body": {
+ "id": 2056,
+ "nodeType": "Block",
+ "src": "676:57:10",
+ "statements": [
+ {
+ "expression": {
+ "id": 2050,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "++",
+ "prefix": false,
+ "src": "690:8:10",
+ "subExpression": {
+ "id": 2049,
+ "name": "digits",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2044,
+ "src": "690:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2051,
+ "nodeType": "ExpressionStatement",
+ "src": "690:8:10"
+ },
+ {
+ "expression": {
+ "id": 2054,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2052,
+ "name": "temp",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2040,
+ "src": "712:4:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "/=",
+ "rightHandSide": {
+ "hexValue": "3130",
+ "id": 2053,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "720:2:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_10_by_1",
+ "typeString": "int_const 10"
+ },
+ "value": "10"
+ },
+ "src": "712:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2055,
+ "nodeType": "ExpressionStatement",
+ "src": "712:10:10"
+ }
+ ]
+ },
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2048,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2046,
+ "name": "temp",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2040,
+ "src": "665:4:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2047,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "673:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "665:9:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2057,
+ "nodeType": "WhileStatement",
+ "src": "658:75:10"
+ },
+ {
+ "assignments": [
+ 2059
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2059,
+ "mutability": "mutable",
+ "name": "buffer",
+ "nameLocation": "755:6:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2102,
+ "src": "742:19:10",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 2058,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "742:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2064,
+ "initialValue": {
+ "arguments": [
+ {
+ "id": 2062,
+ "name": "digits",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2044,
+ "src": "774:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2061,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "NewExpression",
+ "src": "764:9:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
+ "typeString": "function (uint256) pure returns (bytes memory)"
+ },
+ "typeName": {
+ "id": 2060,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "768:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ }
+ },
+ "id": 2063,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "764:17:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "742:39:10"
+ },
+ {
+ "body": {
+ "id": 2095,
+ "nodeType": "Block",
+ "src": "810:131:10",
+ "statements": [
+ {
+ "expression": {
+ "id": 2070,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2068,
+ "name": "digits",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2044,
+ "src": "824:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "-=",
+ "rightHandSide": {
+ "hexValue": "31",
+ "id": 2069,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "834:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "824:11:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2071,
+ "nodeType": "ExpressionStatement",
+ "src": "824:11:10"
+ },
+ {
+ "expression": {
+ "id": 2089,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2072,
+ "name": "buffer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2059,
+ "src": "849:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "id": 2074,
+ "indexExpression": {
+ "id": 2073,
+ "name": "digits",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2044,
+ "src": "856:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "849:14:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "arguments": [
+ {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2086,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "hexValue": "3438",
+ "id": 2079,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "879:2:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_48_by_1",
+ "typeString": "int_const 48"
+ },
+ "value": "48"
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "+",
+ "rightExpression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2084,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2082,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2027,
+ "src": "892:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "%",
+ "rightExpression": {
+ "hexValue": "3130",
+ "id": 2083,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "900:2:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_10_by_1",
+ "typeString": "int_const 10"
+ },
+ "value": "10"
+ },
+ "src": "892:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2081,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "884:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_uint256_$",
+ "typeString": "type(uint256)"
+ },
+ "typeName": {
+ "id": 2080,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "884:7:10",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2085,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "884:19:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "879:24:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2078,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "873:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_uint8_$",
+ "typeString": "type(uint8)"
+ },
+ "typeName": {
+ "id": 2077,
+ "name": "uint8",
+ "nodeType": "ElementaryTypeName",
+ "src": "873:5:10",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2087,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "873:31:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint8",
+ "typeString": "uint8"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint8",
+ "typeString": "uint8"
+ }
+ ],
+ "id": 2076,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "866:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_bytes1_$",
+ "typeString": "type(bytes1)"
+ },
+ "typeName": {
+ "id": 2075,
+ "name": "bytes1",
+ "nodeType": "ElementaryTypeName",
+ "src": "866:6:10",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2088,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "866:39:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "src": "849:56:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "id": 2090,
+ "nodeType": "ExpressionStatement",
+ "src": "849:56:10"
+ },
+ {
+ "expression": {
+ "id": 2093,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2091,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2027,
+ "src": "919:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "/=",
+ "rightHandSide": {
+ "hexValue": "3130",
+ "id": 2092,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "928:2:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_10_by_1",
+ "typeString": "int_const 10"
+ },
+ "value": "10"
+ },
+ "src": "919:11:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2094,
+ "nodeType": "ExpressionStatement",
+ "src": "919:11:10"
+ }
+ ]
+ },
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2067,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2065,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2027,
+ "src": "798:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2066,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "807:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "798:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2096,
+ "nodeType": "WhileStatement",
+ "src": "791:150:10"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 2099,
+ "name": "buffer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2059,
+ "src": "964:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ ],
+ "id": 2098,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "957:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_string_storage_ptr_$",
+ "typeString": "type(string storage pointer)"
+ },
+ "typeName": {
+ "id": 2097,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "957:6:10",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2100,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "957:14:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "functionReturnParameters": 2031,
+ "id": 2101,
+ "nodeType": "Return",
+ "src": "950:21:10"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 2025,
+ "nodeType": "StructuredDocumentation",
+ "src": "180:90:10",
+ "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation."
+ },
+ "id": 2103,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "toString",
+ "nameLocation": "284:8:10",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2028,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2027,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "301:5:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2103,
+ "src": "293:13:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2026,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "293:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "292:15:10"
+ },
+ "returnParameters": {
+ "id": 2031,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2030,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2103,
+ "src": "331:13:10",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2029,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "331:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "330:15:10"
+ },
+ "scope": 2221,
+ "src": "275:703:10",
+ "stateMutability": "pure",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2143,
+ "nodeType": "Block",
+ "src": "1157:255:10",
+ "statements": [
+ {
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2113,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2111,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2106,
+ "src": "1171:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2112,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1180:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "1171:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2117,
+ "nodeType": "IfStatement",
+ "src": "1167:54:10",
+ "trueBody": {
+ "id": 2116,
+ "nodeType": "Block",
+ "src": "1183:38:10",
+ "statements": [
+ {
+ "expression": {
+ "hexValue": "30783030",
+ "id": 2114,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1204:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_27489e20a0060b723a1748bdff5e44570ee9fae64141728105692eac6031e8a4",
+ "typeString": "literal_string \"0x00\""
+ },
+ "value": "0x00"
+ },
+ "functionReturnParameters": 2110,
+ "id": 2115,
+ "nodeType": "Return",
+ "src": "1197:13:10"
+ }
+ ]
+ }
+ },
+ {
+ "assignments": [
+ 2119
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2119,
+ "mutability": "mutable",
+ "name": "temp",
+ "nameLocation": "1238:4:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2143,
+ "src": "1230:12:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2118,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1230:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2121,
+ "initialValue": {
+ "id": 2120,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2106,
+ "src": "1245:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "1230:20:10"
+ },
+ {
+ "assignments": [
+ 2123
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2123,
+ "mutability": "mutable",
+ "name": "length",
+ "nameLocation": "1268:6:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2143,
+ "src": "1260:14:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2122,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1260:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2125,
+ "initialValue": {
+ "hexValue": "30",
+ "id": 2124,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1277:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "1260:18:10"
+ },
+ {
+ "body": {
+ "id": 2136,
+ "nodeType": "Block",
+ "src": "1306:57:10",
+ "statements": [
+ {
+ "expression": {
+ "id": 2130,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "++",
+ "prefix": false,
+ "src": "1320:8:10",
+ "subExpression": {
+ "id": 2129,
+ "name": "length",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2123,
+ "src": "1320:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2131,
+ "nodeType": "ExpressionStatement",
+ "src": "1320:8:10"
+ },
+ {
+ "expression": {
+ "id": 2134,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2132,
+ "name": "temp",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2119,
+ "src": "1342:4:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": ">>=",
+ "rightHandSide": {
+ "hexValue": "38",
+ "id": 2133,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1351:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_8_by_1",
+ "typeString": "int_const 8"
+ },
+ "value": "8"
+ },
+ "src": "1342:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2135,
+ "nodeType": "ExpressionStatement",
+ "src": "1342:10:10"
+ }
+ ]
+ },
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2128,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2126,
+ "name": "temp",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2119,
+ "src": "1295:4:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "!=",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2127,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1303:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "1295:9:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2137,
+ "nodeType": "WhileStatement",
+ "src": "1288:75:10"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 2139,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2106,
+ "src": "1391:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ {
+ "id": 2140,
+ "name": "length",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2123,
+ "src": "1398:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2138,
+ "name": "toHexString",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 2144,
+ 2220
+ ],
+ "referencedDeclaration": 2220,
+ "src": "1379:11:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$",
+ "typeString": "function (uint256,uint256) pure returns (string memory)"
+ }
+ },
+ "id": 2141,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1379:26:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "functionReturnParameters": 2110,
+ "id": 2142,
+ "nodeType": "Return",
+ "src": "1372:33:10"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 2104,
+ "nodeType": "StructuredDocumentation",
+ "src": "984:94:10",
+ "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation."
+ },
+ "id": 2144,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "toHexString",
+ "nameLocation": "1092:11:10",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2107,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2106,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "1112:5:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2144,
+ "src": "1104:13:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2105,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1104:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1103:15:10"
+ },
+ "returnParameters": {
+ "id": 2110,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2109,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2144,
+ "src": "1142:13:10",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2108,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1142:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1141:15:10"
+ },
+ "scope": 2221,
+ "src": "1083:329:10",
+ "stateMutability": "pure",
+ "virtual": false,
+ "visibility": "internal"
+ },
+ {
+ "body": {
+ "id": 2219,
+ "nodeType": "Block",
+ "src": "1625:351:10",
+ "statements": [
+ {
+ "assignments": [
+ 2155
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2155,
+ "mutability": "mutable",
+ "name": "buffer",
+ "nameLocation": "1648:6:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2219,
+ "src": "1635:19:10",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes"
+ },
+ "typeName": {
+ "id": 2154,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "1635:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2164,
+ "initialValue": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2162,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2160,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "hexValue": "32",
+ "id": 2158,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1667:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_2_by_1",
+ "typeString": "int_const 2"
+ },
+ "value": "2"
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "*",
+ "rightExpression": {
+ "id": 2159,
+ "name": "length",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2149,
+ "src": "1671:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "1667:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "+",
+ "rightExpression": {
+ "hexValue": "32",
+ "id": 2161,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1680:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_2_by_1",
+ "typeString": "int_const 2"
+ },
+ "value": "2"
+ },
+ "src": "1667:14:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ ],
+ "id": 2157,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "NewExpression",
+ "src": "1657:9:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
+ "typeString": "function (uint256) pure returns (bytes memory)"
+ },
+ "typeName": {
+ "id": 2156,
+ "name": "bytes",
+ "nodeType": "ElementaryTypeName",
+ "src": "1661:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_storage_ptr",
+ "typeString": "bytes"
+ }
+ }
+ },
+ "id": 2163,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1657:25:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "1635:47:10"
+ },
+ {
+ "expression": {
+ "id": 2169,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2165,
+ "name": "buffer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2155,
+ "src": "1692:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "id": 2167,
+ "indexExpression": {
+ "hexValue": "30",
+ "id": 2166,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1699:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "1692:9:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "hexValue": "30",
+ "id": 2168,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1704:3:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d",
+ "typeString": "literal_string \"0\""
+ },
+ "value": "0"
+ },
+ "src": "1692:15:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "id": 2170,
+ "nodeType": "ExpressionStatement",
+ "src": "1692:15:10"
+ },
+ {
+ "expression": {
+ "id": 2175,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2171,
+ "name": "buffer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2155,
+ "src": "1717:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "id": 2173,
+ "indexExpression": {
+ "hexValue": "31",
+ "id": 2172,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1724:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "1717:9:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "hexValue": "78",
+ "id": 2174,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1729:3:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83",
+ "typeString": "literal_string \"x\""
+ },
+ "value": "x"
+ },
+ "src": "1717:15:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "id": 2176,
+ "nodeType": "ExpressionStatement",
+ "src": "1717:15:10"
+ },
+ {
+ "body": {
+ "id": 2205,
+ "nodeType": "Block",
+ "src": "1787:87:10",
+ "statements": [
+ {
+ "expression": {
+ "id": 2199,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "baseExpression": {
+ "id": 2191,
+ "name": "buffer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2155,
+ "src": "1801:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ },
+ "id": 2193,
+ "indexExpression": {
+ "id": 2192,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2178,
+ "src": "1808:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": true,
+ "isPure": false,
+ "lValueRequested": true,
+ "nodeType": "IndexAccess",
+ "src": "1801:9:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": "=",
+ "rightHandSide": {
+ "baseExpression": {
+ "id": 2194,
+ "name": "_HEX_SYMBOLS",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2024,
+ "src": "1813:12:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes16",
+ "typeString": "bytes16"
+ }
+ },
+ "id": 2198,
+ "indexExpression": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2197,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2195,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2147,
+ "src": "1826:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "&",
+ "rightExpression": {
+ "hexValue": "307866",
+ "id": 2196,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1834:3:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_15_by_1",
+ "typeString": "int_const 15"
+ },
+ "value": "0xf"
+ },
+ "src": "1826:11:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "IndexAccess",
+ "src": "1813:25:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "src": "1801:37:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes1",
+ "typeString": "bytes1"
+ }
+ },
+ "id": 2200,
+ "nodeType": "ExpressionStatement",
+ "src": "1801:37:10"
+ },
+ {
+ "expression": {
+ "id": 2203,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftHandSide": {
+ "id": 2201,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2147,
+ "src": "1852:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "Assignment",
+ "operator": ">>=",
+ "rightHandSide": {
+ "hexValue": "34",
+ "id": 2202,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1862:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_4_by_1",
+ "typeString": "int_const 4"
+ },
+ "value": "4"
+ },
+ "src": "1852:11:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2204,
+ "nodeType": "ExpressionStatement",
+ "src": "1852:11:10"
+ }
+ ]
+ },
+ "condition": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2187,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2185,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2178,
+ "src": "1775:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": ">",
+ "rightExpression": {
+ "hexValue": "31",
+ "id": 2186,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1779:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "1775:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ "id": 2206,
+ "initializationExpression": {
+ "assignments": [
+ 2178
+ ],
+ "declarations": [
+ {
+ "constant": false,
+ "id": 2178,
+ "mutability": "mutable",
+ "name": "i",
+ "nameLocation": "1755:1:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2206,
+ "src": "1747:9:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2177,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1747:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "id": 2184,
+ "initialValue": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2183,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2181,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "hexValue": "32",
+ "id": 2179,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1759:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_2_by_1",
+ "typeString": "int_const 2"
+ },
+ "value": "2"
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "*",
+ "rightExpression": {
+ "id": 2180,
+ "name": "length",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2149,
+ "src": "1763:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "src": "1759:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "+",
+ "rightExpression": {
+ "hexValue": "31",
+ "id": 2182,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1772:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_1_by_1",
+ "typeString": "int_const 1"
+ },
+ "value": "1"
+ },
+ "src": "1759:14:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "VariableDeclarationStatement",
+ "src": "1747:26:10"
+ },
+ "loopExpression": {
+ "expression": {
+ "id": 2189,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "nodeType": "UnaryOperation",
+ "operator": "--",
+ "prefix": true,
+ "src": "1782:3:10",
+ "subExpression": {
+ "id": 2188,
+ "name": "i",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2178,
+ "src": "1784:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "id": 2190,
+ "nodeType": "ExpressionStatement",
+ "src": "1782:3:10"
+ },
+ "nodeType": "ForStatement",
+ "src": "1742:132:10"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "commonType": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "id": 2210,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "lValueRequested": false,
+ "leftExpression": {
+ "id": 2208,
+ "name": "value",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2147,
+ "src": "1891:5:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "nodeType": "BinaryOperation",
+ "operator": "==",
+ "rightExpression": {
+ "hexValue": "30",
+ "id": 2209,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "number",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1900:1:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_rational_0_by_1",
+ "typeString": "int_const 0"
+ },
+ "value": "0"
+ },
+ "src": "1891:10:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ }
+ },
+ {
+ "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74",
+ "id": 2211,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "kind": "string",
+ "lValueRequested": false,
+ "nodeType": "Literal",
+ "src": "1903:34:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2",
+ "typeString": "literal_string \"Strings: hex length insufficient\""
+ },
+ "value": "Strings: hex length insufficient"
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bool",
+ "typeString": "bool"
+ },
+ {
+ "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2",
+ "typeString": "literal_string \"Strings: hex length insufficient\""
+ }
+ ],
+ "id": 2207,
+ "name": "require",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [
+ 4294967278,
+ 4294967278
+ ],
+ "referencedDeclaration": 4294967278,
+ "src": "1883:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
+ "typeString": "function (bool,string memory) pure"
+ }
+ },
+ "id": 2212,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "functionCall",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1883:55:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_tuple$__$",
+ "typeString": "tuple()"
+ }
+ },
+ "id": 2213,
+ "nodeType": "ExpressionStatement",
+ "src": "1883:55:10"
+ },
+ {
+ "expression": {
+ "arguments": [
+ {
+ "id": 2216,
+ "name": "buffer",
+ "nodeType": "Identifier",
+ "overloadedDeclarations": [],
+ "referencedDeclaration": 2155,
+ "src": "1962:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ }
+ ],
+ "expression": {
+ "argumentTypes": [
+ {
+ "typeIdentifier": "t_bytes_memory_ptr",
+ "typeString": "bytes memory"
+ }
+ ],
+ "id": 2215,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": true,
+ "lValueRequested": false,
+ "nodeType": "ElementaryTypeNameExpression",
+ "src": "1955:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_type$_t_string_storage_ptr_$",
+ "typeString": "type(string storage pointer)"
+ },
+ "typeName": {
+ "id": 2214,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1955:6:10",
+ "typeDescriptions": {}
+ }
+ },
+ "id": 2217,
+ "isConstant": false,
+ "isLValue": false,
+ "isPure": false,
+ "kind": "typeConversion",
+ "lValueRequested": false,
+ "names": [],
+ "nodeType": "FunctionCall",
+ "src": "1955:14:10",
+ "tryCall": false,
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string memory"
+ }
+ },
+ "functionReturnParameters": 2153,
+ "id": 2218,
+ "nodeType": "Return",
+ "src": "1948:21:10"
+ }
+ ]
+ },
+ "documentation": {
+ "id": 2145,
+ "nodeType": "StructuredDocumentation",
+ "src": "1418:112:10",
+ "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length."
+ },
+ "id": 2220,
+ "implemented": true,
+ "kind": "function",
+ "modifiers": [],
+ "name": "toHexString",
+ "nameLocation": "1544:11:10",
+ "nodeType": "FunctionDefinition",
+ "parameters": {
+ "id": 2150,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2147,
+ "mutability": "mutable",
+ "name": "value",
+ "nameLocation": "1564:5:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2220,
+ "src": "1556:13:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2146,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1556:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ },
+ {
+ "constant": false,
+ "id": 2149,
+ "mutability": "mutable",
+ "name": "length",
+ "nameLocation": "1579:6:10",
+ "nodeType": "VariableDeclaration",
+ "scope": 2220,
+ "src": "1571:14:10",
+ "stateVariable": false,
+ "storageLocation": "default",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ },
+ "typeName": {
+ "id": 2148,
+ "name": "uint256",
+ "nodeType": "ElementaryTypeName",
+ "src": "1571:7:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_uint256",
+ "typeString": "uint256"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1555:31:10"
+ },
+ "returnParameters": {
+ "id": 2153,
+ "nodeType": "ParameterList",
+ "parameters": [
+ {
+ "constant": false,
+ "id": 2152,
+ "mutability": "mutable",
+ "name": "",
+ "nameLocation": "-1:-1:-1",
+ "nodeType": "VariableDeclaration",
+ "scope": 2220,
+ "src": "1610:13:10",
+ "stateVariable": false,
+ "storageLocation": "memory",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_memory_ptr",
+ "typeString": "string"
+ },
+ "typeName": {
+ "id": 2151,
+ "name": "string",
+ "nodeType": "ElementaryTypeName",
+ "src": "1610:6:10",
+ "typeDescriptions": {
+ "typeIdentifier": "t_string_storage_ptr",
+ "typeString": "string"
+ }
+ },
+ "visibility": "internal"
+ }
+ ],
+ "src": "1609:15:10"
+ },
+ "scope": 2221,
+ "src": "1535:441:10",
+ "stateMutability": "pure",
+ "virtual": false,
+ "visibility": "internal"
+ }
+ ],
+ "scope": 2222,
+ "src": "93:1885:10",
+ "usedErrors": []
+ }
+ ],
+ "src": "33:1946:10"
+ },
+ "compiler": {
+ "name": "solc",
+ "version": "0.8.10+commit.fc410830.Emscripten.clang"
+ },
+ "networks": {},
+ "schemaVersion": "3.4.1",
+ "updatedAt": "2021-11-28T13:47:02.613Z",
+ "devdoc": {
+ "details": "String operations.",
+ "kind": "dev",
+ "methods": {},
+ "version": 1
+ },
+ "userdoc": {
+ "kind": "user",
+ "methods": {},
+ "version": 1
+ }
+}
\ No newline at end of file
diff --git a/Nftzi/app.json b/Nftzi/app.json
new file mode 100644
index 00000000..a55268fa
--- /dev/null
+++ b/Nftzi/app.json
@@ -0,0 +1,37 @@
+{
+ "expo": {
+ "name": "Nftzi",
+ "slug": "Nftzi",
+ "version": "1.0.0",
+ "orientation": "portrait",
+ "icon": "./assets/icon.png",
+ "scheme": "nftzi",
+ "splash": {
+ "image": "./assets/Splash.png",
+ "resizeMode": "cover",
+ "backgroundColor": "#221F14"
+ },
+ "updates": {
+ "fallbackToCacheTimeout": 0
+ },
+ "assetBundlePatterns": [
+ "**/*"
+ ],
+ "ios": {
+ "supportsTablet": true
+ },
+ "android": {
+ "adaptiveIcon": {
+ "foregroundImage": "./assets/adaptive-icon.png",
+ "backgroundColor": "#FFFFFF"
+ },
+ "package": "com.fffilimonov.Nftzi"
+ },
+ "web": {
+ "favicon": "./assets/favicon.png"
+ },
+ "androidNavigationBar": {
+ "backgroundColor": "#23262F"
+ }
+ }
+}
diff --git a/Nftzi/assets/AppIcon.tsx b/Nftzi/assets/AppIcon.tsx
new file mode 100644
index 00000000..904858ba
--- /dev/null
+++ b/Nftzi/assets/AppIcon.tsx
@@ -0,0 +1,81 @@
+/* eslint-disable */
+import React, {memo} from 'react'
+import {StyleProp, View, ViewStyle} from 'react-native'
+import IcArrow from './icArrow.svg'
+import IcDialogClose from './icDialogClose.svg'
+import IcMint from './icMint.svg'
+import Illustration_one from './illustration_one.svg'
+import WalletIcon from './walletIcon.svg'
+
+export type AppIconType = 'icArrow' | 'icDialogClose' | 'icMint' | 'illustration_one' | 'walletIcon'
+export interface AppIconProps {
+ readonly type: AppIconType
+ readonly testID?: string
+ readonly nativeID?: string
+ readonly style?: StyleProp
+ readonly isVisible?: boolean
+ readonly tint?: string
+ readonly stroke?: string
+ readonly width?: number
+ readonly height?: number
+}
+
+const getIcon = (type: AppIconType, tint: string | undefined, stroke: string | undefined, width: number | undefined, height: number | undefined): JSX.Element => {
+ switch (type) {
+ case 'icArrow':
+ if (!!tint && !width && !height) return
+ if (!!tint && width && height) return
+ if (!!stroke && !width && !height) return
+ if (!!stroke && width && height) return
+ if (!stroke && !tint && width && height) return
+ return
+ case 'icDialogClose':
+ if (!!tint && !width && !height) return
+ if (!!tint && width && height) return
+ if (!!stroke && !width && !height) return
+ if (!!stroke && width && height) return
+ if (!stroke && !tint && width && height) return
+ return
+ case 'icMint':
+ if (!!tint && !width && !height) return
+ if (!!tint && width && height) return
+ if (!!stroke && !width && !height) return
+ if (!!stroke && width && height) return
+ if (!stroke && !tint && width && height) return
+ return
+ case 'illustration_one':
+ if (!!tint && !width && !height) return
+ if (!!tint && width && height) return
+ if (!!stroke && !width && !height) return
+ if (!!stroke && width && height) return
+ if (!stroke && !tint && width && height) return
+ return
+ case 'walletIcon':
+ if (!!tint && !width && !height) return
+ if (!!tint && width && height) return
+ if (!!stroke && !width && !height) return
+ if (!!stroke && width && height) return
+ if (!stroke && !tint && width && height) return
+ return
+ }
+}
+
+const AppIcon: React.FC = ({
+ type,
+ testID,
+ nativeID,
+ style,
+ isVisible,
+ tint,
+ stroke,
+ width,
+ height
+}) => {
+ if (isVisible === false) return null
+ return (
+
+ {getIcon(type, tint, stroke, width, height)}
+
+ )
+}
+export default memo(AppIcon)
diff --git a/Nftzi/assets/Splash.png b/Nftzi/assets/Splash.png
new file mode 100644
index 00000000..9c69665b
Binary files /dev/null and b/Nftzi/assets/Splash.png differ
diff --git a/Nftzi/assets/adaptive-icon.png b/Nftzi/assets/adaptive-icon.png
new file mode 100644
index 00000000..03d6f6b6
Binary files /dev/null and b/Nftzi/assets/adaptive-icon.png differ
diff --git a/Nftzi/assets/favicon.png b/Nftzi/assets/favicon.png
new file mode 100644
index 00000000..e75f697b
Binary files /dev/null and b/Nftzi/assets/favicon.png differ
diff --git a/Nftzi/assets/fonts/GTFlexa-Bd.ttf b/Nftzi/assets/fonts/GTFlexa-Bd.ttf
new file mode 100644
index 00000000..3dd4b476
Binary files /dev/null and b/Nftzi/assets/fonts/GTFlexa-Bd.ttf differ
diff --git a/Nftzi/assets/fonts/GTFlexa-Rg.ttf b/Nftzi/assets/fonts/GTFlexa-Rg.ttf
new file mode 100644
index 00000000..0f37580d
Binary files /dev/null and b/Nftzi/assets/fonts/GTFlexa-Rg.ttf differ
diff --git a/Nftzi/assets/icArrow.svg b/Nftzi/assets/icArrow.svg
new file mode 100644
index 00000000..d73ecd3e
--- /dev/null
+++ b/Nftzi/assets/icArrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/Nftzi/assets/icDialogClose.svg b/Nftzi/assets/icDialogClose.svg
new file mode 100644
index 00000000..4f5a9cc0
--- /dev/null
+++ b/Nftzi/assets/icDialogClose.svg
@@ -0,0 +1,4 @@
+
diff --git a/Nftzi/assets/icMint.svg b/Nftzi/assets/icMint.svg
new file mode 100644
index 00000000..a7f00bc4
--- /dev/null
+++ b/Nftzi/assets/icMint.svg
@@ -0,0 +1,12 @@
+
diff --git a/Nftzi/assets/icon.png b/Nftzi/assets/icon.png
new file mode 100644
index 00000000..a0b1526f
Binary files /dev/null and b/Nftzi/assets/icon.png differ
diff --git a/Nftzi/assets/illustration_connect_wallet.jpeg b/Nftzi/assets/illustration_connect_wallet.jpeg
new file mode 100644
index 00000000..600cdc2b
Binary files /dev/null and b/Nftzi/assets/illustration_connect_wallet.jpeg differ
diff --git a/Nftzi/assets/illustration_one.svg b/Nftzi/assets/illustration_one.svg
new file mode 100644
index 00000000..e8aed73c
--- /dev/null
+++ b/Nftzi/assets/illustration_one.svg
@@ -0,0 +1,87 @@
+
diff --git a/Nftzi/assets/powerred_by.png b/Nftzi/assets/powerred_by.png
new file mode 100644
index 00000000..e80a529b
Binary files /dev/null and b/Nftzi/assets/powerred_by.png differ
diff --git a/Nftzi/assets/splashw.png b/Nftzi/assets/splashw.png
new file mode 100644
index 00000000..b2e7102d
Binary files /dev/null and b/Nftzi/assets/splashw.png differ
diff --git a/Nftzi/assets/walletIcon.svg b/Nftzi/assets/walletIcon.svg
new file mode 100644
index 00000000..ca54d890
--- /dev/null
+++ b/Nftzi/assets/walletIcon.svg
@@ -0,0 +1,9 @@
+
diff --git a/Nftzi/babel.config.js b/Nftzi/babel.config.js
new file mode 100644
index 00000000..2900afe9
--- /dev/null
+++ b/Nftzi/babel.config.js
@@ -0,0 +1,6 @@
+module.exports = function(api) {
+ api.cache(true);
+ return {
+ presets: ['babel-preset-expo'],
+ };
+};
diff --git a/Nftzi/check.js b/Nftzi/check.js
new file mode 100644
index 00000000..65e57969
--- /dev/null
+++ b/Nftzi/check.js
@@ -0,0 +1,80 @@
+const ContractKit = require('@celo/contractkit');
+const Web3 = require('web3');
+const Nftzi = require('./abi/Nftzi.json');
+
+require('dotenv').config();
+
+const main = async () => {
+ const web3 = new Web3('https://alfajores-forno.celo-testnet.org');
+ const client = ContractKit.newKitFromWeb3(web3);
+
+ const account = web3.eth.accounts.privateKeyToAccount(process.env.PRIVATE_KEY);
+ const networkId = await web3.eth.net.getId();
+ client.connection.addAccount(account.privateKey);
+ const deployedNetwork = Nftzi.networks[networkId];
+
+ let goldtoken = await client.contracts.getGoldToken()
+ let celoBalance = await goldtoken.balanceOf(account.address)
+
+ console.log(`Your account address: ${account.address}`)
+ console.log(`Your account CELO balance: ${celoBalance.toString()}`)
+
+ if (!deployedNetwork) {
+ throw new Error(`${networkId} is not valid`);
+ }
+
+ let instance = new web3.eth.Contract(
+ Nftzi.abi,
+ deployedNetwork.address
+ );
+
+ // const txObject = await instance.methods.safeMint('https://static.tildacdn.com/tild3537-3262-4331-a437-346531316565/1_1.png', goldtoken.address);
+ // let tx = await client.sendTransactionObject(txObject, { from: account.address })
+
+ // let receipt = await tx.waitReceipt()
+ // console.log(receipt)
+
+ const txObject = await instance.methods.safeMint('https://static.tildacdn.com/tild6438-3139-4463-b731-666462663831/3.png', goldtoken.address);
+ let tx = await client.sendTransactionObject(txObject, { from: account.address })
+
+ let receipt = await tx.waitReceipt()
+ console.log(receipt)
+
+ // let tickres = await instance.methods.callTick().call();
+ // console.log(tickres)
+
+ let tokens = await instance.methods.tokensInfo().call();
+ console.log(tokens)
+
+ let nftBalance = await instance.methods.balanceOf(account.address).call();
+ console.log(nftBalance)
+
+ let test1Balance = await instance.methods.balanceOf('0xeB059Ad7161E9b78D4782ccE1f59c1b8a63E31f5').call();
+ console.log(test1Balance)
+
+ let test2Balance = await instance.methods.balanceOf('0x3F50f234B0B8CA42b73B99A7B1deDFDdA56efeDA').call();
+ console.log(test2Balance)
+
+ // const tokensIds = []
+
+ // instance.getPastEvents('Transfer', {
+ // filter: {
+ // _from: '0x0000000000000000000000000000000000000000'
+ // },
+ // fromBlock: 0
+ // }).then((events) => {
+ // for (let event of events) {
+ // tokensIds.push(event.returnValues.tokenId)
+ // }
+
+ // tokensIds.forEach( async(i) => {
+ // const res = await instance.methods.tokenSummary(i).call();
+ // console.log(i, ': ', res);
+ // });
+ // });
+};
+
+main().catch((err) => {
+ console.error(err);
+});
+
diff --git a/Nftzi/constants.ts b/Nftzi/constants.ts
new file mode 100644
index 00000000..b87c3b35
--- /dev/null
+++ b/Nftzi/constants.ts
@@ -0,0 +1,32 @@
+import * as Linking from "expo-linking";
+import {AppToken} from "./RentLendTokensView";
+
+export const dappName = "Nftzi";
+export const loginRequestId = "loginRequestId"
+export const mintRequestId = "mintRequestId"
+export const approveRequestId = "approveRequestId"
+export const redeemRequestId = "redeemRequestId"
+export const callback = Linking.createURL("/valora");
+
+export const getCurrecyContract = async (currency, kit) => {
+ switch (currency.toUpperCase()) {
+ case 'CELO':
+ return kit.contracts.getGoldToken();
+ case 'CUSD':
+ return kit.contracts.getStableToken();
+ default:
+ throw new Error('Currency must be specified');
+ }
+};
+
+export const isOwner = (token: AppToken, address:string): boolean => {
+ return token.creator.toLowerCase() === address.toLowerCase()
+}
+
+export const showRentedDetails = (token: AppToken, address:string): boolean => {
+ return !isOwner(token, address) && parseInt(token.rentedAt, 10) > 0
+}
+
+export const showWithdrawDetails = (token: AppToken, address:string): boolean => {
+ return isOwner(token, address) && parseInt(token.rentedAt, 10) > 0
+}
diff --git a/Nftzi/contracts/Nftzi.sol b/Nftzi/contracts/Nftzi.sol
new file mode 100644
index 00000000..ee8ca0d7
--- /dev/null
+++ b/Nftzi/contracts/Nftzi.sol
@@ -0,0 +1,162 @@
+// SPDX-License-Identifier: MIT
+pragma solidity ^0.8.0;
+
+import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
+import "@openzeppelin/contracts/utils/Counters.sol";
+import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
+
+contract Nftzi is ERC721 {
+ struct RentalStruct{
+ uint256 rentedAt;
+ uint256 tokenId;
+ address rentedBy;
+ }
+
+ struct TokenInfoStruct{
+ uint256 tokenId;
+ string URI;
+ address creator;
+ uint256 rentedAt;
+ address rentedBy;
+ uint256 balance;
+ }
+
+ using Counters for Counters.Counter;
+
+ uint256 public rentPriceCelo = 1 ether;
+ uint256 public _comission = 0.01 ether;
+
+ uint256 private _lastRun;
+ uint256[] private rentedSeq;
+
+ Counters.Counter private _tokenIdCounter;
+ Counters.Counter private _seqCounter;
+
+ mapping (uint256 => string) private _tokenURIs;
+ mapping (uint256 => address) private _tokenCreators;
+ mapping (uint256 => uint256) private _balances;
+ mapping (uint256 => address) private _tokenCurrencies;
+ mapping (uint256 => RentalStruct) private _rentedAt;
+ mapping (uint256 => uint256) private _tokenToSeq;
+
+ constructor() ERC721("Nftzi", "NFTZ") {
+ _lastRun = block.timestamp;
+ _tokenIdCounter.increment();
+ _seqCounter.increment();
+ }
+
+ function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual override returns (bool) {
+ require(_exists(tokenId), "ERC721: operator query for nonexistent token");
+ address creator = _tokenCreators[tokenId];
+ return (spender == creator);
+ }
+
+ function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual {
+ require(_exists(tokenId), "ERC721Metadata: URI set for nonexistent token");
+ _tokenURIs[tokenId] = _tokenURI;
+ }
+
+ function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {
+ require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token");
+ string memory _tokenURI = _tokenURIs[tokenId];
+ return _tokenURI;
+ }
+
+ function tokensInfo() public view returns(TokenInfoStruct[] memory) {
+ TokenInfoStruct[] memory _toReturn;
+ uint256 lastTokenId = _tokenIdCounter.current();
+ if (lastTokenId > 0) {
+ _toReturn = new TokenInfoStruct[](lastTokenId);
+ for (uint i = 1; i < lastTokenId; i++) {
+ _toReturn[i] = TokenInfoStruct(
+ i,
+ _tokenURIs[i],
+ _tokenCreators[i],
+ _rentedAt[_tokenToSeq[i]].rentedAt,
+ _rentedAt[_tokenToSeq[i]].rentedBy,
+ _balances[i]
+ );
+ }
+ }
+ return _toReturn;
+ }
+
+ function rent(uint256 tokenId) public {
+ require(_exists(tokenId), "ERC721: rent query for nonexistent token");
+
+ ERC20 token = ERC20(_tokenCurrencies[tokenId]);
+ require(token.balanceOf(msg.sender) >= rentPriceCelo);
+ token.transferFrom(msg.sender, address(this), rentPriceCelo);
+
+ _balances[tokenId] += rentPriceCelo - _comission;
+ uint256 currentSeq = _seqCounter.current();
+ _rentedAt[currentSeq] = RentalStruct(block.timestamp, tokenId, msg.sender);
+ _safeTransfer(_tokenCreators[tokenId], msg.sender, tokenId, "");
+ rentedSeq.push(currentSeq);
+ _tokenToSeq[tokenId] = currentSeq;
+ _seqCounter.increment();
+ }
+
+ function _tick() internal virtual {
+ _lastRun = block.timestamp;
+ _checkReturns();
+ }
+
+ function _checkReturns() internal virtual {
+ uint256[] memory _toReturn = new uint256[](rentedSeq.length);
+ for (uint i = 0; i < rentedSeq.length ; i++) {
+ RentalStruct memory _rentInfo = _rentedAt[rentedSeq[i]];
+ if (_lastRun - _rentInfo.rentedAt < 1 minutes) {
+ break;
+ } else {
+ _toReturn[i] = rentedSeq[i];
+ }
+ }
+ for (uint i = 0; i < _toReturn.length; i++) {
+ if (_toReturn[i] > 0) {
+ RentalStruct memory _rentInfo = _rentedAt[_toReturn[i]];
+ _returnRented(_rentInfo.tokenId, _rentInfo.rentedBy);
+ delete _rentedAt[_toReturn[i]];
+ delete rentedSeq[0];
+ delete _tokenToSeq[_toReturn[i]];
+ }
+ }
+ }
+
+ function _returnRented(uint256 tokenId, address rentedBy) internal virtual {
+ ERC20 token = ERC20(_tokenCurrencies[tokenId]);
+ require(token.balanceOf(address(this)) >= _balances[tokenId]);
+ token.transfer(_tokenCreators[tokenId], _balances[tokenId]);
+
+ _balances[tokenId] -= _balances[tokenId];
+
+ _safeTransfer(rentedBy, _tokenCreators[tokenId], tokenId, "");
+ }
+
+ function redeem(uint256 tokenId) public {
+ _lastRun = block.timestamp;
+
+ require(_exists(tokenId), "ERC721: rent query for nonexistent token");
+ require(msg.sender == _tokenCreators[tokenId], "Redeem: caller is not the creator");
+
+ uint256 _toRedeemPart = _balances[tokenId] / 1 minutes;
+ uint256 _toRedeemSeconds = _lastRun - _rentedAt[_tokenToSeq[tokenId]].rentedAt;
+ uint256 _toRedeem = _toRedeemPart * _toRedeemSeconds;
+
+ ERC20 token = ERC20(_tokenCurrencies[tokenId]);
+ require(token.balanceOf(address(this)) >= _toRedeem);
+
+ token.transfer(_tokenCreators[tokenId], _toRedeem);
+ _balances[tokenId] -= _toRedeem;
+ }
+
+ function safeMint(string memory _tokenURI, address rent_token_address) external {
+ _tick();
+ uint256 tokenId = _tokenIdCounter.current();
+ _tokenIdCounter.increment();
+ _safeMint(_msgSender(), tokenId);
+ _setTokenURI(tokenId, _tokenURI);
+ _tokenCreators[tokenId] = _msgSender();
+ _tokenCurrencies[tokenId] = rent_token_address;
+ }
+}
diff --git a/Nftzi/date.utils.ts b/Nftzi/date.utils.ts
new file mode 100644
index 00000000..e1be6aa0
--- /dev/null
+++ b/Nftzi/date.utils.ts
@@ -0,0 +1,30 @@
+import moment from "moment"
+
+export const secondsElapsedInPercent = (time: number): number => {
+ const now = moment(); //todays date
+ const end = moment(time * 1000 + 60 * 1000); // another date
+ const duration = moment.duration(end.diff(now));
+ const secondsLeft = duration.asSeconds();
+ const elapsed = 60 - (secondsLeft < 0 ? 0 : secondsLeft)
+ console.log('DateUtils', elapsed / 60)
+ return elapsed / 60
+}
+
+export const secondsElapsed = (time: number): number => {
+ const now = moment(); //todays date
+ const end = moment(time * 1000 + 60 * 1000); // another date
+ const duration = moment.duration(end.diff(now));
+ const secondsLeft = duration.asSeconds();
+ return 60 - (secondsLeft < 0 ? 0 : secondsLeft)
+}
+
+export const balanceElapsedInPercent = (time: number, total: number): number => {
+ const now = moment(); //todays date
+ const end = moment(time * 1000 + 60 * 1000); // another date
+ const duration = moment.duration(end.diff(now));
+ const secondsLeft = duration.asSeconds();
+ const elapsed = 60 - (secondsLeft < 0 ? 0 : secondsLeft)
+ console.log(now, end, elapsed)
+ const perSecond = total / 60
+ return (total - ((60 - elapsed) * perSecond)) / total
+}
diff --git a/Nftzi/eventEmitter.ts b/Nftzi/eventEmitter.ts
new file mode 100755
index 00000000..fcc4cb49
--- /dev/null
+++ b/Nftzi/eventEmitter.ts
@@ -0,0 +1,35 @@
+type EventMap = Record
+type EventKey = string & keyof T
+type EventReceiver = (params: T) => void
+
+interface Emitter {
+ on>(eventName: K, fn: EventReceiver): () => void
+ off>(eventName: K, fn: EventReceiver): void
+ emit>(eventName: K, params: T[K]): void
+}
+
+// `listeners` are unbounded -- don't use this in practice!
+function eventEmitter(): Emitter {
+ const listeners: {
+ [K in keyof EventMap]?: ((p: EventMap[K]) => void)[]
+ } = {}
+
+ return {
+ on(key, fn) {
+ listeners[key] = (listeners[key] || []).concat(fn)
+ return () => this.off(key, fn)
+ },
+ off(key, fn) {
+ listeners[key] = (listeners[key] || []).filter((f) => f !== fn)
+ },
+ emit(key, data) {
+ ;(listeners[key] || []).forEach(function (fn) {
+ fn(data)
+ })
+ },
+ }
+}
+
+export const appEmitter = eventEmitter<{
+ loading: boolean
+}>()
diff --git a/Nftzi/getKey.mjs b/Nftzi/getKey.mjs
new file mode 100644
index 00000000..9d6e90b8
--- /dev/null
+++ b/Nftzi/getKey.mjs
@@ -0,0 +1,8 @@
+import pkg from '@celo/keystores';
+const { FileKeystore } = pkg;
+import {} from 'dotenv/config'
+
+const parentDirectory = './'
+const keystore = new FileKeystore(parentDirectory)
+
+console.log(await keystore.getPrivateKey(process.env.ADDRESS, process.env.PASSWORD))
diff --git a/Nftzi/global.ts b/Nftzi/global.ts
new file mode 100644
index 00000000..aed618fc
--- /dev/null
+++ b/Nftzi/global.ts
@@ -0,0 +1,24 @@
+export interface Global {
+ btoa: any
+ self: any
+ Buffer: any
+ process: any
+ location: any
+}
+
+declare var global: Global
+if (typeof global.self === 'undefined') {
+ global.self = global
+}
+if (typeof btoa === 'undefined') {
+ global.btoa = function (str) {
+ return new Buffer(str, 'binary').toString('base64')
+ }
+}
+
+global.Buffer = require('buffer').Buffer
+global.process = require('process')
+global.location = {
+ protocol: 'https',
+}
+
diff --git a/Nftzi/iconsGenerator.js b/Nftzi/iconsGenerator.js
new file mode 100755
index 00000000..52f08614
--- /dev/null
+++ b/Nftzi/iconsGenerator.js
@@ -0,0 +1,117 @@
+const p = require('path')
+const fs = require('fs')
+
+const uniqueNames = new Set()
+function findInDir(dir, filter, fileList = []) {
+ const files = fs.readdirSync(dir)
+
+ files.forEach((file) => {
+ const filePath = p.join(dir, file)
+ const fileStat = fs.lstatSync(filePath)
+
+ if (fileStat.isDirectory()) {
+ findInDir(filePath, filter, fileList)
+ } else if (p.extname(filePath) === filter) {
+ const name = p.basename(filePath, filter)
+ if (uniqueNames.has(name)) throw new Error(`file exists: ${name}`)
+ uniqueNames.add(name)
+ fileList.push(filePath)
+ }
+ })
+
+ return fileList
+}
+
+const path = 'assets'
+
+const icons = findInDir(path, '.svg')
+const fileName = `${path}/AppIcon.tsx`
+
+if (fs.existsSync(fileName)) fs.unlinkSync(fileName)
+const logger = fs.createWriteStream(fileName)
+
+logger.write(`/* eslint-disable */
+import React, {memo} from 'react'
+import {StyleProp, View, ViewStyle} from 'react-native'
+`)
+
+const iconNames = Array.from(uniqueNames.values())
+const types = iconNames.map((c) => `'${c}'`).join(' | ')
+
+for (const icon of icons) {
+ const name = p.basename(icon, '.svg')
+ let capitalized = name.charAt(0).toUpperCase() + name.slice(1)
+ capitalized = capitalized
+ .split('-')
+ .map((c) => c.charAt(0).toUpperCase() + c.slice(1))
+ .join('')
+ logger.write(`import ${capitalized} from '.${icon.replace(path, '')}'\n`)
+}
+
+logger.write(`
+export type AppIconType = ${types}
+export interface AppIconProps {
+ readonly type: AppIconType
+ readonly testID?: string
+ readonly nativeID?: string
+ readonly style?: StyleProp
+ readonly isVisible?: boolean
+ readonly tint?: string
+ readonly stroke?: string
+ readonly width?: number
+ readonly height?: number
+}
+
+const getIcon = (type: AppIconType, tint: string | undefined, stroke: string | undefined, width: number | undefined, height: number | undefined): JSX.Element => {
+ switch (type) {
+`)
+
+for (let iconName of iconNames) {
+ let capitalized = iconName.charAt(0).toUpperCase() + iconName.slice(1)
+ capitalized = capitalized
+ .split('-')
+ .map((c) => c.charAt(0).toUpperCase() + c.slice(1))
+ .join('')
+
+ logger.write(` case '${iconName}':\n`)
+ logger.write(
+ ` if (!!tint && !width && !height) return <${capitalized} fill={tint} />\n`,
+ )
+ logger.write(
+ ` if (!!tint && width && height) return <${capitalized} fill={tint} width={width} height={height} />\n`,
+ )
+ logger.write(
+ ` if (!!stroke && !width && !height) return <${capitalized} stroke={stroke} />\n`,
+ )
+ logger.write(
+ ` if (!!stroke && width && height) return <${capitalized} stroke={stroke} width={width} height={height} />\n`,
+ )
+ logger.write(
+ ` if (!stroke && !tint && width && height) return <${capitalized} width={width} height={height} />\n`,
+ )
+ logger.write(` return <${capitalized} />\n`)
+}
+
+logger.write(` }
+}
+
+const AppIcon: React.FC = ({
+ type,
+ testID,
+ nativeID,
+ style,
+ isVisible,
+ tint,
+ stroke,
+ width,
+ height
+}) => {
+ if (isVisible === false) return null
+ return (
+
+ {getIcon(type, tint, stroke, width, height)}
+
+ )
+}
+export default memo(AppIcon)
+`)
diff --git a/Nftzi/metro.config.js b/Nftzi/metro.config.js
new file mode 100644
index 00000000..76db3b31
--- /dev/null
+++ b/Nftzi/metro.config.js
@@ -0,0 +1,48 @@
+const { getDefaultConfig } = require('metro-config');
+const crypto = require.resolve('crypto-browserify')
+const url = require.resolve('url/')
+// module.exports = {
+// resolver: {
+// extraNodeModules: {
+// crypto,
+// url,
+// fs: require.resolve('expo-file-system'),
+// http: require.resolve('stream-http'),
+// https: require.resolve('https-browserify'),
+// net: require.resolve('react-native-tcp'),
+// os: require.resolve('os-browserify/browser.js'),
+// path: require.resolve('path-browserify'),
+// stream: require.resolve('readable-stream'),
+// }
+// }
+// }
+
+module.exports = (async () => {
+ const {
+ resolver: {
+ sourceExts,
+ assetExts
+ },
+ } = await getDefaultConfig();
+ return {
+ transformer: {
+ babelTransformerPath: require.resolve('react-native-svg-transformer'),
+ },
+ resolver: {
+ assetExts: assetExts.filter(ext => ext !== 'svg'),
+ sourceExts: [...sourceExts, 'svg'],
+
+ extraNodeModules: {
+ crypto,
+ url,
+ fs: require.resolve('expo-file-system'),
+ http: require.resolve('stream-http'),
+ https: require.resolve('https-browserify'),
+ net: require.resolve('react-native-tcp'),
+ os: require.resolve('os-browserify/browser.js'),
+ path: require.resolve('path-browserify'),
+ stream: require.resolve('readable-stream'),
+ }
+ },
+ };
+})();
diff --git a/Nftzi/migrations/1_deploy_Nftzi.js b/Nftzi/migrations/1_deploy_Nftzi.js
new file mode 100644
index 00000000..1aca114d
--- /dev/null
+++ b/Nftzi/migrations/1_deploy_Nftzi.js
@@ -0,0 +1,6 @@
+var Nftzi = artifacts.require('Nftzi')
+
+module.exports = function(deployer) {
+ deployer.deploy(Nftzi)
+};
+
diff --git a/Nftzi/package.json b/Nftzi/package.json
new file mode 100644
index 00000000..bb6d3d2c
--- /dev/null
+++ b/Nftzi/package.json
@@ -0,0 +1,47 @@
+{
+ "name": "Nftzi",
+ "version": "1.0.0",
+ "main": "node_modules/expo/AppEntry.js",
+ "scripts": {
+ "start": "expo start",
+ "android": "expo start --android",
+ "ios": "expo start --ios",
+ "web": "expo start --web",
+ "eject": "expo eject"
+ },
+ "dependencies": {
+ "@celo/dappkit": "^1.3.3",
+ "@celo/utils": "^1.3.3",
+ "expo": "~43.0.2",
+ "expo-font": "^10.0.3",
+ "victory-native": "^36.2.0",
+ "expo-linking": "^2.4.2",
+ "expo-splash-screen": "^0.13.5",
+ "expo-status-bar": "~1.1.0",
+ "node-libs-react-native": "^1.2.1",
+ "react": "17.0.1",
+ "react-dom": "17.0.1",
+ "react-native": "0.64.3",
+ "react-native-loading-spinner-overlay": "^2.0.0",
+ "moment": "^2.29.1",
+ "react-native-safe-area-context": "^3.3.2",
+ "react-native-svg": "^12.1.1",
+ "react-native-tcp": "^4.0.0",
+ "react-native-web": "0.17.1",
+ "stream-browserify": "^3.0.0",
+ "vm-browserify": "^1.1.2"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.12.9",
+ "@celo/contractkit": "^1.3.3",
+ "@celo/keystores": "^1.3.3",
+ "@openzeppelin/contracts": "^4.3.3",
+ "@types/react": "~17.0.21",
+ "@types/react-native": "~0.64.12",
+ "dotenv": "^10.0.0",
+ "react-native-svg-transformer": "^0.14.3",
+ "truffle": "5.4.0",
+ "web3": "^1.6.1"
+ },
+ "private": true
+}
diff --git a/Nftzi/theme.ts b/Nftzi/theme.ts
new file mode 100644
index 00000000..a9a1b459
--- /dev/null
+++ b/Nftzi/theme.ts
@@ -0,0 +1,8 @@
+
+
+
+export const fonts = {
+ regular: 'GTFlexa-Rg',
+ bold: 'GTFlexa-Bd',
+}
+export type FontKey = keyof typeof fonts
diff --git a/Nftzi/truffle-config.js b/Nftzi/truffle-config.js
new file mode 100644
index 00000000..577ed112
--- /dev/null
+++ b/Nftzi/truffle-config.js
@@ -0,0 +1,35 @@
+const Web3 = require('web3');
+const ContractKit = require('@celo/contractkit');
+require('dotenv').config();
+
+const alfajoresKit = () => {
+ const web3 = new Web3('https://alfajores-forno.celo-testnet.org');
+ const kit = ContractKit.newKitFromWeb3(web3);
+
+ const account = web3.eth.accounts.privateKeyToAccount(process.env.PRIVATE_KEY);
+
+ kit.connection.addAccount(account.privateKey);
+ return kit;
+};
+
+module.exports = {
+ networks: {
+ local: {
+ host: '127.0.0.1', // Localhost (default: none)
+ port: 8545, // Standard Ethereum port (default: none)
+ network_id: '*' // Any network (default: none)
+ },
+ alfajores: {
+ provider: alfajoresKit().connection.web3.currentProvider, // CeloProvider
+ network_id: '44787' // latest Alfajores network id
+ }
+ },
+
+ compilers: {
+ solc: {
+ version: "^0.8.0"
+ }
+ },
+ contracts_build_directory: './abi',
+};
+
diff --git a/Nftzi/tsconfig.json b/Nftzi/tsconfig.json
new file mode 100644
index 00000000..0e6371f6
--- /dev/null
+++ b/Nftzi/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "compilerOptions": {},
+ "extends": "expo/tsconfig.base"
+}
diff --git a/Nftzi/yarn.lock b/Nftzi/yarn.lock
new file mode 100644
index 00000000..e8acf21d
--- /dev/null
+++ b/Nftzi/yarn.lock
@@ -0,0 +1,18786 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"101@^1.0.0", "101@^1.2.0":
+ version "1.6.3"
+ resolved "https://registry.yarnpkg.com/101/-/101-1.6.3.tgz#9071196e60c47e4ce327075cf49c0ad79bd822fd"
+ integrity sha512-4dmQ45yY0Dx24Qxp+zAsNLlMF6tteCyfVzgbulvSyC7tCyd3V8sW76sS0tHq8NpcbXfWTKasfyfzU1Kd86oKzw==
+ dependencies:
+ clone "^1.0.2"
+ deep-eql "^0.1.3"
+ keypather "^1.10.2"
+
+"@apollo/client@^3.1.5":
+ version "3.5.5"
+ resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.5.5.tgz#ce331403ee5f099e595430890f9b510c8435c932"
+ integrity sha512-EiQstc8VjeqosS2h21bwY9fhL3MCRRmACtRrRh2KYpp9vkDyx5pUfMnN3swgiBVYw1twdXg9jHmyZa1gZlvlog==
+ dependencies:
+ "@graphql-typed-document-node/core" "^3.0.0"
+ "@wry/context" "^0.6.0"
+ "@wry/equality" "^0.5.0"
+ "@wry/trie" "^0.3.0"
+ graphql-tag "^2.12.3"
+ hoist-non-react-statics "^3.3.2"
+ optimism "^0.16.1"
+ prop-types "^15.7.2"
+ symbol-observable "^4.0.0"
+ ts-invariant "^0.9.0"
+ tslib "^2.3.0"
+ zen-observable-ts "^1.2.0"
+
+"@apollo/protobufjs@1.2.2":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.2.tgz#4bd92cd7701ccaef6d517cdb75af2755f049f87c"
+ integrity sha512-vF+zxhPiLtkwxONs6YanSt1EpwpGilThpneExUN5K3tCymuxNnVq2yojTvnpRjv2QfsEIt/n7ozPIIzBLwGIDQ==
+ dependencies:
+ "@protobufjs/aspromise" "^1.1.2"
+ "@protobufjs/base64" "^1.1.2"
+ "@protobufjs/codegen" "^2.0.4"
+ "@protobufjs/eventemitter" "^1.1.0"
+ "@protobufjs/fetch" "^1.1.0"
+ "@protobufjs/float" "^1.0.2"
+ "@protobufjs/inquire" "^1.1.0"
+ "@protobufjs/path" "^1.1.2"
+ "@protobufjs/pool" "^1.1.0"
+ "@protobufjs/utf8" "^1.1.0"
+ "@types/long" "^4.0.0"
+ "@types/node" "^10.1.0"
+ long "^4.0.0"
+
+"@apollographql/apollo-tools@^0.5.0":
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.5.2.tgz#01750a655731a198c3634ee819c463254a7c7767"
+ integrity sha512-KxZiw0Us3k1d0YkJDhOpVH5rJ+mBfjXcgoRoCcslbgirjgLotKMzOcx4PZ7YTEvvEROmvG7X3Aon41GvMmyGsw==
+
+"@apollographql/graphql-playground-html@1.6.27":
+ version "1.6.27"
+ resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.27.tgz#bc9ab60e9445aa2a8813b4e94f152fa72b756335"
+ integrity sha512-tea2LweZvn6y6xFV11K0KC8ETjmm52mQrW+ezgB2O/aTQf8JGyFmMcRPFgUaQZeHbWdm8iisDC6EjOKsXu0nfw==
+ dependencies:
+ xss "^1.0.8"
+
+"@apollographql/graphql-upload-8-fork@^8.1.3":
+ version "8.1.3"
+ resolved "https://registry.yarnpkg.com/@apollographql/graphql-upload-8-fork/-/graphql-upload-8-fork-8.1.3.tgz#a0d4e0d5cec8e126d78bd915c264d6b90f5784bc"
+ integrity sha512-ssOPUT7euLqDXcdVv3Qs4LoL4BPtfermW1IOouaqEmj36TpHYDmYDIbKoSQxikd9vtMumFnP87OybH7sC9fJ6g==
+ dependencies:
+ "@types/express" "*"
+ "@types/fs-capacitor" "*"
+ "@types/koa" "*"
+ busboy "^0.3.1"
+ fs-capacitor "^2.0.4"
+ http-errors "^1.7.3"
+ object-path "^0.11.4"
+
+"@ardatan/aggregate-error@0.0.6":
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/@ardatan/aggregate-error/-/aggregate-error-0.0.6.tgz#fe6924771ea40fc98dc7a7045c2e872dc8527609"
+ integrity sha512-vyrkEHG1jrukmzTPtyWB4NLPauUw5bQeg4uhn8f+1SSynmrOcyvlb1GKQjjgoBzElLdfXCRYX8UnBlhklOHYRQ==
+ dependencies:
+ tslib "~2.0.1"
+
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431"
+ integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==
+ dependencies:
+ "@babel/highlight" "^7.16.0"
+
+"@babel/code-frame@~7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
+ integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
+ dependencies:
+ "@babel/highlight" "^7.10.4"
+
+"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.0", "@babel/compat-data@^7.16.4":
+ version "7.16.4"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e"
+ integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==
+
+"@babel/core@^7.0.0", "@babel/core@^7.1.6", "@babel/core@^7.12.9", "@babel/core@^7.14.0", "@babel/core@^7.4.5":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4"
+ integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==
+ dependencies:
+ "@babel/code-frame" "^7.16.0"
+ "@babel/generator" "^7.16.0"
+ "@babel/helper-compilation-targets" "^7.16.0"
+ "@babel/helper-module-transforms" "^7.16.0"
+ "@babel/helpers" "^7.16.0"
+ "@babel/parser" "^7.16.0"
+ "@babel/template" "^7.16.0"
+ "@babel/traverse" "^7.16.0"
+ "@babel/types" "^7.16.0"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.1.2"
+ semver "^6.3.0"
+ source-map "^0.5.0"
+
+"@babel/generator@^7.12.13", "@babel/generator@^7.14.0", "@babel/generator@^7.16.0", "@babel/generator@^7.5.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2"
+ integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==
+ dependencies:
+ "@babel/types" "^7.16.0"
+ jsesc "^2.5.1"
+ source-map "^0.5.0"
+
+"@babel/helper-annotate-as-pure@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d"
+ integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==
+ dependencies:
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz#f1a686b92da794020c26582eb852e9accd0d7882"
+ integrity sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ==
+ dependencies:
+ "@babel/helper-explode-assignable-expression" "^7.16.0"
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.0", "@babel/helper-compilation-targets@^7.16.3":
+ version "7.16.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0"
+ integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==
+ dependencies:
+ "@babel/compat-data" "^7.16.0"
+ "@babel/helper-validator-option" "^7.14.5"
+ browserslist "^4.17.5"
+ semver "^6.3.0"
+
+"@babel/helper-create-class-features-plugin@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz#090d4d166b342a03a9fec37ef4fd5aeb9c7c6a4b"
+ integrity sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.16.0"
+ "@babel/helper-function-name" "^7.16.0"
+ "@babel/helper-member-expression-to-functions" "^7.16.0"
+ "@babel/helper-optimise-call-expression" "^7.16.0"
+ "@babel/helper-replace-supers" "^7.16.0"
+ "@babel/helper-split-export-declaration" "^7.16.0"
+
+"@babel/helper-create-regexp-features-plugin@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz#06b2348ce37fccc4f5e18dcd8d75053f2a7c44ff"
+ integrity sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.16.0"
+ regexpu-core "^4.7.1"
+
+"@babel/helper-define-polyfill-provider@^0.3.0":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz#c5b10cf4b324ff840140bb07e05b8564af2ae971"
+ integrity sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.13.0"
+ "@babel/helper-module-imports" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/traverse" "^7.13.0"
+ debug "^4.1.1"
+ lodash.debounce "^4.0.8"
+ resolve "^1.14.2"
+ semver "^6.1.2"
+
+"@babel/helper-explode-assignable-expression@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz#753017337a15f46f9c09f674cff10cee9b9d7778"
+ integrity sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==
+ dependencies:
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-function-name@^7.12.13", "@babel/helper-function-name@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481"
+ integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.16.0"
+ "@babel/template" "^7.16.0"
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-get-function-arity@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa"
+ integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==
+ dependencies:
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-hoist-variables@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a"
+ integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==
+ dependencies:
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-member-expression-to-functions@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4"
+ integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==
+ dependencies:
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3"
+ integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==
+ dependencies:
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-module-transforms@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5"
+ integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.16.0"
+ "@babel/helper-replace-supers" "^7.16.0"
+ "@babel/helper-simple-access" "^7.16.0"
+ "@babel/helper-split-export-declaration" "^7.16.0"
+ "@babel/helper-validator-identifier" "^7.15.7"
+ "@babel/template" "^7.16.0"
+ "@babel/traverse" "^7.16.0"
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-optimise-call-expression@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338"
+ integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==
+ dependencies:
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9"
+ integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==
+
+"@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4":
+ version "7.16.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz#5d7902f61349ff6b963e07f06a389ce139fbfe6e"
+ integrity sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.16.0"
+ "@babel/helper-wrap-function" "^7.16.0"
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-replace-supers@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17"
+ integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==
+ dependencies:
+ "@babel/helper-member-expression-to-functions" "^7.16.0"
+ "@babel/helper-optimise-call-expression" "^7.16.0"
+ "@babel/traverse" "^7.16.0"
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-simple-access@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517"
+ integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==
+ dependencies:
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-skip-transparent-expression-wrappers@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09"
+ integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==
+ dependencies:
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-split-export-declaration@^7.12.13", "@babel/helper-split-export-declaration@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438"
+ integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==
+ dependencies:
+ "@babel/types" "^7.16.0"
+
+"@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.15.7":
+ version "7.15.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389"
+ integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==
+
+"@babel/helper-validator-option@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3"
+ integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==
+
+"@babel/helper-wrap-function@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz#b3cf318afce774dfe75b86767cd6d68f3482e57c"
+ integrity sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g==
+ dependencies:
+ "@babel/helper-function-name" "^7.16.0"
+ "@babel/template" "^7.16.0"
+ "@babel/traverse" "^7.16.0"
+ "@babel/types" "^7.16.0"
+
+"@babel/helpers@^7.16.0":
+ version "7.16.3"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c"
+ integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==
+ dependencies:
+ "@babel/template" "^7.16.0"
+ "@babel/traverse" "^7.16.3"
+ "@babel/types" "^7.16.0"
+
+"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a"
+ integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.15.7"
+ chalk "^2.0.0"
+ js-tokens "^4.0.0"
+
+"@babel/parser@7.12.16":
+ version "7.12.16"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.16.tgz#cc31257419d2c3189d394081635703f549fc1ed4"
+ integrity sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw==
+
+"@babel/parser@^7.0.0", "@babel/parser@^7.1.6", "@babel/parser@^7.12.13", "@babel/parser@^7.14.0", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3":
+ version "7.16.4"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e"
+ integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==
+
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2":
+ version "7.16.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz#2977fca9b212db153c195674e57cfab807733183"
+ integrity sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz#358972eaab006f5eb0826183b0c93cbcaf13e1e2"
+ integrity sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
+ "@babel/plugin-proposal-optional-chaining" "^7.16.0"
+
+"@babel/plugin-external-helpers@^7.0.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-external-helpers/-/plugin-external-helpers-7.16.0.tgz#cb2dd1c5398bd3552fe855fae97a2c03ab125223"
+ integrity sha512-jun5/kzq/fZugn+2zQNposKDp+9BrUl/Lp3bWrNrIzTk08+tZM3YcstUg/KbNbefEK8/Qy+mWaawgIC/Uc1e0w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-proposal-async-generator-functions@^7.16.4":
+ version "7.16.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz#e606eb6015fec6fa5978c940f315eae4e300b081"
+ integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-remap-async-to-generator" "^7.16.4"
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+
+"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz#c029618267ddebc7280fa286e0f8ca2a278a2d1a"
+ integrity sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-proposal-class-static-block@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz#5296942c564d8144c83eea347d0aa8a0b89170e7"
+ integrity sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-class-static-block" "^7.14.5"
+
+"@babel/plugin-proposal-decorators@^7.12.9":
+ version "7.16.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.4.tgz#9b35ce0716425a93b978e79099e5f7ba217c1364"
+ integrity sha512-RESBNX16eNqnBeEVR5sCJpnW0mHiNLNNvGA8PrRuK/4ZJ4TO+6bHleRUuGQYDERVySOKtOhSya/C4MIhwAMAgg==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-decorators" "^7.16.0"
+
+"@babel/plugin-proposal-dynamic-import@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz#783eca61d50526202f9b296095453977e88659f1"
+ integrity sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+
+"@babel/plugin-proposal-export-default-from@^7.0.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.16.0.tgz#f8a07008ffcb0d3de4945f3eb52022ecc28b56ad"
+ integrity sha512-kFAhaIbh5qbBwETRNa/cgGmPJ/BicXhIyrZhAkyYhf/Z9LXCTRGO1mvUwczto0Hl1q4YtzP9cRtTKT4wujm38Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-export-default-from" "^7.16.0"
+
+"@babel/plugin-proposal-export-namespace-from@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz#9c01dee40b9d6b847b656aaf4a3976a71740f222"
+ integrity sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+
+"@babel/plugin-proposal-json-strings@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz#cae35a95ed1d2a7fa29c4dc41540b84a72e9ab25"
+ integrity sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
+
+"@babel/plugin-proposal-logical-assignment-operators@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz#a711b8ceb3ffddd3ef88d3a49e86dbd3cc7db3fd"
+ integrity sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.1.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz#44e1cce08fe2427482cf446a91bb451528ed0596"
+ integrity sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+
+"@babel/plugin-proposal-numeric-separator@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz#5d418e4fbbf8b9b7d03125d3a52730433a373734"
+ integrity sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+
+"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz#5fb32f6d924d6e6712810362a60e12a2609872e6"
+ integrity sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg==
+ dependencies:
+ "@babel/compat-data" "^7.16.0"
+ "@babel/helper-compilation-targets" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-transform-parameters" "^7.16.0"
+
+"@babel/plugin-proposal-optional-catch-binding@^7.0.0", "@babel/plugin-proposal-optional-catch-binding@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz#5910085811ab4c28b00d6ebffa4ab0274d1e5f16"
+ integrity sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+
+"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.1.0", "@babel/plugin-proposal-optional-chaining@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz#56dbc3970825683608e9efb55ea82c2a2d6c8dc0"
+ integrity sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+
+"@babel/plugin-proposal-private-methods@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz#b4dafb9c717e4301c5776b30d080d6383c89aff6"
+ integrity sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-proposal-private-property-in-object@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz#69e935b2c5c79d2488112d886f0c4e2790fee76f"
+ integrity sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.16.0"
+ "@babel/helper-create-class-features-plugin" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+
+"@babel/plugin-proposal-unicode-property-regex@^7.16.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz#890482dfc5ea378e42e19a71e709728cabf18612"
+ integrity sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-async-generators@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
+ integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-class-properties@^7.0.0", "@babel/plugin-syntax-class-properties@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
+ integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
+"@babel/plugin-syntax-class-static-block@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406"
+ integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-decorators@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.0.tgz#eb8d811cdd1060f6ac3c00956bf3f6335505a32f"
+ integrity sha512-nxnnngZClvlY13nHJAIDow0S7Qzhq64fQ/NlqS+VER3kjW/4F0jLhXjeL8jcwSwz6Ca3rotT5NJD2T9I7lcv7g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
+ integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.16.0.tgz#648520667776781f9a0da178f245fff85bc9e36f"
+ integrity sha512-xllLOdBj77mFSw8s02I+2SSQGHOftbWTlGmagheuNk/gjQsk7IrYsR/EosXVAVpgIUFffLckB/iPRioQYLHSrQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-export-namespace-from@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a"
+ integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.3"
+
+"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.16.0", "@babel/plugin-syntax-flow@^7.2.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.0.tgz#07427021d093ed77019408221beaf0272bbcfaec"
+ integrity sha512-dH91yCo0RyqfzWgoM5Ji9ir8fQ+uFbt9KHM3d2x4jZOuHS6wNA+CRmRUP/BWCsHG2bjc7A2Way6AvH1eQk0wig==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-json-strings@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
+ integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz#f9624394317365a9a88c82358d3f8471154698f1"
+ integrity sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
+ integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-syntax-nullish-coalescing-operator@^7.0.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
+ integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-numeric-separator@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
+ integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
+"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
+ integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
+ integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-optional-chaining@^7.0.0", "@babel/plugin-syntax-optional-chaining@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
+ integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-private-property-in-object@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad"
+ integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-top-level-await@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
+ integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-typescript@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz#2feeb13d9334cc582ea9111d3506f773174179bb"
+ integrity sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz#951706f8b449c834ed07bd474c0924c944b95a8e"
+ integrity sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-async-to-generator@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604"
+ integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw==
+ dependencies:
+ "@babel/helper-module-imports" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-remap-async-to-generator" "^7.16.0"
+
+"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz#c618763233ad02847805abcac4c345ce9de7145d"
+ integrity sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz#bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16"
+ integrity sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz#54cf5ff0b2242c6573d753cd4bfc7077a8b282f5"
+ integrity sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.16.0"
+ "@babel/helper-function-name" "^7.16.0"
+ "@babel/helper-optimise-call-expression" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-replace-supers" "^7.16.0"
+ "@babel/helper-split-export-declaration" "^7.16.0"
+ globals "^11.1.0"
+
+"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz#e0c385507d21e1b0b076d66bed6d5231b85110b7"
+ integrity sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz#ad3d7e74584ad5ea4eadb1e6642146c590dee33c"
+ integrity sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-dotall-regex@^7.16.0", "@babel/plugin-transform-dotall-regex@^7.4.4":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz#50bab00c1084b6162d0a58a818031cf57798e06f"
+ integrity sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-duplicate-keys@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz#8bc2e21813e3e89e5e5bf3b60aa5fc458575a176"
+ integrity sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-exponentiation-operator@^7.0.0", "@babel/plugin-transform-exponentiation-operator@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz#a180cd2881e3533cef9d3901e48dad0fbeff4be4"
+ integrity sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw==
+ dependencies:
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.0.tgz#edd968dc2041c1b69e451a262e948d6654a79dc2"
+ integrity sha512-vs/F5roOaO/+WxKfp9PkvLsAyj0G+Q0zbFimHm9X2KDgabN2XmNFoAafmeGEYspUlIF9+MvVmyek9UyHiqeG/w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-flow" "^7.16.0"
+
+"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz#f7abaced155260e2461359bbc7c7248aca5e6bd2"
+ integrity sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz#02e3699c284c6262236599f751065c5d5f1f400e"
+ integrity sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg==
+ dependencies:
+ "@babel/helper-function-name" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz#79711e670ffceb31bd298229d50f3621f7980cac"
+ integrity sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz#5251b4cce01eaf8314403d21aedb269d79f5e64b"
+ integrity sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-modules-amd@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz#09abd41e18dcf4fd479c598c1cef7bd39eb1337e"
+ integrity sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ babel-plugin-dynamic-import-node "^2.3.3"
+
+"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.1.0", "@babel/plugin-transform-modules-commonjs@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz#add58e638c8ddc4875bd9a9ecb5c594613f6c922"
+ integrity sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-simple-access" "^7.16.0"
+ babel-plugin-dynamic-import-node "^2.3.3"
+
+"@babel/plugin-transform-modules-systemjs@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz#a92cf240afeb605f4ca16670453024425e421ea4"
+ integrity sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg==
+ dependencies:
+ "@babel/helper-hoist-variables" "^7.16.0"
+ "@babel/helper-module-transforms" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-validator-identifier" "^7.15.7"
+ babel-plugin-dynamic-import-node "^2.3.3"
+
+"@babel/plugin-transform-modules-umd@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz#195f26c2ad6d6a391b70880effce18ce625e06a7"
+ integrity sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-named-capturing-groups-regex@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz#d3db61cc5d5b97986559967cd5ea83e5c32096ca"
+ integrity sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.16.0"
+
+"@babel/plugin-transform-new-target@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz#af823ab576f752215a49937779a41ca65825ab35"
+ integrity sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-object-assign@^7.0.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.16.0.tgz#750c726397f1f6402fb1ceffe9d8ff3595c8a0df"
+ integrity sha512-TftKY6Hxo5Uf/EIoC3BKQyLvlH46tbtK4xub90vzi9+yS8z1+O/52YHyywCZvYeLPOvv//1j3BPokLuHTWPcbg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz#fb20d5806dc6491a06296ac14ea8e8d6fedda72b"
+ integrity sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-replace-supers" "^7.16.0"
+
+"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.16.0", "@babel/plugin-transform-parameters@^7.16.3":
+ version "7.16.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15"
+ integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz#a95c552189a96a00059f6776dc4e00e3690c78d1"
+ integrity sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-react-display-name@^7.0.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.0.tgz#9a0ad8aa8e8790883a7bd2736f66229a58125676"
+ integrity sha512-FJFdJAqaCpndL+pIf0aeD/qlQwT7QXOvR6Cc8JPvNhKJBi2zc/DPc4g05Y3fbD/0iWAMQFGij4+Xw+4L/BMpTg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-react-jsx-self@^7.0.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.16.0.tgz#09202158abbc716a08330f392bfb98d6b9acfa0c"
+ integrity sha512-97yCFY+2GvniqOThOSjPor8xUoDiQ0STVWAQMl3pjhJoFVe5DuXDLZCRSZxu9clx+oRCbTiXGgKEG/Yoyo6Y+w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-react-jsx-source@^7.0.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.16.0.tgz#d40c959d7803aae38224594585748693e84c0a22"
+ integrity sha512-8yvbGGrHOeb/oyPc9tzNoe9/lmIjz3HLa9Nc5dMGDyNpGjfFrk8D2KdEq9NRkftZzeoQEW6yPQ29TMZtrLiUUA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.12.17":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.0.tgz#55b797d4960c3de04e07ad1c0476e2bc6a4889f1"
+ integrity sha512-rqDgIbukZ44pqq7NIRPGPGNklshPkvlmvqjdx3OZcGPk4zGIenYkxDTvl3LsSL8gqcc3ZzGmXPE6hR/u/voNOw==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.16.0"
+ "@babel/helper-module-imports" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-jsx" "^7.16.0"
+ "@babel/types" "^7.16.0"
+
+"@babel/plugin-transform-regenerator@^7.0.0", "@babel/plugin-transform-regenerator@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4"
+ integrity sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg==
+ dependencies:
+ regenerator-transform "^0.14.2"
+
+"@babel/plugin-transform-reserved-words@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz#fff4b9dcb19e12619394bda172d14f2d04c0379c"
+ integrity sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-runtime@^7.0.0":
+ version "7.16.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.4.tgz#f9ba3c7034d429c581e1bd41b4952f3db3c2c7e8"
+ integrity sha512-pru6+yHANMTukMtEZGC4fs7XPwg35v8sj5CIEmE+gEkFljFiVJxEWxx/7ZDkTK+iZRYo1bFXBtfIN95+K3cJ5A==
+ dependencies:
+ "@babel/helper-module-imports" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ babel-plugin-polyfill-corejs2 "^0.3.0"
+ babel-plugin-polyfill-corejs3 "^0.4.0"
+ babel-plugin-polyfill-regenerator "^0.3.0"
+ semver "^6.3.0"
+
+"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz#090372e3141f7cc324ed70b3daf5379df2fa384d"
+ integrity sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz#d21ca099bbd53ab307a8621e019a7bd0f40cdcfb"
+ integrity sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
+
+"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz#c35ea31a02d86be485f6aa510184b677a91738fd"
+ integrity sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz#a8eced3a8e7b8e2d40ec4ec4548a45912630d302"
+ integrity sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-typeof-symbol@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz#8b19a244c6f8c9d668dca6a6f754ad6ead1128f2"
+ integrity sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-typescript@^7.16.0", "@babel/plugin-transform-typescript@^7.5.0":
+ version "7.16.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.1.tgz#cc0670b2822b0338355bc1b3d2246a42b8166409"
+ integrity sha512-NO4XoryBng06jjw/qWEU2LhcLJr1tWkhpMam/H4eas/CDKMX/b2/Ylb6EI256Y7+FVPCawwSM1rrJNOpDiz+Lg==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-typescript" "^7.16.0"
+
+"@babel/plugin-transform-unicode-escapes@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz#1a354064b4c45663a32334f46fa0cf6100b5b1f3"
+ integrity sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz#293b80950177c8c85aede87cef280259fb995402"
+ integrity sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.16.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/preset-env@^7.12.9":
+ version "7.16.4"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.4.tgz#4f6ec33b2a3fe72d6bfdcdf3859500232563a2e3"
+ integrity sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA==
+ dependencies:
+ "@babel/compat-data" "^7.16.4"
+ "@babel/helper-compilation-targets" "^7.16.3"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-validator-option" "^7.14.5"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.2"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0"
+ "@babel/plugin-proposal-async-generator-functions" "^7.16.4"
+ "@babel/plugin-proposal-class-properties" "^7.16.0"
+ "@babel/plugin-proposal-class-static-block" "^7.16.0"
+ "@babel/plugin-proposal-dynamic-import" "^7.16.0"
+ "@babel/plugin-proposal-export-namespace-from" "^7.16.0"
+ "@babel/plugin-proposal-json-strings" "^7.16.0"
+ "@babel/plugin-proposal-logical-assignment-operators" "^7.16.0"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0"
+ "@babel/plugin-proposal-numeric-separator" "^7.16.0"
+ "@babel/plugin-proposal-object-rest-spread" "^7.16.0"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.16.0"
+ "@babel/plugin-proposal-optional-chaining" "^7.16.0"
+ "@babel/plugin-proposal-private-methods" "^7.16.0"
+ "@babel/plugin-proposal-private-property-in-object" "^7.16.0"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.16.0"
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+ "@babel/plugin-syntax-class-properties" "^7.12.13"
+ "@babel/plugin-syntax-class-static-block" "^7.14.5"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+ "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+ "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+ "@babel/plugin-syntax-top-level-await" "^7.14.5"
+ "@babel/plugin-transform-arrow-functions" "^7.16.0"
+ "@babel/plugin-transform-async-to-generator" "^7.16.0"
+ "@babel/plugin-transform-block-scoped-functions" "^7.16.0"
+ "@babel/plugin-transform-block-scoping" "^7.16.0"
+ "@babel/plugin-transform-classes" "^7.16.0"
+ "@babel/plugin-transform-computed-properties" "^7.16.0"
+ "@babel/plugin-transform-destructuring" "^7.16.0"
+ "@babel/plugin-transform-dotall-regex" "^7.16.0"
+ "@babel/plugin-transform-duplicate-keys" "^7.16.0"
+ "@babel/plugin-transform-exponentiation-operator" "^7.16.0"
+ "@babel/plugin-transform-for-of" "^7.16.0"
+ "@babel/plugin-transform-function-name" "^7.16.0"
+ "@babel/plugin-transform-literals" "^7.16.0"
+ "@babel/plugin-transform-member-expression-literals" "^7.16.0"
+ "@babel/plugin-transform-modules-amd" "^7.16.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.16.0"
+ "@babel/plugin-transform-modules-systemjs" "^7.16.0"
+ "@babel/plugin-transform-modules-umd" "^7.16.0"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.0"
+ "@babel/plugin-transform-new-target" "^7.16.0"
+ "@babel/plugin-transform-object-super" "^7.16.0"
+ "@babel/plugin-transform-parameters" "^7.16.3"
+ "@babel/plugin-transform-property-literals" "^7.16.0"
+ "@babel/plugin-transform-regenerator" "^7.16.0"
+ "@babel/plugin-transform-reserved-words" "^7.16.0"
+ "@babel/plugin-transform-shorthand-properties" "^7.16.0"
+ "@babel/plugin-transform-spread" "^7.16.0"
+ "@babel/plugin-transform-sticky-regex" "^7.16.0"
+ "@babel/plugin-transform-template-literals" "^7.16.0"
+ "@babel/plugin-transform-typeof-symbol" "^7.16.0"
+ "@babel/plugin-transform-unicode-escapes" "^7.16.0"
+ "@babel/plugin-transform-unicode-regex" "^7.16.0"
+ "@babel/preset-modules" "^0.1.5"
+ "@babel/types" "^7.16.0"
+ babel-plugin-polyfill-corejs2 "^0.3.0"
+ babel-plugin-polyfill-corejs3 "^0.4.0"
+ babel-plugin-polyfill-regenerator "^0.3.0"
+ core-js-compat "^3.19.1"
+ semver "^6.3.0"
+
+"@babel/preset-flow@^7.0.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.16.0.tgz#9f1f6e72714d79460d48058cb5658fc87da7150b"
+ integrity sha512-e5NE1EoPMpoHFkyFkMSj2h9tu7OolARcUHki8mnBv4NiFK9so+UrhbvT9mV99tMJOUEx8BOj67T6dXvGcTeYeQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-validator-option" "^7.14.5"
+ "@babel/plugin-transform-flow-strip-types" "^7.16.0"
+
+"@babel/preset-modules@^0.1.5":
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9"
+ integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
+ "@babel/plugin-transform-dotall-regex" "^7.4.4"
+ "@babel/types" "^7.4.4"
+ esutils "^2.0.2"
+
+"@babel/preset-typescript@^7.1.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.16.0.tgz#b0b4f105b855fb3d631ec036cdc9d1ffd1fa5eac"
+ integrity sha512-txegdrZYgO9DlPbv+9QOVpMnKbOtezsLHWsnsRF4AjbSIsVaujrq1qg8HK0mxQpWv0jnejt0yEoW1uWpvbrDTg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-validator-option" "^7.14.5"
+ "@babel/plugin-transform-typescript" "^7.16.0"
+
+"@babel/register@^7.0.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.16.0.tgz#f5d2aa14df37cf7146b9759f7c53818360f24ec6"
+ integrity sha512-lzl4yfs0zVXnooeLE0AAfYaT7F3SPA8yB2Bj4W1BiZwLbMS3MZH35ZvCWSRHvneUugwuM+Wsnrj7h0F7UmU3NQ==
+ dependencies:
+ clone-deep "^4.0.1"
+ find-cache-dir "^2.0.0"
+ make-dir "^2.1.0"
+ pirates "^4.0.0"
+ source-map-support "^0.5.16"
+
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.14.0", "@babel/runtime@^7.4.4", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
+ version "7.16.3"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5"
+ integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
+"@babel/template@^7.0.0", "@babel/template@^7.16.0":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6"
+ integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==
+ dependencies:
+ "@babel/code-frame" "^7.16.0"
+ "@babel/parser" "^7.16.0"
+ "@babel/types" "^7.16.0"
+
+"@babel/traverse@7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.13.tgz#689f0e4b4c08587ad26622832632735fb8c4e0c0"
+ integrity sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==
+ dependencies:
+ "@babel/code-frame" "^7.12.13"
+ "@babel/generator" "^7.12.13"
+ "@babel/helper-function-name" "^7.12.13"
+ "@babel/helper-split-export-declaration" "^7.12.13"
+ "@babel/parser" "^7.12.13"
+ "@babel/types" "^7.12.13"
+ debug "^4.1.0"
+ globals "^11.1.0"
+ lodash "^4.17.19"
+
+"@babel/traverse@^7.0.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3":
+ version "7.16.3"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787"
+ integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==
+ dependencies:
+ "@babel/code-frame" "^7.16.0"
+ "@babel/generator" "^7.16.0"
+ "@babel/helper-function-name" "^7.16.0"
+ "@babel/helper-hoist-variables" "^7.16.0"
+ "@babel/helper-split-export-declaration" "^7.16.0"
+ "@babel/parser" "^7.16.3"
+ "@babel/types" "^7.16.0"
+ debug "^4.1.0"
+ globals "^11.1.0"
+
+"@babel/types@7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.13.tgz#8be1aa8f2c876da11a9cf650c0ecf656913ad611"
+ integrity sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.12.11"
+ lodash "^4.17.19"
+ to-fast-properties "^2.0.0"
+
+"@babel/types@^7.0.0", "@babel/types@^7.12.13", "@babel/types@^7.16.0", "@babel/types@^7.4.4":
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba"
+ integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.15.7"
+ to-fast-properties "^2.0.0"
+
+"@celo/base@1.3.3":
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/@celo/base/-/base-1.3.3.tgz#a74ef1b9a63afd831d5f3ec6399bb98cc2fc733a"
+ integrity sha512-FA7C212AMCRVbWCBFNmmh0AKEStztwxkmMNYGLOSpBNu6QIMvTw/ZZKMqJeXJ0KcZvH0/xK9K3vjVEq2J9Z1HQ==
+
+"@celo/connect@1.3.3":
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/@celo/connect/-/connect-1.3.3.tgz#b9f9b4a634f454c1e72bda751f1bb3108f727ece"
+ integrity sha512-owgLDd3S4vYWR+yjYqx5OXGm9b0YIsOOpgCahyzlQLLEi/XgDhdk9EVdVIFeKv2bgmrZtPE80FqN+9iqNLi+hw==
+ dependencies:
+ "@celo/utils" "1.3.3"
+ "@types/debug" "^4.1.5"
+ "@types/utf8" "^2.1.6"
+ bignumber.js "^9.0.0"
+ debug "^4.1.1"
+ utf8 "3.0.0"
+
+"@celo/contractkit@1.3.3", "@celo/contractkit@^1.3.3":
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/@celo/contractkit/-/contractkit-1.3.3.tgz#89d573dd5c354a5b66434e2d77d5ccf77962c3be"
+ integrity sha512-8SIrgwkLddG35gyktLwjyyPJLYeDYTarFt70T/kvn852enEjjickRy7q5BvXzO8sVajuS1f6YgWMO6wk6Emh2Q==
+ dependencies:
+ "@celo/base" "1.3.3"
+ "@celo/connect" "1.3.3"
+ "@celo/utils" "1.3.3"
+ "@celo/wallet-local" "1.3.3"
+ "@types/debug" "^4.1.5"
+ bignumber.js "^9.0.0"
+ cross-fetch "^3.0.6"
+ debug "^4.1.1"
+ fp-ts "2.1.1"
+ io-ts "2.0.1"
+ semver "^7.3.5"
+ web3 "1.3.6"
+
+"@celo/dappkit@^1.3.3":
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/@celo/dappkit/-/dappkit-1.3.3.tgz#7129f556d269d600b9706fa6c37369f237907a96"
+ integrity sha512-OstZKLpuzPa4qe2Qmz8Kku7NNaaTDmNYiGibyCapLCkf9cRW7MHK8zZx7Q+hGY74rV/nEk2FgWhjyzaTqAw4ow==
+ dependencies:
+ "@celo/connect" "1.3.3"
+ "@celo/contractkit" "1.3.3"
+ "@celo/utils" "1.3.3"
+ react-native "^0.63.4"
+
+"@celo/keystores@^1.3.3":
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/@celo/keystores/-/keystores-1.3.3.tgz#b43d8296fe7337544e458e961af93e73d171fea0"
+ integrity sha512-0/LkcGwu/IX28KBua17SWY2fHm3bKuukz3MmI2BEy+o4dAAm0j8cHjrckOG8wKmtFVB+dWnsK2WTe77agAbO0w==
+ dependencies:
+ "@celo/utils" "1.3.3"
+ "@celo/wallet-local" "1.3.3"
+ "@types/ethereumjs-util" "^5.2.0"
+ ethereumjs-wallet "^1.0.1"
+
+"@celo/utils@1.3.3", "@celo/utils@^1.3.3":
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/@celo/utils/-/utils-1.3.3.tgz#f39f3d22f3c6277ff87ec4eb14074885b81cfea8"
+ integrity sha512-O7AqQIO7+uIb8bSreb75gXyxSY4lt9oKxYP5KYaTOgjcTiH0OqSkxn87mFuuAn0FWAPVUp3CNP0ZINWTHXpGVg==
+ dependencies:
+ "@celo/base" "1.3.3"
+ "@types/country-data" "^0.0.0"
+ "@types/elliptic" "^6.4.9"
+ "@types/ethereumjs-util" "^5.2.0"
+ "@types/google-libphonenumber" "^7.4.17"
+ "@types/lodash" "^4.14.170"
+ "@types/node" "^10.12.18"
+ "@types/randombytes" "^2.0.0"
+ bigi "^1.1.0"
+ bignumber.js "^9.0.0"
+ bip32 "2.0.5"
+ bip39 "https://github.com/bitcoinjs/bip39#d8ea080a18b40f301d4e2219a2991cd2417e83c2"
+ bls12377js "https://github.com/celo-org/bls12377js#cb38a4cfb643c778619d79b20ca3e5283a2122a6"
+ bn.js "4.11.8"
+ buffer-reverse "^1.0.1"
+ country-data "^0.0.31"
+ crypto-js "^3.1.9-1"
+ elliptic "^6.5.4"
+ ethereumjs-util "^5.2.0"
+ fp-ts "2.1.1"
+ google-libphonenumber "^3.2.15"
+ io-ts "2.0.1"
+ keccak256 "^1.0.0"
+ lodash "^4.17.21"
+ numeral "^2.0.6"
+ web3-eth-abi "1.3.6"
+ web3-utils "1.3.6"
+
+"@celo/wallet-base@1.3.3":
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/@celo/wallet-base/-/wallet-base-1.3.3.tgz#31397c6a84ff827fb131d738357c4db489b1f790"
+ integrity sha512-huP36Djm86CCj7LvVcxVCIWDvlCRAMzTOiQrmMchfDPy+IOk7eh7SUaPMpxbZb/UY0RQjnjLAF/1XT1h8IJVYg==
+ dependencies:
+ "@celo/base" "1.3.3"
+ "@celo/connect" "1.3.3"
+ "@celo/utils" "1.3.3"
+ "@types/debug" "^4.1.5"
+ "@types/ethereumjs-util" "^5.2.0"
+ bignumber.js "^9.0.0"
+ debug "^4.1.1"
+ eth-lib "^0.2.8"
+ ethereumjs-util "^5.2.0"
+
+"@celo/wallet-local@1.3.3":
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/@celo/wallet-local/-/wallet-local-1.3.3.tgz#5dffbe8a6270aedfb3da5584a1ab1522bac876f7"
+ integrity sha512-QOkVl0Onei31+DKN123GuebtrWyGBzvma/iYgG15UlLavNuiXqjUQ2eemP/Zn5vigUPmnOOxT1wwuNr5tja4jA==
+ dependencies:
+ "@celo/connect" "1.3.3"
+ "@celo/utils" "1.3.3"
+ "@celo/wallet-base" "1.3.3"
+ "@types/ethereumjs-util" "^5.2.0"
+ eth-lib "^0.2.8"
+ ethereumjs-util "^5.2.0"
+
+"@cnakazawa/watch@^1.0.3":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a"
+ integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==
+ dependencies:
+ exec-sh "^0.3.2"
+ minimist "^1.2.0"
+
+"@consento/sync-randombytes@^1.0.4", "@consento/sync-randombytes@^1.0.5":
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/@consento/sync-randombytes/-/sync-randombytes-1.0.5.tgz#5be6bc58c6a6fa6e09f04cc684d037e29e6c28d5"
+ integrity sha512-mPJ2XvrTLQGEdhleDuSIkWtVWnvmhREOC1FjorV1nlK49t/52Z9X1d618gTj6nlQghRLiYvcd8oL4vZ2YZuDIQ==
+ dependencies:
+ buffer "^5.4.3"
+ seedrandom "^3.0.5"
+
+"@ensdomains/address-encoder@^0.1.7":
+ version "0.1.9"
+ resolved "https://registry.yarnpkg.com/@ensdomains/address-encoder/-/address-encoder-0.1.9.tgz#f948c485443d9ef7ed2c0c4790e931c33334d02d"
+ integrity sha512-E2d2gP4uxJQnDu2Kfg1tHNspefzbLT8Tyjrm5sEuim32UkU2sm5xL4VXtgc2X33fmPEw9+jUMpGs4veMbf+PYg==
+ dependencies:
+ bech32 "^1.1.3"
+ blakejs "^1.1.0"
+ bn.js "^4.11.8"
+ bs58 "^4.0.1"
+ crypto-addr-codec "^0.1.7"
+ nano-base32 "^1.0.1"
+ ripemd160 "^2.0.2"
+
+"@ensdomains/ens@0.4.3":
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/@ensdomains/ens/-/ens-0.4.3.tgz#f4a6b55146fe526c9a50e13f373bf90d36ca94dc"
+ integrity sha512-btC+fGze//ml8SMNCx5DgwM8+kG2t+qDCZrqlL/2+PV4CNxnRIpR3egZ49D9FqS52PFoYLmz6MaQfl7AO3pUMA==
+ dependencies:
+ bluebird "^3.5.2"
+ eth-ens-namehash "^2.0.8"
+ ethereumjs-testrpc "^6.0.3"
+ ganache-cli "^6.1.0"
+ solc "^0.4.20"
+ testrpc "0.0.1"
+ web3-utils "^1.0.0-beta.31"
+
+"@ensdomains/ensjs@^2.0.1":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@ensdomains/ensjs/-/ensjs-2.0.1.tgz#c27438f9ca074825ddb08430988c7decf2062a91"
+ integrity sha512-gZLntzE1xqPNkPvaHdJlV5DXHms8JbHBwrXc2xNrL1AylERK01Lj/txCCZyVQqFd3TvUO1laDbfUv8VII0qrjg==
+ dependencies:
+ "@babel/runtime" "^7.4.4"
+ "@ensdomains/address-encoder" "^0.1.7"
+ "@ensdomains/ens" "0.4.3"
+ "@ensdomains/resolver" "0.2.4"
+ content-hash "^2.5.2"
+ eth-ens-namehash "^2.0.8"
+ ethers "^5.0.13"
+ js-sha3 "^0.8.0"
+
+"@ensdomains/resolver@0.2.4":
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/@ensdomains/resolver/-/resolver-0.2.4.tgz#c10fe28bf5efbf49bff4666d909aed0265efbc89"
+ integrity sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==
+
+"@ethereumjs/common@^2.3.0", "@ethereumjs/common@^2.4.0", "@ethereumjs/common@^2.5.0", "@ethereumjs/common@^2.6.0":
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.0.tgz#feb96fb154da41ee2cc2c5df667621a440f36348"
+ integrity sha512-Cq2qS0FTu6O2VU1sgg+WyU9Ps0M6j/BEMHN+hRaECXCV/r0aI78u4N6p52QW/BDVhwWZpCdrvG8X7NJdzlpNUA==
+ dependencies:
+ crc-32 "^1.2.0"
+ ethereumjs-util "^7.1.3"
+
+"@ethereumjs/tx@^3.2.1", "@ethereumjs/tx@^3.3.2":
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.4.0.tgz#7eb1947eefa55eb9cf05b3ca116fb7a3dbd0bce7"
+ integrity sha512-WWUwg1PdjHKZZxPPo274ZuPsJCWV3SqATrEKQP1n2DrVYVP1aZIYpo/mFaA0BDoE0tIQmBeimRCEA0Lgil+yYw==
+ dependencies:
+ "@ethereumjs/common" "^2.6.0"
+ ethereumjs-util "^7.1.3"
+
+"@ethersproject/abi@5.0.7":
+ version "5.0.7"
+ resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.7.tgz#79e52452bd3ca2956d0e1c964207a58ad1a0ee7b"
+ integrity sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==
+ dependencies:
+ "@ethersproject/address" "^5.0.4"
+ "@ethersproject/bignumber" "^5.0.7"
+ "@ethersproject/bytes" "^5.0.4"
+ "@ethersproject/constants" "^5.0.4"
+ "@ethersproject/hash" "^5.0.4"
+ "@ethersproject/keccak256" "^5.0.3"
+ "@ethersproject/logger" "^5.0.5"
+ "@ethersproject/properties" "^5.0.3"
+ "@ethersproject/strings" "^5.0.4"
+
+"@ethersproject/abi@5.5.0", "@ethersproject/abi@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.5.0.tgz#fb52820e22e50b854ff15ce1647cc508d6660613"
+ integrity sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w==
+ dependencies:
+ "@ethersproject/address" "^5.5.0"
+ "@ethersproject/bignumber" "^5.5.0"
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/constants" "^5.5.0"
+ "@ethersproject/hash" "^5.5.0"
+ "@ethersproject/keccak256" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ "@ethersproject/properties" "^5.5.0"
+ "@ethersproject/strings" "^5.5.0"
+
+"@ethersproject/abstract-provider@5.5.1", "@ethersproject/abstract-provider@^5.5.0":
+ version "5.5.1"
+ resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz#2f1f6e8a3ab7d378d8ad0b5718460f85649710c5"
+ integrity sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg==
+ dependencies:
+ "@ethersproject/bignumber" "^5.5.0"
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ "@ethersproject/networks" "^5.5.0"
+ "@ethersproject/properties" "^5.5.0"
+ "@ethersproject/transactions" "^5.5.0"
+ "@ethersproject/web" "^5.5.0"
+
+"@ethersproject/abstract-signer@5.5.0", "@ethersproject/abstract-signer@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz#590ff6693370c60ae376bf1c7ada59eb2a8dd08d"
+ integrity sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA==
+ dependencies:
+ "@ethersproject/abstract-provider" "^5.5.0"
+ "@ethersproject/bignumber" "^5.5.0"
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ "@ethersproject/properties" "^5.5.0"
+
+"@ethersproject/address@5.5.0", "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.5.0.tgz#bcc6f576a553f21f3dd7ba17248f81b473c9c78f"
+ integrity sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw==
+ dependencies:
+ "@ethersproject/bignumber" "^5.5.0"
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/keccak256" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ "@ethersproject/rlp" "^5.5.0"
+
+"@ethersproject/base64@5.5.0", "@ethersproject/base64@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.5.0.tgz#881e8544e47ed976930836986e5eb8fab259c090"
+ integrity sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA==
+ dependencies:
+ "@ethersproject/bytes" "^5.5.0"
+
+"@ethersproject/basex@5.5.0", "@ethersproject/basex@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.5.0.tgz#e40a53ae6d6b09ab4d977bd037010d4bed21b4d3"
+ integrity sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ==
+ dependencies:
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/properties" "^5.5.0"
+
+"@ethersproject/bignumber@5.5.0", "@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.5.0.tgz#875b143f04a216f4f8b96245bde942d42d279527"
+ integrity sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg==
+ dependencies:
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ bn.js "^4.11.9"
+
+"@ethersproject/bytes@5.5.0", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.5.0.tgz#cb11c526de657e7b45d2e0f0246fb3b9d29a601c"
+ integrity sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog==
+ dependencies:
+ "@ethersproject/logger" "^5.5.0"
+
+"@ethersproject/constants@5.5.0", "@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.5.0.tgz#d2a2cd7d94bd1d58377d1d66c4f53c9be4d0a45e"
+ integrity sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ==
+ dependencies:
+ "@ethersproject/bignumber" "^5.5.0"
+
+"@ethersproject/contracts@5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.5.0.tgz#b735260d4bd61283a670a82d5275e2a38892c197"
+ integrity sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg==
+ dependencies:
+ "@ethersproject/abi" "^5.5.0"
+ "@ethersproject/abstract-provider" "^5.5.0"
+ "@ethersproject/abstract-signer" "^5.5.0"
+ "@ethersproject/address" "^5.5.0"
+ "@ethersproject/bignumber" "^5.5.0"
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/constants" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ "@ethersproject/properties" "^5.5.0"
+ "@ethersproject/transactions" "^5.5.0"
+
+"@ethersproject/hash@5.5.0", "@ethersproject/hash@^5.0.4", "@ethersproject/hash@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.5.0.tgz#7cee76d08f88d1873574c849e0207dcb32380cc9"
+ integrity sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg==
+ dependencies:
+ "@ethersproject/abstract-signer" "^5.5.0"
+ "@ethersproject/address" "^5.5.0"
+ "@ethersproject/bignumber" "^5.5.0"
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/keccak256" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ "@ethersproject/properties" "^5.5.0"
+ "@ethersproject/strings" "^5.5.0"
+
+"@ethersproject/hdnode@5.5.0", "@ethersproject/hdnode@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.5.0.tgz#4a04e28f41c546f7c978528ea1575206a200ddf6"
+ integrity sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q==
+ dependencies:
+ "@ethersproject/abstract-signer" "^5.5.0"
+ "@ethersproject/basex" "^5.5.0"
+ "@ethersproject/bignumber" "^5.5.0"
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ "@ethersproject/pbkdf2" "^5.5.0"
+ "@ethersproject/properties" "^5.5.0"
+ "@ethersproject/sha2" "^5.5.0"
+ "@ethersproject/signing-key" "^5.5.0"
+ "@ethersproject/strings" "^5.5.0"
+ "@ethersproject/transactions" "^5.5.0"
+ "@ethersproject/wordlists" "^5.5.0"
+
+"@ethersproject/json-wallets@5.5.0", "@ethersproject/json-wallets@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz#dd522d4297e15bccc8e1427d247ec8376b60e325"
+ integrity sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ==
+ dependencies:
+ "@ethersproject/abstract-signer" "^5.5.0"
+ "@ethersproject/address" "^5.5.0"
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/hdnode" "^5.5.0"
+ "@ethersproject/keccak256" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ "@ethersproject/pbkdf2" "^5.5.0"
+ "@ethersproject/properties" "^5.5.0"
+ "@ethersproject/random" "^5.5.0"
+ "@ethersproject/strings" "^5.5.0"
+ "@ethersproject/transactions" "^5.5.0"
+ aes-js "3.0.0"
+ scrypt-js "3.0.1"
+
+"@ethersproject/keccak256@5.5.0", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.5.0.tgz#e4b1f9d7701da87c564ffe336f86dcee82983492"
+ integrity sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg==
+ dependencies:
+ "@ethersproject/bytes" "^5.5.0"
+ js-sha3 "0.8.0"
+
+"@ethersproject/logger@5.5.0", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.5.0.tgz#0c2caebeff98e10aefa5aef27d7441c7fd18cf5d"
+ integrity sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg==
+
+"@ethersproject/networks@5.5.0", "@ethersproject/networks@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.5.0.tgz#babec47cab892c51f8dd652ce7f2e3e14283981a"
+ integrity sha512-KWfP3xOnJeF89Uf/FCJdV1a2aDJe5XTN2N52p4fcQ34QhDqQFkgQKZ39VGtiqUgHcLI8DfT0l9azC3KFTunqtA==
+ dependencies:
+ "@ethersproject/logger" "^5.5.0"
+
+"@ethersproject/pbkdf2@5.5.0", "@ethersproject/pbkdf2@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz#e25032cdf02f31505d47afbf9c3e000d95c4a050"
+ integrity sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg==
+ dependencies:
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/sha2" "^5.5.0"
+
+"@ethersproject/properties@5.5.0", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.5.0.tgz#61f00f2bb83376d2071baab02245f92070c59995"
+ integrity sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA==
+ dependencies:
+ "@ethersproject/logger" "^5.5.0"
+
+"@ethersproject/providers@5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.5.0.tgz#bc2876a8fe5e0053ed9828b1f3767ae46e43758b"
+ integrity sha512-xqMbDnS/FPy+J/9mBLKddzyLLAQFjrVff5g00efqxPzcAwXiR+SiCGVy6eJ5iAIirBOATjx7QLhDNPGV+AEQsw==
+ dependencies:
+ "@ethersproject/abstract-provider" "^5.5.0"
+ "@ethersproject/abstract-signer" "^5.5.0"
+ "@ethersproject/address" "^5.5.0"
+ "@ethersproject/basex" "^5.5.0"
+ "@ethersproject/bignumber" "^5.5.0"
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/constants" "^5.5.0"
+ "@ethersproject/hash" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ "@ethersproject/networks" "^5.5.0"
+ "@ethersproject/properties" "^5.5.0"
+ "@ethersproject/random" "^5.5.0"
+ "@ethersproject/rlp" "^5.5.0"
+ "@ethersproject/sha2" "^5.5.0"
+ "@ethersproject/strings" "^5.5.0"
+ "@ethersproject/transactions" "^5.5.0"
+ "@ethersproject/web" "^5.5.0"
+ bech32 "1.1.4"
+ ws "7.4.6"
+
+"@ethersproject/random@5.5.0", "@ethersproject/random@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.5.0.tgz#305ed9e033ca537735365ac12eed88580b0f81f9"
+ integrity sha512-egGYZwZ/YIFKMHcoBUo8t3a8Hb/TKYX8BCBoLjudVCZh892welR3jOxgOmb48xznc9bTcMm7Tpwc1gHC1PFNFQ==
+ dependencies:
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+
+"@ethersproject/rlp@5.5.0", "@ethersproject/rlp@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.5.0.tgz#530f4f608f9ca9d4f89c24ab95db58ab56ab99a0"
+ integrity sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA==
+ dependencies:
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+
+"@ethersproject/sha2@5.5.0", "@ethersproject/sha2@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.5.0.tgz#a40a054c61f98fd9eee99af2c3cc6ff57ec24db7"
+ integrity sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA==
+ dependencies:
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ hash.js "1.1.7"
+
+"@ethersproject/signing-key@5.5.0", "@ethersproject/signing-key@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.5.0.tgz#2aa37169ce7e01e3e80f2c14325f624c29cedbe0"
+ integrity sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng==
+ dependencies:
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ "@ethersproject/properties" "^5.5.0"
+ bn.js "^4.11.9"
+ elliptic "6.5.4"
+ hash.js "1.1.7"
+
+"@ethersproject/solidity@5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.5.0.tgz#2662eb3e5da471b85a20531e420054278362f93f"
+ integrity sha512-9NgZs9LhGMj6aCtHXhtmFQ4AN4sth5HuFXVvAQtzmm0jpSCNOTGtrHZJAeYTh7MBjRR8brylWZxBZR9zDStXbw==
+ dependencies:
+ "@ethersproject/bignumber" "^5.5.0"
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/keccak256" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ "@ethersproject/sha2" "^5.5.0"
+ "@ethersproject/strings" "^5.5.0"
+
+"@ethersproject/strings@5.5.0", "@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.5.0.tgz#e6784d00ec6c57710755699003bc747e98c5d549"
+ integrity sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ==
+ dependencies:
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/constants" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+
+"@ethersproject/transactions@5.5.0", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.5.0.tgz#7e9bf72e97bcdf69db34fe0d59e2f4203c7a2908"
+ integrity sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA==
+ dependencies:
+ "@ethersproject/address" "^5.5.0"
+ "@ethersproject/bignumber" "^5.5.0"
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/constants" "^5.5.0"
+ "@ethersproject/keccak256" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ "@ethersproject/properties" "^5.5.0"
+ "@ethersproject/rlp" "^5.5.0"
+ "@ethersproject/signing-key" "^5.5.0"
+
+"@ethersproject/units@5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.5.0.tgz#104d02db5b5dc42cc672cc4587bafb87a95ee45e"
+ integrity sha512-7+DpjiZk4v6wrikj+TCyWWa9dXLNU73tSTa7n0TSJDxkYbV3Yf1eRh9ToMLlZtuctNYu9RDNNy2USq3AdqSbag==
+ dependencies:
+ "@ethersproject/bignumber" "^5.5.0"
+ "@ethersproject/constants" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+
+"@ethersproject/wallet@5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.5.0.tgz#322a10527a440ece593980dca6182f17d54eae75"
+ integrity sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q==
+ dependencies:
+ "@ethersproject/abstract-provider" "^5.5.0"
+ "@ethersproject/abstract-signer" "^5.5.0"
+ "@ethersproject/address" "^5.5.0"
+ "@ethersproject/bignumber" "^5.5.0"
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/hash" "^5.5.0"
+ "@ethersproject/hdnode" "^5.5.0"
+ "@ethersproject/json-wallets" "^5.5.0"
+ "@ethersproject/keccak256" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ "@ethersproject/properties" "^5.5.0"
+ "@ethersproject/random" "^5.5.0"
+ "@ethersproject/signing-key" "^5.5.0"
+ "@ethersproject/transactions" "^5.5.0"
+ "@ethersproject/wordlists" "^5.5.0"
+
+"@ethersproject/web@5.5.0", "@ethersproject/web@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.5.0.tgz#0e5bb21a2b58fb4960a705bfc6522a6acf461e28"
+ integrity sha512-BEgY0eL5oH4mAo37TNYVrFeHsIXLRxggCRG/ksRIxI2X5uj5IsjGmcNiRN/VirQOlBxcUhCgHhaDLG4m6XAVoA==
+ dependencies:
+ "@ethersproject/base64" "^5.5.0"
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ "@ethersproject/properties" "^5.5.0"
+ "@ethersproject/strings" "^5.5.0"
+
+"@ethersproject/wordlists@5.5.0", "@ethersproject/wordlists@^5.5.0":
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.5.0.tgz#aac74963aa43e643638e5172353d931b347d584f"
+ integrity sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q==
+ dependencies:
+ "@ethersproject/bytes" "^5.5.0"
+ "@ethersproject/hash" "^5.5.0"
+ "@ethersproject/logger" "^5.5.0"
+ "@ethersproject/properties" "^5.5.0"
+ "@ethersproject/strings" "^5.5.0"
+
+"@expo/config-plugins@3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-3.1.0.tgz#0752ff33c5eab21cf42034a44e79df97f0f867f8"
+ integrity sha512-V5qxaxCAExBM0TXmbU1QKiZcAGP3ecu7KXede8vByT15cro5PkcWu2sSdJCYbHQ/gw6Vf/i8sr8gKlN8V8TSLg==
+ dependencies:
+ "@expo/config-types" "^42.0.0"
+ "@expo/json-file" "8.2.33"
+ "@expo/plist" "0.0.14"
+ chalk "^4.1.2"
+ debug "^4.3.1"
+ find-up "~5.0.0"
+ fs-extra "9.0.0"
+ getenv "^1.0.0"
+ glob "7.1.6"
+ resolve-from "^5.0.0"
+ semver "^7.3.5"
+ slash "^3.0.0"
+ xcode "^3.0.1"
+ xml2js "^0.4.23"
+
+"@expo/config-plugins@4.0.9":
+ version "4.0.9"
+ resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-4.0.9.tgz#52c5bee8411185fc4a340072fbed3584d0409234"
+ integrity sha512-3wv0uhG5U5O4BGX2qm4gjFK3jvYVTy0raFsR6B/2zoBNgD3lXF8Ae5osVN118aKNZb2B7SMx3V7McunZhf7RXg==
+ dependencies:
+ "@expo/config-types" "^43.0.1"
+ "@expo/json-file" "8.2.34"
+ "@expo/plist" "0.0.16"
+ "@react-native/normalize-color" "^2.0.0"
+ chalk "^4.1.2"
+ debug "^4.3.1"
+ find-up "~5.0.0"
+ fs-extra "9.0.0"
+ getenv "^1.0.0"
+ glob "7.1.6"
+ resolve-from "^5.0.0"
+ semver "^7.3.5"
+ slash "^3.0.0"
+ xcode "^3.0.1"
+ xml2js "0.4.23"
+
+"@expo/config-plugins@^4.0.2":
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-4.0.7.tgz#c3cd8d2297edd779576b71a8ad16fc8b80c08eda"
+ integrity sha512-m160Y039LJcI8Q4arzA9edWNRPPnLnTe5tB41812Mn1BAmtoZy9OMs4Rj78OKFkMx6A9JJKUTWMnP/FVAbeMiw==
+ dependencies:
+ "@expo/config-types" "^43.0.1"
+ "@expo/json-file" "8.2.33"
+ "@expo/plist" "0.0.15"
+ "@react-native/normalize-color" "^2.0.0"
+ chalk "^4.1.2"
+ debug "^4.3.1"
+ find-up "~5.0.0"
+ fs-extra "9.0.0"
+ getenv "^1.0.0"
+ glob "7.1.6"
+ resolve-from "^5.0.0"
+ semver "^7.3.5"
+ slash "^3.0.0"
+ xcode "^3.0.1"
+ xml2js "0.4.23"
+
+"@expo/config-types@^42.0.0":
+ version "42.0.0"
+ resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-42.0.0.tgz#3e3e125ec092c0c34dbfaf19be5480402de3d677"
+ integrity sha512-Rj02OMZke2MrGa/1Y/EScmR7VuWbDEHPJyvfFyyLbadUt+Yv6isCdeFzDt71I7gJlPR9T4fzixeYLrtXXOTq0w==
+
+"@expo/config-types@^43.0.1":
+ version "43.0.1"
+ resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-43.0.1.tgz#3e047dccb371741a540980eaff26fb0c95039c30"
+ integrity sha512-EtllpCGDdB/UdwAIs5YXJwBLpbFQNdlLLrxIvoILA9cXrpQMWkeDCT9lQPJzFRMFcLUaMuGvkzX2tR4tx5EQFQ==
+
+"@expo/config@5.0.9", "@expo/config@^5.0.9":
+ version "5.0.9"
+ resolved "https://registry.yarnpkg.com/@expo/config/-/config-5.0.9.tgz#5221af5394599d861515ef8513731f21fbb322db"
+ integrity sha512-eZj+cf03wkQQdHSpYvrmiqAsn2dJV10uhHIwXyeFBaFvhds0NgThOldJZfOppQ4QUaGobB/vaJ7UqUa3B0PCMw==
+ dependencies:
+ "@babel/code-frame" "~7.10.4"
+ "@expo/config-plugins" "3.1.0"
+ "@expo/config-types" "^42.0.0"
+ "@expo/json-file" "8.2.33"
+ getenv "^1.0.0"
+ glob "7.1.6"
+ require-from-string "^2.0.2"
+ resolve-from "^5.0.0"
+ semver "7.3.2"
+ slugify "^1.3.4"
+ sucrase "^3.20.0"
+
+"@expo/config@6.0.9":
+ version "6.0.9"
+ resolved "https://registry.yarnpkg.com/@expo/config/-/config-6.0.9.tgz#d2f700e067581f7fb088c4e811b38351ac57e151"
+ integrity sha512-UJs8b5SSU9dl4VrX+MiSJcSwUVt7u6oUfNQDJ6VIWu03lDkNKtrk64GeSmUqHKsFd6iFXaMxtvkTBVmWWM6NaA==
+ dependencies:
+ "@babel/code-frame" "~7.10.4"
+ "@expo/config-plugins" "4.0.9"
+ "@expo/config-types" "^43.0.1"
+ "@expo/json-file" "8.2.34"
+ getenv "^1.0.0"
+ glob "7.1.6"
+ require-from-string "^2.0.2"
+ resolve-from "^5.0.0"
+ semver "7.3.2"
+ slugify "^1.3.4"
+ sucrase "^3.20.0"
+
+"@expo/configure-splash-screen@^0.6.0":
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/@expo/configure-splash-screen/-/configure-splash-screen-0.6.0.tgz#07d97ee512fd859fcc09506ba3762fd6263ebc39"
+ integrity sha512-4DyPoNXJqx9bN4nEwF3HQreo//ECu7gDe1Xor3dnnzFm9P/VDxAKdbEhA0n+R6fgkNfT2onVHWijqvdpTS3Xew==
+ dependencies:
+ color-string "^1.5.3"
+ commander "^5.1.0"
+ fs-extra "^9.0.0"
+ glob "^7.1.6"
+ lodash "^4.17.15"
+ pngjs "^5.0.0"
+ xcode "^3.0.0"
+ xml-js "^1.6.11"
+
+"@expo/image-utils@0.3.18":
+ version "0.3.18"
+ resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.3.18.tgz#36a41ab2925974ac5707e02cb0d3694349140497"
+ integrity sha512-77/ub2aGuf7SYfaFhvCHE54Hs/jRuU5j+pemS5seLfVHNwHbJSse91TMhsTLLNz3GwwqTxFVe3KMycSccJ73nA==
+ dependencies:
+ "@expo/spawn-async" "1.5.0"
+ chalk "^4.0.0"
+ fs-extra "9.0.0"
+ getenv "^1.0.0"
+ jimp-compact "0.16.1"
+ mime "^2.4.4"
+ node-fetch "^2.6.0"
+ parse-png "^2.1.0"
+ resolve-from "^5.0.0"
+ semver "7.3.2"
+ tempy "0.3.0"
+
+"@expo/json-file@8.2.33":
+ version "8.2.33"
+ resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.2.33.tgz#78f56f33a2cfb807b23c81e00237a33159aa1f32"
+ integrity sha512-CDnhjdirUs6OdN5hOSTJ2y3i9EiJMk7Z5iDljC5xyCHCrUex7oyI8vbRsZEojAahxZccgL/PrO+CjakiFFWurg==
+ dependencies:
+ "@babel/code-frame" "~7.10.4"
+ json5 "^1.0.1"
+ write-file-atomic "^2.3.0"
+
+"@expo/json-file@8.2.34":
+ version "8.2.34"
+ resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.2.34.tgz#2f24e90a677195f7a81e167115460eb2902c3130"
+ integrity sha512-ZxtBodAZGxdLtgKzmsC+8ViUxt1mhFW642Clu2OuG3f6PAyAFsU/SqEGag9wKFaD3x3Wt8VhL+3y5fMJmUFgPw==
+ dependencies:
+ "@babel/code-frame" "~7.10.4"
+ json5 "^1.0.1"
+ write-file-atomic "^2.3.0"
+
+"@expo/metro-config@~0.1.84":
+ version "0.1.84"
+ resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-0.1.84.tgz#ddcc7b4f1087c29f86bc9d916933d29bacd2c726"
+ integrity sha512-xWSfM0+AxcKw0H8mc1RuKs4Yy4JT4SJfn4yDnGLAlKkHlEC+D2seZvb/Tdd173e/LANmcarNd+OcDYu03AmVWA==
+ dependencies:
+ "@expo/config" "5.0.9"
+ chalk "^4.1.0"
+ getenv "^1.0.0"
+ metro-react-native-babel-transformer "^0.59.0"
+
+"@expo/plist@0.0.14":
+ version "0.0.14"
+ resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.0.14.tgz#a756903bd28aabe0a961222df2e7858a39a218c9"
+ integrity sha512-bb4Ua1M/OdNgS8KiGdSDUjZ/bbPfv3xdPY/lz8Ctp/adlj/QgB8xA7tVPeqSSfJPZqFRwU0qLCnRhpUOnP51VQ==
+ dependencies:
+ "@xmldom/xmldom" "~0.7.0"
+ base64-js "^1.2.3"
+ xmlbuilder "^14.0.0"
+
+"@expo/plist@0.0.15":
+ version "0.0.15"
+ resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.0.15.tgz#41ef37b7bbe6b81c48bf4a5c359661c766bb9e90"
+ integrity sha512-LDxiS0KNZAGJu4fIJhbEKczmb+zeftl1NU0LE0tj0mozoMI5HSKdMUchgvnBm35bwBl8ekKkAfJJ0ONxljWQjQ==
+ dependencies:
+ "@xmldom/xmldom" "~0.7.0"
+ base64-js "^1.2.3"
+ xmlbuilder "^14.0.0"
+
+"@expo/plist@0.0.16":
+ version "0.0.16"
+ resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.0.16.tgz#c7d294a774196cfa1d8caf89a75ba923f5d1d53c"
+ integrity sha512-yQMt2CTm2VNLiHv2/EqHYrHvfflI2mFJd+DZIQQy569hvpZle0CxMPGH1p2KatbrO8htxJNvwrlR/4TIwhQJ5w==
+ dependencies:
+ "@xmldom/xmldom" "~0.7.0"
+ base64-js "^1.2.3"
+ xmlbuilder "^14.0.0"
+
+"@expo/prebuild-config@^3.0.6":
+ version "3.0.9"
+ resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-3.0.9.tgz#c9a7034d4299bd7b3bf36c17efbdf1772899c7fe"
+ integrity sha512-j4cHyZe04WijAyH2sJS2pH8DltqPDVQczN6brqFiuRktyIAroqh4ZMY1fgpSweX18LTXmGF9d1fG1aXC+N64YQ==
+ dependencies:
+ "@expo/config" "6.0.9"
+ "@expo/config-plugins" "4.0.9"
+ "@expo/config-types" "^43.0.1"
+ "@expo/image-utils" "0.3.18"
+ "@expo/json-file" "8.2.34"
+ debug "^4.3.1"
+ fs-extra "^9.0.0"
+ resolve-from "^5.0.0"
+ semver "7.3.2"
+ xml2js "0.4.23"
+
+"@expo/spawn-async@1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@expo/spawn-async/-/spawn-async-1.5.0.tgz#799827edd8c10ef07eb1a2ff9dcfe081d596a395"
+ integrity sha512-LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==
+ dependencies:
+ cross-spawn "^6.0.5"
+
+"@expo/vector-icons@^12.0.4":
+ version "12.0.5"
+ resolved "https://registry.yarnpkg.com/@expo/vector-icons/-/vector-icons-12.0.5.tgz#bc508ad05fb7e9a3e008704977cfec6c18aa7728"
+ integrity sha512-zWvHBmkpbi1KrPma6Y+r/bsGI6MjbM1MBSe6W9A4uYMLhNI5NR4JtTnqxhf7g1XdpaDtBdv5aOWKEx4d5rxnhg==
+ dependencies:
+ lodash.frompairs "^4.0.1"
+ lodash.isequal "^4.5.0"
+ lodash.isstring "^4.0.1"
+ lodash.omit "^4.5.0"
+ lodash.pick "^4.4.0"
+ lodash.template "^4.5.0"
+
+"@graphql-tools/batch-delegate@^6.2.4", "@graphql-tools/batch-delegate@^6.2.6":
+ version "6.2.6"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/batch-delegate/-/batch-delegate-6.2.6.tgz#fbea98dc825f87ef29ea5f3f371912c2a2aa2f2c"
+ integrity sha512-QUoE9pQtkdNPFdJHSnBhZtUfr3M7pIRoXoMR+TG7DK2Y62ISKbT/bKtZEUU1/2v5uqd5WVIvw9dF8gHDSJAsSA==
+ dependencies:
+ "@graphql-tools/delegate" "^6.2.4"
+ dataloader "2.0.0"
+ tslib "~2.0.1"
+
+"@graphql-tools/batch-execute@^7.1.2":
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-7.1.2.tgz#35ba09a1e0f80f34f1ce111d23c40f039d4403a0"
+ integrity sha512-IuR2SB2MnC2ztA/XeTMTfWcA0Wy7ZH5u+nDkDNLAdX+AaSyDnsQS35sCmHqG0VOGTl7rzoyBWLCKGwSJplgtwg==
+ dependencies:
+ "@graphql-tools/utils" "^7.7.0"
+ dataloader "2.0.0"
+ tslib "~2.2.0"
+ value-or-promise "1.0.6"
+
+"@graphql-tools/code-file-loader@^6.2.4":
+ version "6.3.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/code-file-loader/-/code-file-loader-6.3.1.tgz#42dfd4db5b968acdb453382f172ec684fa0c34ed"
+ integrity sha512-ZJimcm2ig+avgsEOWWVvAaxZrXXhiiSZyYYOJi0hk9wh5BxZcLUNKkTp6EFnZE/jmGUwuos3pIjUD3Hwi3Bwhg==
+ dependencies:
+ "@graphql-tools/graphql-tag-pluck" "^6.5.1"
+ "@graphql-tools/utils" "^7.0.0"
+ tslib "~2.1.0"
+
+"@graphql-tools/delegate@^6.2.4":
+ version "6.2.4"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-6.2.4.tgz#db553b63eb9512d5eb5bbfdfcd8cb1e2b534699c"
+ integrity sha512-mXe6DfoWmq49kPcDrpKHgC2DSWcD5q0YCaHHoXYPAOlnLH8VMTY8BxcE8y/Do2eyg+GLcwAcrpffVszWMwqw0w==
+ dependencies:
+ "@ardatan/aggregate-error" "0.0.6"
+ "@graphql-tools/schema" "^6.2.4"
+ "@graphql-tools/utils" "^6.2.4"
+ dataloader "2.0.0"
+ is-promise "4.0.0"
+ tslib "~2.0.1"
+
+"@graphql-tools/delegate@^7.0.1", "@graphql-tools/delegate@^7.1.5":
+ version "7.1.5"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-7.1.5.tgz#0b027819b7047eff29bacbd5032e34a3d64bd093"
+ integrity sha512-bQu+hDd37e+FZ0CQGEEczmRSfQRnnXeUxI/0miDV+NV/zCbEdIJj5tYFNrKT03W6wgdqx8U06d8L23LxvGri/g==
+ dependencies:
+ "@ardatan/aggregate-error" "0.0.6"
+ "@graphql-tools/batch-execute" "^7.1.2"
+ "@graphql-tools/schema" "^7.1.5"
+ "@graphql-tools/utils" "^7.7.1"
+ dataloader "2.0.0"
+ tslib "~2.2.0"
+ value-or-promise "1.0.6"
+
+"@graphql-tools/git-loader@^6.2.4":
+ version "6.2.6"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/git-loader/-/git-loader-6.2.6.tgz#c2226f4b8f51f1c05c9ab2649ba32d49c68cd077"
+ integrity sha512-ooQTt2CaG47vEYPP3CPD+nbA0F+FYQXfzrB1Y1ABN9K3d3O2RK3g8qwslzZaI8VJQthvKwt0A95ZeE4XxteYfw==
+ dependencies:
+ "@graphql-tools/graphql-tag-pluck" "^6.2.6"
+ "@graphql-tools/utils" "^7.0.0"
+ tslib "~2.1.0"
+
+"@graphql-tools/github-loader@^6.2.4":
+ version "6.2.5"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/github-loader/-/github-loader-6.2.5.tgz#460dff6f5bbaa26957a5ea3be4f452b89cc6a44b"
+ integrity sha512-DLuQmYeNNdPo8oWus8EePxWCfCAyUXPZ/p1PWqjrX/NGPyH2ZObdqtDAfRHztljt0F/qkBHbGHCEk2TKbRZTRw==
+ dependencies:
+ "@graphql-tools/graphql-tag-pluck" "^6.2.6"
+ "@graphql-tools/utils" "^7.0.0"
+ cross-fetch "3.0.6"
+ tslib "~2.0.1"
+
+"@graphql-tools/graphql-file-loader@^6.2.4":
+ version "6.2.7"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-file-loader/-/graphql-file-loader-6.2.7.tgz#d3720f2c4f4bb90eb2a03a7869a780c61945e143"
+ integrity sha512-5k2SNz0W87tDcymhEMZMkd6/vs6QawDyjQXWtqkuLTBF3vxjxPD1I4dwHoxgWPIjjANhXybvulD7E+St/7s9TQ==
+ dependencies:
+ "@graphql-tools/import" "^6.2.6"
+ "@graphql-tools/utils" "^7.0.0"
+ tslib "~2.1.0"
+
+"@graphql-tools/graphql-tag-pluck@^6.2.4", "@graphql-tools/graphql-tag-pluck@^6.2.6", "@graphql-tools/graphql-tag-pluck@^6.5.1":
+ version "6.5.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-6.5.1.tgz#5fb227dbb1e19f4b037792b50f646f16a2d4c686"
+ integrity sha512-7qkm82iFmcpb8M6/yRgzjShtW6Qu2OlCSZp8uatA3J0eMl87TxyJoUmL3M3UMMOSundAK8GmoyNVFUrueueV5Q==
+ dependencies:
+ "@babel/parser" "7.12.16"
+ "@babel/traverse" "7.12.13"
+ "@babel/types" "7.12.13"
+ "@graphql-tools/utils" "^7.0.0"
+ tslib "~2.1.0"
+
+"@graphql-tools/import@^6.2.4", "@graphql-tools/import@^6.2.6":
+ version "6.6.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-6.6.1.tgz#2a7e1ceda10103ffeb8652a48ddc47150b035485"
+ integrity sha512-i9WA6k+erJMci822o9w9DoX+uncVBK60LGGYW8mdbhX0l7wEubUpA000thJ1aarCusYh0u+ZT9qX0HyVPXu25Q==
+ dependencies:
+ "@graphql-tools/utils" "8.5.3"
+ resolve-from "5.0.0"
+ tslib "~2.3.0"
+
+"@graphql-tools/json-file-loader@^6.2.4":
+ version "6.2.6"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/json-file-loader/-/json-file-loader-6.2.6.tgz#830482cfd3721a0799cbf2fe5b09959d9332739a"
+ integrity sha512-CnfwBSY5926zyb6fkDBHnlTblHnHI4hoBALFYXnrg0Ev4yWU8B04DZl/pBRUc459VNgO2x8/mxGIZj2hPJG1EA==
+ dependencies:
+ "@graphql-tools/utils" "^7.0.0"
+ tslib "~2.0.1"
+
+"@graphql-tools/links@^6.2.4":
+ version "6.2.5"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/links/-/links-6.2.5.tgz#b172cadc4b7cbe27bfc1dc787651f92517f583bc"
+ integrity sha512-XeGDioW7F+HK6HHD/zCeF0HRC9s12NfOXAKv1HC0J7D50F4qqMvhdS/OkjzLoBqsgh/Gm8icRc36B5s0rOA9ig==
+ dependencies:
+ "@graphql-tools/utils" "^7.0.0"
+ apollo-link "1.2.14"
+ apollo-upload-client "14.1.2"
+ cross-fetch "3.0.6"
+ form-data "3.0.0"
+ is-promise "4.0.0"
+ tslib "~2.0.1"
+
+"@graphql-tools/load-files@^6.2.4":
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/load-files/-/load-files-6.5.2.tgz#9c7890b62d7c2958dc128b1d0c1dd84bb366b71f"
+ integrity sha512-ZU/v0HA7L3jCgizK5r3JHTg4ZQg+b+t3lSakU1cYT78kHT98milhlU+YF2giS7XP9KcS6jGTAalQbbX2yQA1sg==
+ dependencies:
+ globby "11.0.4"
+ tslib "~2.3.0"
+ unixify "1.0.0"
+
+"@graphql-tools/load@^6.2.4":
+ version "6.2.8"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-6.2.8.tgz#16900fb6e75e1d075cad8f7ea439b334feb0b96a"
+ integrity sha512-JpbyXOXd8fJXdBh2ta0Q4w8ia6uK5FHzrTNmcvYBvflFuWly2LDTk2abbSl81zKkzswQMEd2UIYghXELRg8eTA==
+ dependencies:
+ "@graphql-tools/merge" "^6.2.12"
+ "@graphql-tools/utils" "^7.5.0"
+ globby "11.0.3"
+ import-from "3.0.0"
+ is-glob "4.0.1"
+ p-limit "3.1.0"
+ tslib "~2.2.0"
+ unixify "1.0.0"
+ valid-url "1.0.9"
+
+"@graphql-tools/merge@^6.2.12", "@graphql-tools/merge@^6.2.4":
+ version "6.2.17"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-6.2.17.tgz#4dedf87d8435a5e1091d7cc8d4f371ed1e029f1f"
+ integrity sha512-G5YrOew39fZf16VIrc49q3c8dBqQDD0ax5LYPiNja00xsXDi0T9zsEWVt06ApjtSdSF6HDddlu5S12QjeN8Tow==
+ dependencies:
+ "@graphql-tools/schema" "^8.0.2"
+ "@graphql-tools/utils" "8.0.2"
+ tslib "~2.3.0"
+
+"@graphql-tools/merge@^8.2.1":
+ version "8.2.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.2.1.tgz#bf83aa06a0cfc6a839e52a58057a84498d0d51ff"
+ integrity sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==
+ dependencies:
+ "@graphql-tools/utils" "^8.5.1"
+ tslib "~2.3.0"
+
+"@graphql-tools/mock@^6.2.4":
+ version "6.2.4"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/mock/-/mock-6.2.4.tgz#205323c51f89dd855d345d130c7713d0420909ea"
+ integrity sha512-O5Zvq/mcDZ7Ptky0IZ4EK9USmxV6FEVYq0Jxv2TI80kvxbCjt0tbEpZ+r1vIt1gZOXlAvadSHYyzWnUPh+1vkQ==
+ dependencies:
+ "@graphql-tools/schema" "^6.2.4"
+ "@graphql-tools/utils" "^6.2.4"
+ tslib "~2.0.1"
+
+"@graphql-tools/module-loader@^6.2.4":
+ version "6.2.7"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/module-loader/-/module-loader-6.2.7.tgz#66ab9468775fac8079ca46ea9896ceea76e4ef69"
+ integrity sha512-ItAAbHvwfznY9h1H9FwHYDstTcm22Dr5R9GZtrWlpwqj0jaJGcBxsMB9jnK9kFqkbtFYEe4E/NsSnxsS4/vViQ==
+ dependencies:
+ "@graphql-tools/utils" "^7.5.0"
+ tslib "~2.1.0"
+
+"@graphql-tools/relay-operation-optimizer@^6.2.4":
+ version "6.4.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.4.1.tgz#28572444e2c00850c889a84472f3cc7405dc1ad8"
+ integrity sha512-2b9D5L+31sIBnvmcmIW5tfvNUV+nJFtbHpUyarTRDmFT6EZ2cXo4WZMm9XJcHQD/Z5qvMXfPHxzQ3/JUs4xI+w==
+ dependencies:
+ "@graphql-tools/utils" "^8.5.1"
+ relay-compiler "12.0.0"
+ tslib "~2.3.0"
+
+"@graphql-tools/resolvers-composition@^6.2.4":
+ version "6.4.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/resolvers-composition/-/resolvers-composition-6.4.1.tgz#4704b2933851bf7b9a3ae4004424b23d073018a7"
+ integrity sha512-2NRcrs8l4X8nxCjZ9Tgxas/np+FpYH01JpHNkk6y76vQyKsF1oKTtx7oDDS9qbp6IXaA2aojrGT6lkD6mYwXig==
+ dependencies:
+ "@graphql-tools/utils" "^8.5.1"
+ lodash "4.17.21"
+ micromatch "^4.0.4"
+ tslib "~2.3.0"
+
+"@graphql-tools/schema@^6.2.4":
+ version "6.2.4"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-6.2.4.tgz#cc4e9f5cab0f4ec48500e666719d99fc5042481d"
+ integrity sha512-rh+14lSY1q8IPbEv2J9x8UBFJ5NrDX9W5asXEUlPp+7vraLp/Tiox4GXdgyA92JhwpYco3nTf5Bo2JDMt1KnAQ==
+ dependencies:
+ "@graphql-tools/utils" "^6.2.4"
+ tslib "~2.0.1"
+
+"@graphql-tools/schema@^7.1.5":
+ version "7.1.5"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-7.1.5.tgz#07b24e52b182e736a6b77c829fc48b84d89aa711"
+ integrity sha512-uyn3HSNSckf4mvQSq0Q07CPaVZMNFCYEVxroApOaw802m9DcZPgf9XVPy/gda5GWj9AhbijfRYVTZQgHnJ4CXA==
+ dependencies:
+ "@graphql-tools/utils" "^7.1.2"
+ tslib "~2.2.0"
+ value-or-promise "1.0.6"
+
+"@graphql-tools/schema@^8.0.2":
+ version "8.3.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.3.1.tgz#1ee9da494d2da457643b3c93502b94c3c4b68c74"
+ integrity sha512-3R0AJFe715p4GwF067G5i0KCr/XIdvSfDLvTLEiTDQ8V/hwbOHEKHKWlEBHGRQwkG5lwFQlW1aOn7VnlPERnWQ==
+ dependencies:
+ "@graphql-tools/merge" "^8.2.1"
+ "@graphql-tools/utils" "^8.5.1"
+ tslib "~2.3.0"
+ value-or-promise "1.0.11"
+
+"@graphql-tools/stitch@^6.2.4":
+ version "6.2.4"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/stitch/-/stitch-6.2.4.tgz#acfa6a577a33c0f02e4940ffff04753b23b87fd6"
+ integrity sha512-0C7PNkS7v7iAc001m7c1LPm5FUB0/DYw+s3OyCii6YYYHY8NwdI0roeOyeDGFJkFubWBQfjc3hoSyueKtU73mw==
+ dependencies:
+ "@graphql-tools/batch-delegate" "^6.2.4"
+ "@graphql-tools/delegate" "^6.2.4"
+ "@graphql-tools/merge" "^6.2.4"
+ "@graphql-tools/schema" "^6.2.4"
+ "@graphql-tools/utils" "^6.2.4"
+ "@graphql-tools/wrap" "^6.2.4"
+ is-promise "4.0.0"
+ tslib "~2.0.1"
+
+"@graphql-tools/url-loader@^6.2.4":
+ version "6.10.1"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/url-loader/-/url-loader-6.10.1.tgz#dc741e4299e0e7ddf435eba50a1f713b3e763b33"
+ integrity sha512-DSDrbhQIv7fheQ60pfDpGD256ixUQIR6Hhf9Z5bRjVkXOCvO5XrkwoWLiU7iHL81GB1r0Ba31bf+sl+D4nyyfw==
+ dependencies:
+ "@graphql-tools/delegate" "^7.0.1"
+ "@graphql-tools/utils" "^7.9.0"
+ "@graphql-tools/wrap" "^7.0.4"
+ "@microsoft/fetch-event-source" "2.0.1"
+ "@types/websocket" "1.0.2"
+ abort-controller "3.0.0"
+ cross-fetch "3.1.4"
+ extract-files "9.0.0"
+ form-data "4.0.0"
+ graphql-ws "^4.4.1"
+ is-promise "4.0.0"
+ isomorphic-ws "4.0.1"
+ lodash "4.17.21"
+ meros "1.1.4"
+ subscriptions-transport-ws "^0.9.18"
+ sync-fetch "0.3.0"
+ tslib "~2.2.0"
+ valid-url "1.0.9"
+ ws "7.4.5"
+
+"@graphql-tools/utils@8.0.2":
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.0.2.tgz#795a8383cdfdc89855707d62491c576f439f3c51"
+ integrity sha512-gzkavMOgbhnwkHJYg32Adv6f+LxjbQmmbdD5Hty0+CWxvaiuJq+nU6tzb/7VSU4cwhbNLx/lGu2jbCPEW1McZQ==
+ dependencies:
+ tslib "~2.3.0"
+
+"@graphql-tools/utils@8.5.3", "@graphql-tools/utils@^8.5.1":
+ version "8.5.3"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.5.3.tgz#404062e62cae9453501197039687749c4885356e"
+ integrity sha512-HDNGWFVa8QQkoQB0H1lftvaO1X5xUaUDk1zr1qDe0xN1NL0E/CrQdJ5UKLqOvH4hkqVUPxQsyOoAZFkaH6rLHg==
+ dependencies:
+ tslib "~2.3.0"
+
+"@graphql-tools/utils@^6.2.4":
+ version "6.2.4"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-6.2.4.tgz#38a2314d2e5e229ad4f78cca44e1199e18d55856"
+ integrity sha512-ybgZ9EIJE3JMOtTrTd2VcIpTXtDrn2q6eiYkeYMKRVh3K41+LZa6YnR2zKERTXqTWqhobROwLt4BZbw2O3Aeeg==
+ dependencies:
+ "@ardatan/aggregate-error" "0.0.6"
+ camel-case "4.1.1"
+ tslib "~2.0.1"
+
+"@graphql-tools/utils@^7.0.0", "@graphql-tools/utils@^7.1.2", "@graphql-tools/utils@^7.5.0", "@graphql-tools/utils@^7.7.0", "@graphql-tools/utils@^7.7.1", "@graphql-tools/utils@^7.8.1", "@graphql-tools/utils@^7.9.0":
+ version "7.10.0"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-7.10.0.tgz#07a4cb5d1bec1ff1dc1d47a935919ee6abd38699"
+ integrity sha512-d334r6bo9mxdSqZW6zWboEnnOOFRrAPVQJ7LkU8/6grglrbcu6WhwCLzHb90E94JI3TD3ricC3YGbUqIi9Xg0w==
+ dependencies:
+ "@ardatan/aggregate-error" "0.0.6"
+ camel-case "4.1.2"
+ tslib "~2.2.0"
+
+"@graphql-tools/wrap@^6.2.4":
+ version "6.2.4"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-6.2.4.tgz#2709817da6e469753735a9fe038c9e99736b2c57"
+ integrity sha512-cyQgpybolF9DjL2QNOvTS1WDCT/epgYoiA8/8b3nwv5xmMBQ6/6nYnZwityCZ7njb7MMyk7HBEDNNlP9qNJDcA==
+ dependencies:
+ "@graphql-tools/delegate" "^6.2.4"
+ "@graphql-tools/schema" "^6.2.4"
+ "@graphql-tools/utils" "^6.2.4"
+ is-promise "4.0.0"
+ tslib "~2.0.1"
+
+"@graphql-tools/wrap@^7.0.4":
+ version "7.0.8"
+ resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-7.0.8.tgz#ad41e487135ca3ea1ae0ea04bb3f596177fb4f50"
+ integrity sha512-1NDUymworsOlb53Qfh7fonDi2STvqCtbeE68ntKY9K/Ju/be2ZNxrFSbrBHwnxWcN9PjISNnLcAyJ1L5tCUyhg==
+ dependencies:
+ "@graphql-tools/delegate" "^7.1.5"
+ "@graphql-tools/schema" "^7.1.5"
+ "@graphql-tools/utils" "^7.8.1"
+ tslib "~2.2.0"
+ value-or-promise "1.0.6"
+
+"@graphql-typed-document-node/core@^3.0.0":
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.1.1.tgz#076d78ce99822258cf813ecc1e7fa460fa74d052"
+ integrity sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==
+
+"@gulp-sourcemaps/map-sources@1.X":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz#890ae7c5d8c877f6d384860215ace9d7ec945bda"
+ integrity sha1-iQrnxdjId/bThIYCFazp1+yUW9o=
+ dependencies:
+ normalize-path "^2.0.1"
+ through2 "^2.0.3"
+
+"@hapi/address@2.x.x":
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
+ integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==
+
+"@hapi/bourne@1.x.x":
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a"
+ integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==
+
+"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0":
+ version "8.5.1"
+ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06"
+ integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==
+
+"@hapi/hoek@^9.0.0":
+ version "9.2.1"
+ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17"
+ integrity sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==
+
+"@hapi/joi@^15.0.3":
+ version "15.1.1"
+ resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7"
+ integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==
+ dependencies:
+ "@hapi/address" "2.x.x"
+ "@hapi/bourne" "1.x.x"
+ "@hapi/hoek" "8.x.x"
+ "@hapi/topo" "3.x.x"
+
+"@hapi/topo@3.x.x":
+ version "3.1.6"
+ resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29"
+ integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==
+ dependencies:
+ "@hapi/hoek" "^8.3.0"
+
+"@hapi/topo@^5.0.0":
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012"
+ integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+
+"@improbable-eng/grpc-web@^0.12.0":
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/@improbable-eng/grpc-web/-/grpc-web-0.12.0.tgz#9b10a7edf2a1d7672f8997e34a60e7b70e49738f"
+ integrity sha512-uJjgMPngreRTYPBuo6gswMj1gK39Wbqre/RgE0XnSDXJRg6ST7ZhuS53dFE6Vc2CX4jxgl+cO+0B3op8LA4Q0Q==
+ dependencies:
+ browser-headers "^0.4.0"
+
+"@improbable-eng/grpc-web@^0.13.0":
+ version "0.13.0"
+ resolved "https://registry.yarnpkg.com/@improbable-eng/grpc-web/-/grpc-web-0.13.0.tgz#289e6fc4dafc00b1af8e2b93b970e6892299014d"
+ integrity sha512-vaxxT+Qwb7GPqDQrBV4vAAfH0HywgOLw6xGIKXd9Q8hcV63CQhmS3p4+pZ9/wVvt4Ph3ZDK9fdC983b9aGMUFg==
+ dependencies:
+ browser-headers "^0.4.0"
+
+"@improbable-eng/grpc-web@^0.14.0":
+ version "0.14.1"
+ resolved "https://registry.yarnpkg.com/@improbable-eng/grpc-web/-/grpc-web-0.14.1.tgz#f4662f64dc89c0f956a94bb8a3b576556c74589c"
+ integrity sha512-XaIYuunepPxoiGVLLHmlnVminUGzBTnXr8Wv7khzmLWbNw4TCwJKX09GSMJlKhu/TRk6gms0ySFxewaETSBqgw==
+ dependencies:
+ browser-headers "^0.4.1"
+
+"@jest/console@^24.9.0":
+ version "24.9.0"
+ resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0"
+ integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==
+ dependencies:
+ "@jest/source-map" "^24.9.0"
+ chalk "^2.0.1"
+ slash "^2.0.0"
+
+"@jest/create-cache-key-function@^26.5.0":
+ version "26.6.2"
+ resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-26.6.2.tgz#04cf439207a4fd12418d8aee551cddc86f9ac5f5"
+ integrity sha512-LgEuqU1f/7WEIPYqwLPIvvHuc1sB6gMVbT6zWhin3txYUNYK/kGQrC1F2WR4gR34YlI9bBtViTm5z98RqVZAaw==
+ dependencies:
+ "@jest/types" "^26.6.2"
+
+"@jest/fake-timers@^24.9.0":
+ version "24.9.0"
+ resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93"
+ integrity sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==
+ dependencies:
+ "@jest/types" "^24.9.0"
+ jest-message-util "^24.9.0"
+ jest-mock "^24.9.0"
+
+"@jest/source-map@^24.9.0":
+ version "24.9.0"
+ resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714"
+ integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==
+ dependencies:
+ callsites "^3.0.0"
+ graceful-fs "^4.1.15"
+ source-map "^0.6.0"
+
+"@jest/test-result@^24.9.0":
+ version "24.9.0"
+ resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca"
+ integrity sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==
+ dependencies:
+ "@jest/console" "^24.9.0"
+ "@jest/types" "^24.9.0"
+ "@types/istanbul-lib-coverage" "^2.0.0"
+
+"@jest/types@^24.9.0":
+ version "24.9.0"
+ resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59"
+ integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==
+ dependencies:
+ "@types/istanbul-lib-coverage" "^2.0.0"
+ "@types/istanbul-reports" "^1.1.1"
+ "@types/yargs" "^13.0.0"
+
+"@jest/types@^25.5.0":
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d"
+ integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==
+ dependencies:
+ "@types/istanbul-lib-coverage" "^2.0.0"
+ "@types/istanbul-reports" "^1.1.1"
+ "@types/yargs" "^15.0.0"
+ chalk "^3.0.0"
+
+"@jest/types@^26.6.2":
+ version "26.6.2"
+ resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e"
+ integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==
+ dependencies:
+ "@types/istanbul-lib-coverage" "^2.0.0"
+ "@types/istanbul-reports" "^3.0.0"
+ "@types/node" "*"
+ "@types/yargs" "^15.0.0"
+ chalk "^4.0.0"
+
+"@josephg/resolvable@^1.0.0":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@josephg/resolvable/-/resolvable-1.0.1.tgz#69bc4db754d79e1a2f17a650d3466e038d94a5eb"
+ integrity sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==
+
+"@ledgerhq/devices@^5.51.1":
+ version "5.51.1"
+ resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-5.51.1.tgz#d741a4a5d8f17c2f9d282fd27147e6fe1999edb7"
+ integrity sha512-4w+P0VkbjzEXC7kv8T1GJ/9AVaP9I6uasMZ/JcdwZBS3qwvKo5A5z9uGhP5c7TvItzcmPb44b5Mw2kT+WjUuAA==
+ dependencies:
+ "@ledgerhq/errors" "^5.50.0"
+ "@ledgerhq/logs" "^5.50.0"
+ rxjs "6"
+ semver "^7.3.5"
+
+"@ledgerhq/errors@^5.50.0":
+ version "5.50.0"
+ resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-5.50.0.tgz#e3a6834cb8c19346efca214c1af84ed28e69dad9"
+ integrity sha512-gu6aJ/BHuRlpU7kgVpy2vcYk6atjB4iauP2ymF7Gk0ez0Y/6VSMVSJvubeEQN+IV60+OBK0JgeIZG7OiHaw8ow==
+
+"@ledgerhq/hw-transport-webusb@^5.22.0":
+ version "5.53.1"
+ resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-5.53.1.tgz#3df8c401417571e3bcacc378d8aca587214b05ae"
+ integrity sha512-A/f+xcrkIAZiJrvPpDvsrjxQX4cI2kbdiunQkwsYmOG3Bp4z89ZnsBiC7YBst4n2/g+QgTg0/KPVtODU5djooQ==
+ dependencies:
+ "@ledgerhq/devices" "^5.51.1"
+ "@ledgerhq/errors" "^5.50.0"
+ "@ledgerhq/hw-transport" "^5.51.1"
+ "@ledgerhq/logs" "^5.50.0"
+
+"@ledgerhq/hw-transport@^5.51.1":
+ version "5.51.1"
+ resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-5.51.1.tgz#8dd14a8e58cbee4df0c29eaeef983a79f5f22578"
+ integrity sha512-6wDYdbWrw9VwHIcoDnqWBaDFyviyjZWv6H9vz9Vyhe4Qd7TIFmbTl/eWs6hZvtZBza9K8y7zD8ChHwRI4s9tSw==
+ dependencies:
+ "@ledgerhq/devices" "^5.51.1"
+ "@ledgerhq/errors" "^5.50.0"
+ events "^3.3.0"
+
+"@ledgerhq/logs@^5.50.0":
+ version "5.50.0"
+ resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-5.50.0.tgz#29c6419e8379d496ab6d0426eadf3c4d100cd186"
+ integrity sha512-swKHYCOZUGyVt4ge0u8a7AwNcA//h4nx5wIi0sruGye1IJ5Cva0GyK9L2/WdX+kWVTKp92ZiEo1df31lrWGPgA==
+
+"@microsoft/fetch-event-source@2.0.1":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@microsoft/fetch-event-source/-/fetch-event-source-2.0.1.tgz#9ceecc94b49fbaa15666e38ae8587f64acce007d"
+ integrity sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==
+
+"@multiformats/base-x@^4.0.1":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@multiformats/base-x/-/base-x-4.0.1.tgz#95ff0fa58711789d53aefb2590a8b7a4e715d121"
+ integrity sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==
+
+"@nodefactory/filsnap-adapter@^0.2.1":
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/@nodefactory/filsnap-adapter/-/filsnap-adapter-0.2.2.tgz#0e182150ce3825b6c26b8512ab9355ab7759b498"
+ integrity sha512-nbaYMwVopOXN2bWOdDY3il6gGL9qMuCmMN4WPuoxzJjSnAMJNqEeSe6MNNJ/fYBLipZcJfAtirNXRrFLFN+Tvw==
+
+"@nodefactory/filsnap-types@^0.2.1":
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/@nodefactory/filsnap-types/-/filsnap-types-0.2.2.tgz#f95cbf93ce5815d8d151c60663940086b015cb8f"
+ integrity sha512-XT1tE2vrYF2D0tSNNekgjqKRpqPQn4W72eKul9dDCul/8ykouhqnVTyjFHYvBhlBWE0PK3nmG7i83QvhgGSiMw==
+
+"@nodelib/fs.scandir@2.1.5":
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+ integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.5"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+"@nodelib/fs.walk@^1.2.3":
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+ integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.5"
+ fastq "^1.6.0"
+
+"@openzeppelin/contracts@^4.3.3":
+ version "4.3.3"
+ resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.3.3.tgz#ff6ee919fc2a1abaf72b22814bfb72ed129ec137"
+ integrity sha512-tDBopO1c98Yk7Cv/PZlHqrvtVjlgK5R4J6jxLwoO7qxK4xqOiZG+zSkIvGFpPZ0ikc3QOED3plgdqjgNTnBc7g==
+
+"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf"
+ integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78=
+
+"@protobufjs/base64@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735"
+ integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==
+
+"@protobufjs/codegen@^2.0.4":
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb"
+ integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==
+
+"@protobufjs/eventemitter@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70"
+ integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A=
+
+"@protobufjs/fetch@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45"
+ integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=
+ dependencies:
+ "@protobufjs/aspromise" "^1.1.1"
+ "@protobufjs/inquire" "^1.1.0"
+
+"@protobufjs/float@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1"
+ integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=
+
+"@protobufjs/inquire@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089"
+ integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=
+
+"@protobufjs/path@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d"
+ integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=
+
+"@protobufjs/pool@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54"
+ integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=
+
+"@protobufjs/utf8@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
+ integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=
+
+"@react-native-community/cli-debugger-ui@^4.13.1":
+ version "4.13.1"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-4.13.1.tgz#07de6d4dab80ec49231de1f1fbf658b4ad39b32c"
+ integrity sha512-UFnkg5RTq3s2X15fSkrWY9+5BKOFjihNSnJjTV2H5PtTUFbd55qnxxPw8CxSfK0bXb1IrSvCESprk2LEpqr5cg==
+ dependencies:
+ serve-static "^1.13.1"
+
+"@react-native-community/cli-debugger-ui@^5.0.1":
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-5.0.1.tgz#6b1f3367b8e5211e899983065ea2e72c1901d75f"
+ integrity sha512-5gGKaaXYOVE423BUqxIfvfAVSj5Cg1cU/TpGbeg/iqpy2CfqyWqJB3tTuVUbOOiOvR5wbU8tti6pIi1pchJ+oA==
+ dependencies:
+ serve-static "^1.13.1"
+
+"@react-native-community/cli-hermes@^4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-4.13.0.tgz#6243ed9c709dad5e523f1ccd7d21066b32f2899d"
+ integrity sha512-oG+w0Uby6rSGsUkJGLvMQctZ5eVRLLfhf84lLyz942OEDxFRa9U19YJxOe9FmgCKtotbYiM3P/XhK+SVCuerPQ==
+ dependencies:
+ "@react-native-community/cli-platform-android" "^4.13.0"
+ "@react-native-community/cli-tools" "^4.13.0"
+ chalk "^3.0.0"
+ hermes-profile-transformer "^0.0.6"
+ ip "^1.1.5"
+
+"@react-native-community/cli-hermes@^5.0.1":
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-5.0.1.tgz#039d064bf2dcd5043beb7dcd6cdf5f5cdd51e7fc"
+ integrity sha512-nD+ZOFvu5MfjLB18eDJ01MNiFrzj8SDtENjGpf0ZRFndOWASDAmU54/UlU/wj8OzTToK1+S1KY7j2P2M1gleww==
+ dependencies:
+ "@react-native-community/cli-platform-android" "^5.0.1"
+ "@react-native-community/cli-tools" "^5.0.1"
+ chalk "^3.0.0"
+ hermes-profile-transformer "^0.0.6"
+ ip "^1.1.5"
+
+"@react-native-community/cli-platform-android@^4.10.0", "@react-native-community/cli-platform-android@^4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-4.13.0.tgz#922681ec82ee1aadd993598b814df1152118be02"
+ integrity sha512-3i8sX8GklEytUZwPnojuoFbCjIRzMugCdzDIdZ9UNmi/OhD4/8mLGO0dgXfT4sMWjZwu3qjy45sFfk2zOAgHbA==
+ dependencies:
+ "@react-native-community/cli-tools" "^4.13.0"
+ chalk "^3.0.0"
+ execa "^1.0.0"
+ fs-extra "^8.1.0"
+ glob "^7.1.3"
+ jetifier "^1.6.2"
+ lodash "^4.17.15"
+ logkitty "^0.7.1"
+ slash "^3.0.0"
+ xmldoc "^1.1.2"
+
+"@react-native-community/cli-platform-android@^5.0.1", "@react-native-community/cli-platform-android@^5.0.1-alpha.1":
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-5.0.1.tgz#7f761e1818e5a099877ec59a1b739553fd6a6905"
+ integrity sha512-qv9GJX6BJ+Y4qvV34vgxKwwN1cnveXUdP6y2YmTW7XoAYs5YUzKqHajpY58EyucAL2y++6+573t5y4U/9IIoww==
+ dependencies:
+ "@react-native-community/cli-tools" "^5.0.1"
+ chalk "^3.0.0"
+ execa "^1.0.0"
+ fs-extra "^8.1.0"
+ glob "^7.1.3"
+ jetifier "^1.6.2"
+ lodash "^4.17.15"
+ logkitty "^0.7.1"
+ slash "^3.0.0"
+ xmldoc "^1.1.2"
+
+"@react-native-community/cli-platform-ios@^4.10.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-4.13.0.tgz#a738915c68cac86df54e578b59a1311ea62b1aef"
+ integrity sha512-6THlTu8zp62efkzimfGr3VIuQJ2514o+vScZERJCV1xgEi8XtV7mb/ZKt9o6Y9WGxKKkc0E0b/aVAtgy+L27CA==
+ dependencies:
+ "@react-native-community/cli-tools" "^4.13.0"
+ chalk "^3.0.0"
+ glob "^7.1.3"
+ js-yaml "^3.13.1"
+ lodash "^4.17.15"
+ plist "^3.0.1"
+ xcode "^2.0.0"
+
+"@react-native-community/cli-platform-ios@^5.0.1-alpha.1":
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-5.0.2.tgz#62485534053c0dad28a67de188248de177f4b0fb"
+ integrity sha512-IAJ2B3j2BTsQUJZ4R6cVvnTbPq0Vza7+dOgP81ISz2BKRtQ0VqNFv+VOALH2jLaDzf4t7NFlskzIXFqWqy2BLg==
+ dependencies:
+ "@react-native-community/cli-tools" "^5.0.1"
+ chalk "^3.0.0"
+ glob "^7.1.3"
+ js-yaml "^3.13.1"
+ lodash "^4.17.15"
+ plist "^3.0.1"
+ xcode "^2.0.0"
+
+"@react-native-community/cli-server-api@^4.13.1":
+ version "4.13.1"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-4.13.1.tgz#bee7ee9702afce848e9d6ca3dcd5669b99b125bd"
+ integrity sha512-vQzsFKD9CjHthA2ehTQX8c7uIzlI9A7ejaIow1I9RlEnLraPH2QqVDmzIdbdh5Od47UPbRzamCgAP8Bnqv3qwQ==
+ dependencies:
+ "@react-native-community/cli-debugger-ui" "^4.13.1"
+ "@react-native-community/cli-tools" "^4.13.0"
+ compression "^1.7.1"
+ connect "^3.6.5"
+ errorhandler "^1.5.0"
+ nocache "^2.1.0"
+ pretty-format "^25.1.0"
+ serve-static "^1.13.1"
+ ws "^1.1.0"
+
+"@react-native-community/cli-server-api@^5.0.1":
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-5.0.1.tgz#3cf92dac766fab766afedf77df3fe4d5f51e4d2b"
+ integrity sha512-OOxL+y9AOZayQzmSW+h5T54wQe+QBc/f67Y9QlWzzJhkKJdYx+S4VOooHoD5PFJzGbYaxhu2YF17p517pcEIIA==
+ dependencies:
+ "@react-native-community/cli-debugger-ui" "^5.0.1"
+ "@react-native-community/cli-tools" "^5.0.1"
+ compression "^1.7.1"
+ connect "^3.6.5"
+ errorhandler "^1.5.0"
+ nocache "^2.1.0"
+ pretty-format "^26.6.2"
+ serve-static "^1.13.1"
+ ws "^1.1.0"
+
+"@react-native-community/cli-tools@^4.13.0":
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-4.13.0.tgz#b406463d33af16cedc4305a9a9257ed32845cf1b"
+ integrity sha512-s4f489h5+EJksn4CfheLgv5PGOM0CDmK1UEBLw2t/ncWs3cW2VI7vXzndcd/WJHTv3GntJhXDcJMuL+Z2IAOgg==
+ dependencies:
+ chalk "^3.0.0"
+ lodash "^4.17.15"
+ mime "^2.4.1"
+ node-fetch "^2.6.0"
+ open "^6.2.0"
+ shell-quote "1.6.1"
+
+"@react-native-community/cli-tools@^5.0.1":
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-5.0.1.tgz#9ee564dbe20448becd6bce9fbea1b59aa5797919"
+ integrity sha512-XOX5w98oSE8+KnkMZZPMRT7I5TaP8fLbDl0tCu40S7Epz+Zz924n80fmdu6nUDIfPT1nV6yH1hmHmWAWTDOR+Q==
+ dependencies:
+ chalk "^3.0.0"
+ lodash "^4.17.15"
+ mime "^2.4.1"
+ node-fetch "^2.6.0"
+ open "^6.2.0"
+ shell-quote "1.6.1"
+
+"@react-native-community/cli-types@^4.10.1":
+ version "4.10.1"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-4.10.1.tgz#d68a2dcd1649d3b3774823c64e5e9ce55bfbe1c9"
+ integrity sha512-ael2f1onoPF3vF7YqHGWy7NnafzGu+yp88BbFbP0ydoCP2xGSUzmZVw0zakPTC040Id+JQ9WeFczujMkDy6jYQ==
+
+"@react-native-community/cli-types@^5.0.1":
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-5.0.1.tgz#8c5db4011988b0836d27a5efe230cb34890915dc"
+ integrity sha512-BesXnuFFlU/d1F3+sHhvKt8fUxbQlAbZ3hhMEImp9A6sopl8TEtryUGJ1dbazGjRXcADutxvjwT/i3LJVTIQug==
+ dependencies:
+ ora "^3.4.0"
+
+"@react-native-community/cli@^4.10.0":
+ version "4.14.0"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-4.14.0.tgz#bb106a98341bfa2db36060091ff90bfe82ea4f55"
+ integrity sha512-EYJKBuxFxAu/iwNUfwDq41FjORpvSh1wvQ3qsHjzcR5uaGlWEOJrd3uNJDuKBAS0TVvbEesLF9NEXipjyRVr4Q==
+ dependencies:
+ "@hapi/joi" "^15.0.3"
+ "@react-native-community/cli-debugger-ui" "^4.13.1"
+ "@react-native-community/cli-hermes" "^4.13.0"
+ "@react-native-community/cli-server-api" "^4.13.1"
+ "@react-native-community/cli-tools" "^4.13.0"
+ "@react-native-community/cli-types" "^4.10.1"
+ chalk "^3.0.0"
+ command-exists "^1.2.8"
+ commander "^2.19.0"
+ cosmiconfig "^5.1.0"
+ deepmerge "^3.2.0"
+ envinfo "^7.7.2"
+ execa "^1.0.0"
+ find-up "^4.1.0"
+ fs-extra "^8.1.0"
+ glob "^7.1.3"
+ graceful-fs "^4.1.3"
+ inquirer "^3.0.6"
+ leven "^3.1.0"
+ lodash "^4.17.15"
+ metro "^0.59.0"
+ metro-config "^0.59.0"
+ metro-core "^0.59.0"
+ metro-react-native-babel-transformer "^0.59.0"
+ metro-resolver "^0.59.0"
+ minimist "^1.2.0"
+ mkdirp "^0.5.1"
+ node-stream-zip "^1.9.1"
+ ora "^3.4.0"
+ pretty-format "^25.2.0"
+ semver "^6.3.0"
+ serve-static "^1.13.1"
+ strip-ansi "^5.2.0"
+ sudo-prompt "^9.0.0"
+ wcwidth "^1.0.1"
+
+"@react-native-community/cli@^5.0.1-alpha.1":
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-5.0.1.tgz#1f7a66d813d5daf102e593f3c550650fa0cc8314"
+ integrity sha512-9VzSYUYSEqxEH5Ib2UNSdn2eyPiYZ4T7Y79o9DKtRBuSaUIwbCUdZtIm+UUjBpLS1XYBkW26FqL8/UdZDmQvXw==
+ dependencies:
+ "@react-native-community/cli-debugger-ui" "^5.0.1"
+ "@react-native-community/cli-hermes" "^5.0.1"
+ "@react-native-community/cli-server-api" "^5.0.1"
+ "@react-native-community/cli-tools" "^5.0.1"
+ "@react-native-community/cli-types" "^5.0.1"
+ appdirsjs "^1.2.4"
+ chalk "^3.0.0"
+ command-exists "^1.2.8"
+ commander "^2.19.0"
+ cosmiconfig "^5.1.0"
+ deepmerge "^3.2.0"
+ envinfo "^7.7.2"
+ execa "^1.0.0"
+ find-up "^4.1.0"
+ fs-extra "^8.1.0"
+ glob "^7.1.3"
+ graceful-fs "^4.1.3"
+ joi "^17.2.1"
+ leven "^3.1.0"
+ lodash "^4.17.15"
+ metro "^0.64.0"
+ metro-config "^0.64.0"
+ metro-core "^0.64.0"
+ metro-react-native-babel-transformer "^0.64.0"
+ metro-resolver "^0.64.0"
+ metro-runtime "^0.64.0"
+ minimist "^1.2.0"
+ mkdirp "^0.5.1"
+ node-stream-zip "^1.9.1"
+ ora "^3.4.0"
+ pretty-format "^26.6.2"
+ prompts "^2.4.0"
+ semver "^6.3.0"
+ serve-static "^1.13.1"
+ strip-ansi "^5.2.0"
+ sudo-prompt "^9.0.0"
+ wcwidth "^1.0.1"
+
+"@react-native/assets@1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e"
+ integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==
+
+"@react-native/normalize-color@1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-1.0.0.tgz#c52a99d4fe01049102d47dc45d40cbde4f720ab6"
+ integrity sha512-xUNRvNmCl3UGCPbbHvfyFMnpvLPoOjDCcp5bT9m2k+TF/ZBklEQwhPZlkrxRx2NhgFh1X3a5uL7mJ7ZR+8G7Qg==
+
+"@react-native/normalize-color@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.0.0.tgz#da955909432474a9a0fe1cbffc66576a0447f567"
+ integrity sha512-Wip/xsc5lw8vsBlmY2MO/gFLp3MvuZ2baBZjDeTjjndMgM0h5sxz7AZR62RDPGgstp8Np7JzjvVqVT7tpFZqsw==
+
+"@react-native/polyfills@1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@react-native/polyfills/-/polyfills-1.0.0.tgz#05bb0031533598f9458cf65a502b8df0eecae780"
+ integrity sha512-0jbp4RxjYopTsIdLl+/Fy2TiwVYHy4mgeu07DG4b/LyM0OS/+lPP5c9sbnt/AMlnF6qz2JRZpPpGw1eMNS6A4w==
+
+"@redux-saga/core@^1.0.0":
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/@redux-saga/core/-/core-1.1.3.tgz#3085097b57a4ea8db5528d58673f20ce0950f6a4"
+ integrity sha512-8tInBftak8TPzE6X13ABmEtRJGjtK17w7VUs7qV17S8hCO5S3+aUTWZ/DBsBJPdE8Z5jOPwYALyvofgq1Ws+kg==
+ dependencies:
+ "@babel/runtime" "^7.6.3"
+ "@redux-saga/deferred" "^1.1.2"
+ "@redux-saga/delay-p" "^1.1.2"
+ "@redux-saga/is" "^1.1.2"
+ "@redux-saga/symbols" "^1.1.2"
+ "@redux-saga/types" "^1.1.0"
+ redux "^4.0.4"
+ typescript-tuple "^2.2.1"
+
+"@redux-saga/deferred@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@redux-saga/deferred/-/deferred-1.1.2.tgz#59937a0eba71fff289f1310233bc518117a71888"
+ integrity sha512-908rDLHFN2UUzt2jb4uOzj6afpjgJe3MjICaUNO3bvkV/kN/cNeI9PMr8BsFXB/MR8WTAZQq/PlTq8Kww3TBSQ==
+
+"@redux-saga/delay-p@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@redux-saga/delay-p/-/delay-p-1.1.2.tgz#8f515f4b009b05b02a37a7c3d0ca9ddc157bb355"
+ integrity sha512-ojc+1IoC6OP65Ts5+ZHbEYdrohmIw1j9P7HS9MOJezqMYtCDgpkoqB5enAAZrNtnbSL6gVCWPHaoaTY5KeO0/g==
+ dependencies:
+ "@redux-saga/symbols" "^1.1.2"
+
+"@redux-saga/is@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@redux-saga/is/-/is-1.1.2.tgz#ae6c8421f58fcba80faf7cadb7d65b303b97e58e"
+ integrity sha512-OLbunKVsCVNTKEf2cH4TYyNbbPgvmZ52iaxBD4I1fTif4+MTXMa4/Z07L83zW/hTCXwpSZvXogqMqLfex2Tg6w==
+ dependencies:
+ "@redux-saga/symbols" "^1.1.2"
+ "@redux-saga/types" "^1.1.0"
+
+"@redux-saga/symbols@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@redux-saga/symbols/-/symbols-1.1.2.tgz#216a672a487fc256872b8034835afc22a2d0595d"
+ integrity sha512-EfdGnF423glv3uMwLsGAtE6bg+R9MdqlHEzExnfagXPrIiuxwr3bdiAwz3gi+PsrQ3yBlaBpfGLtDG8rf3LgQQ==
+
+"@redux-saga/types@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@redux-saga/types/-/types-1.1.0.tgz#0e81ce56b4883b4b2a3001ebe1ab298b84237204"
+ integrity sha512-afmTuJrylUU/0OtqzaRkbyYFFNgCF73Bvel/sw90pvGrWIZ+vyoIJqA6eMSoA6+nb443kTmulmBtC9NerXboNg==
+
+"@repeaterjs/repeater@^3.0.4":
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/@repeaterjs/repeater/-/repeater-3.0.4.tgz#a04d63f4d1bf5540a41b01a921c9a7fddc3bd1ca"
+ integrity sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==
+
+"@sideway/address@^4.1.0":
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.2.tgz#811b84333a335739d3969cfc434736268170cad1"
+ integrity sha512-idTz8ibqWFrPU8kMirL0CoPH/A29XOzzAzpyN3zQ4kAWnzmNfFmRaoMNN6VI8ske5M73HZyhIaW4OuSFIdM4oA==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+
+"@sideway/formula@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.0.tgz#fe158aee32e6bd5de85044be615bc08478a0a13c"
+ integrity sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==
+
+"@sideway/pinpoint@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df"
+ integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==
+
+"@sindresorhus/is@^0.14.0":
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
+ integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
+
+"@solidity-parser/parser@^0.8.1":
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.8.2.tgz#a6a5e93ac8dca6884a99a532f133beba59b87b69"
+ integrity sha512-8LySx3qrNXPgB5JiULfG10O3V7QTxI/TLzSw5hFQhXWSkVxZBAv4rZQ0sYgLEbc8g3L2lmnujj1hKul38Eu5NQ==
+
+"@stablelib/binary@^0.7.2":
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-0.7.2.tgz#1b3392170c8a8741c8b8f843ea294de71aeb2cf7"
+ integrity sha1-GzOSFwyKh0HIuPhD6ilN5xrrLPc=
+ dependencies:
+ "@stablelib/int" "^0.5.0"
+
+"@stablelib/blake2s@^0.10.4":
+ version "0.10.4"
+ resolved "https://registry.yarnpkg.com/@stablelib/blake2s/-/blake2s-0.10.4.tgz#8a708f28a9c78d4a1a9fbcc6ce8bacbda469f302"
+ integrity sha512-IasdklC7YfXXLmVbnsxqmd66+Ki+Ysbp0BtcrNxAtrGx/HRGjkUZbSTbEa7HxFhBWIstJRcE5ExgY+RCqAiULQ==
+ dependencies:
+ "@stablelib/binary" "^0.7.2"
+ "@stablelib/hash" "^0.5.0"
+ "@stablelib/wipe" "^0.5.0"
+
+"@stablelib/blake2xs@0.10.4":
+ version "0.10.4"
+ resolved "https://registry.yarnpkg.com/@stablelib/blake2xs/-/blake2xs-0.10.4.tgz#b3ae9e145cbf924a7f598412b586e4af24d10cb7"
+ integrity sha512-1N0S4cruso/StV9TmoujPGj3RU0Cy42wlZneBWLWby7m2ssnY57l/CsYQSm03TshOoYss4hqc5kwSy5pmWAdUA==
+ dependencies:
+ "@stablelib/blake2s" "^0.10.4"
+ "@stablelib/hash" "^0.5.0"
+ "@stablelib/wipe" "^0.5.0"
+
+"@stablelib/hash@^0.5.0":
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/@stablelib/hash/-/hash-0.5.0.tgz#89fe9040a3d4383b1921c7d8a60948bc30846068"
+ integrity sha1-if6QQKPUODsZIcfYpglIvDCEYGg=
+
+"@stablelib/int@^0.5.0":
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-0.5.0.tgz#cca9225951d55d2de48656755784788633660c2b"
+ integrity sha1-zKkiWVHVXS3khlZ1V4R4hjNmDCs=
+
+"@stablelib/wipe@^0.5.0":
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-0.5.0.tgz#a682d5f9448e950e099e537e6f72fc960275d151"
+ integrity sha1-poLV+USOlQ4JnlN+b3L8lgJ10VE=
+
+"@svgr/babel-plugin-add-jsx-attribute@^4.2.0":
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1"
+ integrity sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==
+
+"@svgr/babel-plugin-remove-jsx-attribute@^4.2.0":
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz#297550b9a8c0c7337bea12bdfc8a80bb66f85abc"
+ integrity sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==
+
+"@svgr/babel-plugin-remove-jsx-empty-expression@^4.2.0":
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz#c196302f3e68eab6a05e98af9ca8570bc13131c7"
+ integrity sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==
+
+"@svgr/babel-plugin-replace-jsx-attribute-value@^4.2.0":
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165"
+ integrity sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==
+
+"@svgr/babel-plugin-svg-dynamic-title@^4.3.3":
+ version "4.3.3"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93"
+ integrity sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==
+
+"@svgr/babel-plugin-svg-em-dimensions@^4.2.0":
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz#9a94791c9a288108d20a9d2cc64cac820f141391"
+ integrity sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==
+
+"@svgr/babel-plugin-transform-react-native-svg@^4.2.0":
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz#151487322843359a1ca86b21a3815fd21a88b717"
+ integrity sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==
+
+"@svgr/babel-plugin-transform-svg-component@^4.2.0":
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697"
+ integrity sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==
+
+"@svgr/babel-preset@^4.3.3":
+ version "4.3.3"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c"
+ integrity sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==
+ dependencies:
+ "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0"
+ "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0"
+ "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0"
+ "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0"
+ "@svgr/babel-plugin-svg-dynamic-title" "^4.3.3"
+ "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0"
+ "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0"
+ "@svgr/babel-plugin-transform-svg-component" "^4.2.0"
+
+"@svgr/core@^4.3.3":
+ version "4.3.3"
+ resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293"
+ integrity sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==
+ dependencies:
+ "@svgr/plugin-jsx" "^4.3.3"
+ camelcase "^5.3.1"
+ cosmiconfig "^5.2.1"
+
+"@svgr/hast-util-to-babel-ast@^4.3.2":
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8"
+ integrity sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==
+ dependencies:
+ "@babel/types" "^7.4.4"
+
+"@svgr/plugin-jsx@^4.3.3":
+ version "4.3.3"
+ resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa"
+ integrity sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==
+ dependencies:
+ "@babel/core" "^7.4.5"
+ "@svgr/babel-preset" "^4.3.3"
+ "@svgr/hast-util-to-babel-ast" "^4.3.2"
+ svg-parser "^2.0.0"
+
+"@svgr/plugin-svgo@^4.3.1":
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32"
+ integrity sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==
+ dependencies:
+ cosmiconfig "^5.2.1"
+ merge-deep "^3.0.2"
+ svgo "^1.2.2"
+
+"@szmarczak/http-timer@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421"
+ integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==
+ dependencies:
+ defer-to-connect "^1.0.1"
+
+"@textile/buckets-grpc@2.6.6":
+ version "2.6.6"
+ resolved "https://registry.yarnpkg.com/@textile/buckets-grpc/-/buckets-grpc-2.6.6.tgz#304bdef37c81f0bdf2aa98f52d3b437bf4ab9d14"
+ integrity sha512-Gg+96RviTLNnSX8rhPxFgREJn3Ss2wca5Szk60nOenW+GoVIc+8dtsA9bE/6Vh5Gn85zAd17m1C2k6PbJK8x3Q==
+ dependencies:
+ "@improbable-eng/grpc-web" "^0.13.0"
+ "@types/google-protobuf" "^3.7.4"
+ google-protobuf "^3.13.0"
+
+"@textile/buckets@^6.2.1":
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/@textile/buckets/-/buckets-6.2.1.tgz#ca9920711a64e6f79e0af4f202bf6c2afd62acce"
+ integrity sha512-oX/kigti01gQtz226Q7BI2GVdLBNlKvmY9E0RBkDEUGK7w57EXAvhUkHrVqdBTufeShTMWybx+GrWq/sU3gyqw==
+ dependencies:
+ "@improbable-eng/grpc-web" "^0.13.0"
+ "@repeaterjs/repeater" "^3.0.4"
+ "@textile/buckets-grpc" "2.6.6"
+ "@textile/context" "^0.12.1"
+ "@textile/crypto" "^4.2.1"
+ "@textile/grpc-authentication" "^3.4.2"
+ "@textile/grpc-connection" "^2.5.2"
+ "@textile/grpc-transport" "^0.5.2"
+ "@textile/hub-grpc" "2.6.6"
+ "@textile/hub-threads-client" "^5.5.1"
+ "@textile/security" "^0.9.1"
+ "@textile/threads-id" "^0.6.1"
+ abort-controller "^3.0.0"
+ cids "^1.1.4"
+ it-drain "^1.0.3"
+ loglevel "^1.6.8"
+ native-abort-controller "^1.0.3"
+ paramap-it "^0.1.1"
+
+"@textile/context@^0.12.1":
+ version "0.12.1"
+ resolved "https://registry.yarnpkg.com/@textile/context/-/context-0.12.1.tgz#417a6e1a9f76fe4fb965a163129a8a95dc143601"
+ integrity sha512-3UDkz0YjwpWt8zY8NBkZ9UqqlR2L9Gv6t2TAXAQT+Rh/3/X0IAFGQlAaFT5wdGPN2nqbXDeEOFfkMs/T2K02Iw==
+ dependencies:
+ "@improbable-eng/grpc-web" "^0.13.0"
+ "@textile/security" "^0.9.1"
+
+"@textile/crypto@^4.2.1":
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/@textile/crypto/-/crypto-4.2.1.tgz#96f03daab9e9a1b97967e490e2ca3f9b2fd66f89"
+ integrity sha512-7qxFLrXiSq5Tf3Wh3Oh6JKJMitF/6N3/AJyma6UAA8iQnAZBF98ShWz9tR59a3dvmGTc9MlyplOm16edbccscg==
+ dependencies:
+ "@types/ed2curve" "^0.2.2"
+ ed2curve "^0.3.0"
+ fastestsmallesttextencoderdecoder "^1.0.22"
+ multibase "^3.1.0"
+ tweetnacl "^1.0.3"
+
+"@textile/grpc-authentication@^3.4.2":
+ version "3.4.2"
+ resolved "https://registry.yarnpkg.com/@textile/grpc-authentication/-/grpc-authentication-3.4.2.tgz#eae26a48321a2bb06cad75296700a2c93338f149"
+ integrity sha512-La5Xg5ZDYLIy8ftQdj4VKdSS9l7O18OAgAzyOo2lWOtokKVIcx08Tih72s1OUiy52w5bqwtH1SxMkEXAJf2cjA==
+ dependencies:
+ "@textile/context" "^0.12.1"
+ "@textile/crypto" "^4.2.1"
+ "@textile/grpc-connection" "^2.5.2"
+ "@textile/hub-threads-client" "^5.5.1"
+ "@textile/security" "^0.9.1"
+
+"@textile/grpc-connection@^2.5.2":
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/@textile/grpc-connection/-/grpc-connection-2.5.2.tgz#666b2d083322660539571bc95bbbb048f0c8c922"
+ integrity sha512-icvBwzT6+hhCjMTv0CEMpssGBIZpHQ5e4PKNqeeTYm68VivP3eCYUGqflzMJud6a2SwXMs7naThBYWI23vaOfQ==
+ dependencies:
+ "@improbable-eng/grpc-web" "^0.12.0"
+ "@textile/context" "^0.12.1"
+ "@textile/grpc-transport" "^0.5.2"
+
+"@textile/grpc-powergate-client@^2.6.2":
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/@textile/grpc-powergate-client/-/grpc-powergate-client-2.6.2.tgz#c267cc3e3dd1e68673c234d5465ff70bed843df6"
+ integrity sha512-ODe22lveqPiSkBsxnhLIRKQzZVwvyqDVx6WBPQJZI4yxrja5SDOq6/yH2Dtmqyfxg8BOobFvn+tid3wexRZjnQ==
+ dependencies:
+ "@improbable-eng/grpc-web" "^0.14.0"
+ "@types/google-protobuf" "^3.15.2"
+ google-protobuf "^3.17.3"
+
+"@textile/grpc-transport@^0.5.2":
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/@textile/grpc-transport/-/grpc-transport-0.5.2.tgz#79b63e0618d25479fb06f6b9be256d6a80e9fac4"
+ integrity sha512-XEC+Ubs7/pibZU2AHDJLeCEAVNtgEWmEXBXYJubpp4SVviuGUyd4h+zvqLw4FiIBGtlxx1u//cmzANhL0Ew7Rw==
+ dependencies:
+ "@improbable-eng/grpc-web" "^0.13.0"
+ "@types/ws" "^7.2.6"
+ isomorphic-ws "^4.0.1"
+ loglevel "^1.6.6"
+ ws "^7.2.1"
+
+"@textile/hub-filecoin@^2.2.1":
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/@textile/hub-filecoin/-/hub-filecoin-2.2.1.tgz#4962d812c3e03d957c95f15c85773e95f825bd72"
+ integrity sha512-kY4uYmdbh67vUJExt4/I/BeBb0UjZ0fIYlxC9dpucFsy4UM79Cfr1r39JftmFni25DmNH3YSm3CtodGOYE8FMg==
+ dependencies:
+ "@improbable-eng/grpc-web" "^0.12.0"
+ "@textile/context" "^0.12.1"
+ "@textile/crypto" "^4.2.1"
+ "@textile/grpc-authentication" "^3.4.2"
+ "@textile/grpc-connection" "^2.5.2"
+ "@textile/grpc-powergate-client" "^2.6.2"
+ "@textile/hub-grpc" "2.6.6"
+ "@textile/security" "^0.9.1"
+ event-iterator "^2.0.0"
+ loglevel "^1.6.8"
+
+"@textile/hub-grpc@2.6.6":
+ version "2.6.6"
+ resolved "https://registry.yarnpkg.com/@textile/hub-grpc/-/hub-grpc-2.6.6.tgz#c99392490885760f357b58e72812066aac0ffeac"
+ integrity sha512-PHoLUE1lq0hyiVjIucPHRxps8r1oafXHIgmAR99+Lk4TwAF2MXx5rfxYhg1dEJ3ches8ZuNbVGkiNIXroIoZ8Q==
+ dependencies:
+ "@improbable-eng/grpc-web" "^0.13.0"
+ "@types/google-protobuf" "^3.7.4"
+ google-protobuf "^3.13.0"
+
+"@textile/hub-threads-client@^5.5.1":
+ version "5.5.1"
+ resolved "https://registry.yarnpkg.com/@textile/hub-threads-client/-/hub-threads-client-5.5.1.tgz#9c3b7e4e9c9a7064d77ac768778afd804f199ea7"
+ integrity sha512-wn1ST0gmjBdVQw5ujjJ6PYCi9OsKPuGUmYbvZovjH2vbdnzoc9ji9i20JSMsQDERf+dD8vjf8szFC8DM/9ONYg==
+ dependencies:
+ "@improbable-eng/grpc-web" "^0.13.0"
+ "@textile/context" "^0.12.1"
+ "@textile/hub-grpc" "2.6.6"
+ "@textile/security" "^0.9.1"
+ "@textile/threads-client" "^2.3.1"
+ "@textile/threads-id" "^0.6.1"
+ "@textile/users-grpc" "2.6.6"
+ loglevel "^1.7.0"
+
+"@textile/hub@^6.0.2":
+ version "6.3.1"
+ resolved "https://registry.yarnpkg.com/@textile/hub/-/hub-6.3.1.tgz#ea62fddcdf62d39e84ca3f92b99b53402793a3f8"
+ integrity sha512-N6sdZLOAVimVJL/Jn8EDwvqujxzosJWP03lo34GtGU+FTO03Xga0C7yVnEiSEx4IvrrELcfM/90nDAukXIfUGQ==
+ dependencies:
+ "@textile/buckets" "^6.2.1"
+ "@textile/crypto" "^4.2.1"
+ "@textile/grpc-authentication" "^3.4.2"
+ "@textile/hub-filecoin" "^2.2.1"
+ "@textile/hub-grpc" "2.6.6"
+ "@textile/hub-threads-client" "^5.5.1"
+ "@textile/security" "^0.9.1"
+ "@textile/threads-id" "^0.6.1"
+ "@textile/users" "^6.2.1"
+ loglevel "^1.6.8"
+ multihashes "3.1.2"
+
+"@textile/multiaddr@^0.6.1":
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/@textile/multiaddr/-/multiaddr-0.6.1.tgz#c3dc666866d7616ab7a31bceb390ffad4f5932fb"
+ integrity sha512-OQK/kXYhtUA8yN41xltCxCiCO98Pkk8yMgUdhPDAhogvptvX4k9g6Rg0Yob18uBwN58AYUg075V//SWSK1kUCQ==
+ dependencies:
+ "@textile/threads-id" "^0.6.1"
+ multiaddr "^8.1.2"
+ varint "^6.0.0"
+
+"@textile/security@^0.9.1":
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/@textile/security/-/security-0.9.1.tgz#fe40cad3b27caf097252236b843b4fa71e81ffaf"
+ integrity sha512-pmiSOUezV/udTMoQsvyEZwZFfN0tMo6dOAof4VBqyFdDZZV6doeI5zTDpqSJZTg69n0swfWxsHw96ZWQIoWvsw==
+ dependencies:
+ "@consento/sync-randombytes" "^1.0.5"
+ fast-sha256 "^1.3.0"
+ fastestsmallesttextencoderdecoder "^1.0.22"
+ multibase "^3.1.0"
+
+"@textile/threads-client-grpc@^1.1.1":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@textile/threads-client-grpc/-/threads-client-grpc-1.1.1.tgz#65a84d933244abf3e83ed60ae491d8e066dc3b00"
+ integrity sha512-vdRD6hW90w1ys35AmeCy/DSQqASpu9oAP72zE8awLmB+MEUxHKclp4qRITgRAgRVczs/YpiksUBzqCNS9ekx6A==
+ dependencies:
+ "@improbable-eng/grpc-web" "^0.14.0"
+ "@types/google-protobuf" "^3.15.5"
+ google-protobuf "^3.17.3"
+
+"@textile/threads-client@^2.3.1":
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/@textile/threads-client/-/threads-client-2.3.1.tgz#2a5a96a243b596abee65956ce1c384ba254bccb2"
+ integrity sha512-Rf9prm7zbfbtiy/7I1l3IzWrVg6m4OqnPCv7IivhA7BgunuQqloa9HGd1vM0cSW6h/eh8/9B0wtIfs05SGrIWw==
+ dependencies:
+ "@improbable-eng/grpc-web" "^0.13.0"
+ "@textile/context" "^0.12.1"
+ "@textile/crypto" "^4.2.1"
+ "@textile/grpc-transport" "^0.5.2"
+ "@textile/multiaddr" "^0.6.1"
+ "@textile/security" "^0.9.1"
+ "@textile/threads-client-grpc" "^1.1.1"
+ "@textile/threads-id" "^0.6.1"
+ "@types/to-json-schema" "^0.2.0"
+ fastestsmallesttextencoderdecoder "^1.0.22"
+ to-json-schema "^0.2.5"
+
+"@textile/threads-id@^0.6.1":
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/@textile/threads-id/-/threads-id-0.6.1.tgz#ac6b5c93c9bd669f6c8f75ab2044b47a0f09627c"
+ integrity sha512-KwhbLjZ/eEquPorGgHFotw4g0bkKLTsqQmnsIxFeo+6C1mz40PQu4IOvJwohHr5GL6wedjlobry4Jj+uI3N+0w==
+ dependencies:
+ "@consento/sync-randombytes" "^1.0.4"
+ multibase "^3.1.0"
+ varint "^6.0.0"
+
+"@textile/users-grpc@2.6.6":
+ version "2.6.6"
+ resolved "https://registry.yarnpkg.com/@textile/users-grpc/-/users-grpc-2.6.6.tgz#dfec3ffc8f960892839c4e2e678af57b79f0d09a"
+ integrity sha512-pzI/jAWJx1/NqvSj03ukn2++aDNRdnyjwgbxh2drrsuxRZyCQEa1osBAA+SDkH5oeRf6dgxrc9dF8W1Ttjn0Yw==
+ dependencies:
+ "@improbable-eng/grpc-web" "^0.13.0"
+ "@types/google-protobuf" "^3.7.4"
+ google-protobuf "^3.13.0"
+
+"@textile/users@^6.2.1":
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/@textile/users/-/users-6.2.1.tgz#f716d630a1480cb81b1ac84001213b29663f7b88"
+ integrity sha512-vKS+myw//9ePxZg3i6uY+3HpghgInPluxSX+RFaDSS1K7v3xgr2XdSGiVD+A/uY6rjjQ8asKwnDCuY1ByiuM3g==
+ dependencies:
+ "@improbable-eng/grpc-web" "^0.13.0"
+ "@textile/buckets-grpc" "2.6.6"
+ "@textile/context" "^0.12.1"
+ "@textile/crypto" "^4.2.1"
+ "@textile/grpc-authentication" "^3.4.2"
+ "@textile/grpc-connection" "^2.5.2"
+ "@textile/grpc-transport" "^0.5.2"
+ "@textile/hub-grpc" "2.6.6"
+ "@textile/hub-threads-client" "^5.5.1"
+ "@textile/security" "^0.9.1"
+ "@textile/threads-id" "^0.6.1"
+ "@textile/users-grpc" "2.6.6"
+ event-iterator "^2.0.0"
+ loglevel "^1.7.0"
+
+"@truffle/abi-utils@^0.2.2", "@truffle/abi-utils@^0.2.4":
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/@truffle/abi-utils/-/abi-utils-0.2.4.tgz#9fc8bfc95bbe29a33cca3ab9028865b078e2f051"
+ integrity sha512-ICr5Sger6r5uj2G5GN9Zp9OQDCaCqe2ZyAEyvavDoFB+jX0zZFUCfDnv5jllGRhgzdYJ3mec2390mjUyz9jSZA==
+ dependencies:
+ change-case "3.0.2"
+ faker "^5.3.1"
+ fast-check "^2.12.1"
+
+"@truffle/blockchain-utils@^0.0.31":
+ version "0.0.31"
+ resolved "https://registry.yarnpkg.com/@truffle/blockchain-utils/-/blockchain-utils-0.0.31.tgz#0503d9fb2ce3e05c167c27294927f2f88d70a24d"
+ integrity sha512-BFo/nyxwhoHqPrqBQA1EAmSxeNnspGLiOCMa9pAL7WYSjyNBlrHaqCMO/F2O87G+NUK/u06E70DiSP2BFP0ZZw==
+
+"@truffle/code-utils@^1.2.30":
+ version "1.2.30"
+ resolved "https://registry.yarnpkg.com/@truffle/code-utils/-/code-utils-1.2.30.tgz#aa0a2a11eea40e3c76824729467f27d6cb76819b"
+ integrity sha512-/GFtGkmSZlLpIbIjBTunvhQQ4K2xaHK63QCEKydt3xRMPhpaeVAIaBNH53Z1ulOMDi6BZcSgwQHkquHf/omvMQ==
+ dependencies:
+ cbor "^5.1.0"
+
+"@truffle/codec@^0.11.19":
+ version "0.11.19"
+ resolved "https://registry.yarnpkg.com/@truffle/codec/-/codec-0.11.19.tgz#c3da4b823d1f730a1114f94406fccfa5459b6bdd"
+ integrity sha512-ZxsfRWBE4wcQ01NCpMWH6VRJ/q3mGTl3ku8ln+WJ2P6McIMsS37imO3d8N9NWiQ49klc9kJfT3mKnOVMLTJhIg==
+ dependencies:
+ "@truffle/abi-utils" "^0.2.4"
+ "@truffle/compile-common" "^0.7.22"
+ big.js "^5.2.2"
+ bn.js "^5.1.3"
+ cbor "^5.1.0"
+ debug "^4.3.1"
+ lodash.clonedeep "^4.5.0"
+ lodash.escaperegexp "^4.1.2"
+ lodash.partition "^4.6.0"
+ lodash.sum "^4.0.2"
+ semver "^7.3.4"
+ utf8 "^3.0.0"
+ web3-utils "1.5.3"
+
+"@truffle/codec@^0.7.1":
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/@truffle/codec/-/codec-0.7.1.tgz#2ef0fa40109040796afbebb8812c872122100ae4"
+ integrity sha512-mNd6KnW6J0UB1zafGBXDlTEbCMvWpmPAJmzv7aF/nAIaN/F8UePSCiQ1OTQP39Rprj6GFiCCaWVnBAwum6UGSg==
+ dependencies:
+ big.js "^5.2.2"
+ bn.js "^4.11.8"
+ borc "^2.1.2"
+ debug "^4.1.0"
+ lodash.clonedeep "^4.5.0"
+ lodash.escaperegexp "^4.1.2"
+ lodash.partition "^4.6.0"
+ lodash.sum "^4.0.2"
+ semver "^6.3.0"
+ source-map-support "^0.5.19"
+ utf8 "^3.0.0"
+ web3-utils "1.2.9"
+
+"@truffle/compile-common@^0.7.22":
+ version "0.7.22"
+ resolved "https://registry.yarnpkg.com/@truffle/compile-common/-/compile-common-0.7.22.tgz#c376eea36f59dc770ece3bc8cbb7132f49352846"
+ integrity sha512-afFKh0Wphn8JrCSjOORKjO8/E1X0EtQv6GpFJpQCAWo3/i4VGcSVKR1rjkknnExtjEGe9PJH/Ym/opGH3pQyDw==
+ dependencies:
+ "@truffle/error" "^0.0.14"
+ colors "^1.4.0"
+
+"@truffle/config@^1.3.13":
+ version "1.3.13"
+ resolved "https://registry.yarnpkg.com/@truffle/config/-/config-1.3.13.tgz#b8618af7639f5db8ab928883fd8a85e4acf4f26e"
+ integrity sha512-AXmY1KzCV+sQDz88CB1wsd8Za99Guo+HHXRjud/kU11HmbuSwiPRqVch5z1uW8JA1yhRVp7jfknMmOCiBrRL3g==
+ dependencies:
+ "@truffle/error" "^0.0.14"
+ "@truffle/events" "^0.0.18"
+ "@truffle/provider" "^0.2.42"
+ conf "^10.0.2"
+ find-up "^2.1.0"
+ lodash.assignin "^4.2.0"
+ lodash.merge "^4.6.2"
+ lodash.pick "^4.4.0"
+ module "^1.2.5"
+ original-require "^1.0.1"
+
+"@truffle/contract-schema@^3.3.1", "@truffle/contract-schema@^3.4.3":
+ version "3.4.3"
+ resolved "https://registry.yarnpkg.com/@truffle/contract-schema/-/contract-schema-3.4.3.tgz#c1bcde343f70b9438314202e103a7d77d684603c"
+ integrity sha512-pgaTgF4CKIpkqVYZVr2qGTxZZQOkNCWOXW9VQpKvLd4G0SNF2Y1gyhrFbBhoOUtYlbbSty+IEFFHsoAqpqlvpQ==
+ dependencies:
+ ajv "^6.10.0"
+ debug "^4.3.1"
+
+"@truffle/contract-sources@^0.1.12":
+ version "0.1.12"
+ resolved "https://registry.yarnpkg.com/@truffle/contract-sources/-/contract-sources-0.1.12.tgz#7a3dfec1bcf6f3632c0f54e522fb6f12b0bdf34b"
+ integrity sha512-7OH8P+N4n2LewbNiVpuleshPqj8G7n9Qkd5ot79sZ/R6xIRyXF05iBtg3/IbjIzOeQCrCE9aYUHNe2go9RuM0g==
+ dependencies:
+ debug "^4.3.1"
+ glob "^7.1.6"
+
+"@truffle/contract@^4.3.42":
+ version "4.3.42"
+ resolved "https://registry.yarnpkg.com/@truffle/contract/-/contract-4.3.42.tgz#75965224814e7c1efedfd9d0ec5130f51f701365"
+ integrity sha512-CWbKz3L6ldAoh0JX14nNzOyXxWsLiGX5PYpswrwOy0Uk4JYpbVtpSzoQxJbnDTfLUciowfCdG/4QMZ+zo2WVqA==
+ dependencies:
+ "@ensdomains/ensjs" "^2.0.1"
+ "@truffle/blockchain-utils" "^0.0.31"
+ "@truffle/contract-schema" "^3.4.3"
+ "@truffle/debug-utils" "^6.0.0"
+ "@truffle/error" "^0.0.14"
+ "@truffle/interface-adapter" "^0.5.8"
+ bignumber.js "^7.2.1"
+ debug "^4.3.1"
+ ethers "^4.0.32"
+ web3 "1.5.3"
+ web3-core-helpers "1.5.3"
+ web3-core-promievent "1.5.3"
+ web3-eth-abi "1.5.3"
+ web3-utils "1.5.3"
+
+"@truffle/db@^0.5.20":
+ version "0.5.40"
+ resolved "https://registry.yarnpkg.com/@truffle/db/-/db-0.5.40.tgz#25c972b01591c436df1dca19b0383fa6ddb9ba39"
+ integrity sha512-93s7K2Of3tQC0rD+QQXHg/kSJTdZzldHbQx8vttfL8c4h+l4UtzfdhqaRjH0iysi0GNH02V0XBWnktiJ6DIJQw==
+ dependencies:
+ "@truffle/abi-utils" "^0.2.4"
+ "@truffle/code-utils" "^1.2.30"
+ "@truffle/config" "^1.3.13"
+ "@truffle/resolver" "^7.0.38"
+ apollo-server "^2.18.2"
+ debug "^4.3.1"
+ fs-extra "^9.1.0"
+ graphql "^15.3.0"
+ graphql-tag "^2.11.0"
+ graphql-tools "^6.2.4"
+ json-stable-stringify "^1.0.1"
+ jsondown "^1.0.0"
+ pascal-case "^2.0.1"
+ pluralize "^8.0.0"
+ pouchdb "7.1.1"
+ pouchdb-adapter-memory "^7.1.1"
+ pouchdb-adapter-node-websql "^7.0.0"
+ pouchdb-debug "^7.1.1"
+ pouchdb-find "^7.0.0"
+ web3-utils "1.5.3"
+
+"@truffle/debug-utils@^6.0.0":
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/@truffle/debug-utils/-/debug-utils-6.0.0.tgz#9bac9509afe2005b9cb071252a22cc4297928568"
+ integrity sha512-MoN8aQQX2DLLEMMlfF+8ZFtjh0FJsPYwuI4NDcn7upoORe/QoRHeypIhQgaepOXBKwIXW0mplBkAk/nm+cQp8A==
+ dependencies:
+ "@truffle/codec" "^0.11.19"
+ "@trufflesuite/chromafi" "^2.2.2"
+ bn.js "^5.1.3"
+ chalk "^2.4.2"
+ debug "^4.3.1"
+ highlightjs-solidity "^2.0.2"
+
+"@truffle/debugger@^9.1.5":
+ version "9.2.4"
+ resolved "https://registry.yarnpkg.com/@truffle/debugger/-/debugger-9.2.4.tgz#9aeed701fd214bc602439a90401b8e5c25134f94"
+ integrity sha512-naAl1wPrSJg0RndoUIrY46RD6u90PGVSJRIOWvwoCHc4BR6LmeIA7yUBb9ni6GESeqZ0NB0+20Nw3/Hwzz6kcg==
+ dependencies:
+ "@truffle/abi-utils" "^0.2.4"
+ "@truffle/codec" "^0.11.19"
+ "@truffle/source-map-utils" "^1.3.63"
+ bn.js "^5.1.3"
+ debug "^4.3.1"
+ json-pointer "^0.6.0"
+ json-stable-stringify "^1.0.1"
+ lodash.flatten "^4.4.0"
+ lodash.merge "^4.6.2"
+ lodash.sum "^4.0.2"
+ lodash.zipwith "^4.2.0"
+ redux "^3.7.2"
+ redux-saga "1.0.0"
+ remote-redux-devtools "^0.5.12"
+ reselect-tree "^1.3.4"
+ semver "^7.3.4"
+ web3 "1.5.3"
+ web3-eth-abi "1.5.3"
+
+"@truffle/error@^0.0.14":
+ version "0.0.14"
+ resolved "https://registry.yarnpkg.com/@truffle/error/-/error-0.0.14.tgz#59683b5407bede7bddf16d80dc5592f9c5e5fa05"
+ integrity sha512-utJx+SZYoMqk8wldQG4gCVKhV8GwMJbWY7sLXFT/D8wWZTnE2peX7URFJh/cxkjTRCO328z1s2qewkhyVsu2HA==
+
+"@truffle/events@^0.0.18":
+ version "0.0.18"
+ resolved "https://registry.yarnpkg.com/@truffle/events/-/events-0.0.18.tgz#509713d9ebbfc35a3727c52e2bf72c7bb089b5ab"
+ integrity sha512-U+8pKyBlEDOUPo43/A6zh5Yw4Q/ZFOA6b5d54EPhqN/C+39LDhUPSI8PI7KmdY4HfUy/ZhMEdh59F34rGRTUYg==
+ dependencies:
+ emittery "^0.4.1"
+ ora "^3.4.0"
+
+"@truffle/expect@^0.0.18":
+ version "0.0.18"
+ resolved "https://registry.yarnpkg.com/@truffle/expect/-/expect-0.0.18.tgz#022353a212942437e1a57ac1191d692347367bb5"
+ integrity sha512-ZcYladRCgwn3bbhK3jIORVHcUOBk/MXsUxjfzcw+uD+0H1Kodsvcw1AAIaqd5tlyFhdOb7YkOcH0kUES7F8d1A==
+
+"@truffle/interface-adapter@^0.5.8":
+ version "0.5.8"
+ resolved "https://registry.yarnpkg.com/@truffle/interface-adapter/-/interface-adapter-0.5.8.tgz#76cfd34374d85849e1164de1a3d5a3dce0dc5d01"
+ integrity sha512-vvy3xpq36oLgjjy8KE9l2Jabg3WcGPOt18tIyMfTQX9MFnbHoQA2Ne2i8xsd4p6KfxIqSjAB53Q9/nScAqY0UQ==
+ dependencies:
+ bn.js "^5.1.3"
+ ethers "^4.0.32"
+ web3 "1.5.3"
+
+"@truffle/preserve-fs@^0.2.3":
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/@truffle/preserve-fs/-/preserve-fs-0.2.4.tgz#9218021f805bb521d0175d5e6bb8535dc4f5c340"
+ integrity sha512-dGHPWw40PpSMZSWTTCrv+wq5vQuSh2Cy1ABdhQOqMkw7F5so4mdLZdgh956em2fLbTx5NwaEV7dwLu2lYM+xwA==
+ dependencies:
+ "@truffle/preserve" "^0.2.4"
+
+"@truffle/preserve-to-buckets@^0.2.3":
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/@truffle/preserve-to-buckets/-/preserve-to-buckets-0.2.4.tgz#8f7616716fb3ba983565ccdcd47bc12af2a96c2b"
+ integrity sha512-C3NBOY7BK55mURBLrYxUqhz57Mz23Q9ePj+A0J4sJnmWJIsjfzuc2gozXkrzFK5od5Rg786NIoXxPxkb2E0tsA==
+ dependencies:
+ "@textile/hub" "^6.0.2"
+ "@truffle/preserve" "^0.2.4"
+ cids "^1.1.5"
+ ipfs-http-client "^48.2.2"
+ isomorphic-ws "^4.0.1"
+ iter-tools "^7.0.2"
+ ws "^7.4.3"
+
+"@truffle/preserve-to-filecoin@^0.2.3":
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/@truffle/preserve-to-filecoin/-/preserve-to-filecoin-0.2.4.tgz#cc947aa9d575fb162435fe324f43d88d17ebf082"
+ integrity sha512-kUzvSUCfpH0gcLxOM8eaYy5dPuJYh/wBpjU5bEkCcrx1HQWr73fR3slS8cO5PNqaxkDvm8RDlh7Lha2JTLp4rw==
+ dependencies:
+ "@truffle/preserve" "^0.2.4"
+ cids "^1.1.5"
+ delay "^5.0.0"
+ filecoin.js "^0.0.5-alpha"
+
+"@truffle/preserve-to-ipfs@^0.2.3":
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/@truffle/preserve-to-ipfs/-/preserve-to-ipfs-0.2.4.tgz#a4b17b47574b4a1384557c8728b09d84fbdb13c0"
+ integrity sha512-17gEBhYcS1Qx/FAfOrlyyKJ74HLYm4xROtHwqRvV9MoDI1k3w/xcL+odRrl5H15NX8vNFOukAI7cGe0NPjQHvQ==
+ dependencies:
+ "@truffle/preserve" "^0.2.4"
+ ipfs-http-client "^48.2.2"
+ iter-tools "^7.0.2"
+
+"@truffle/preserve@^0.2.4":
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/@truffle/preserve/-/preserve-0.2.4.tgz#1d902cc9df699eee3efdc39820c755b9c5af65c7"
+ integrity sha512-rMJQr/uvBIpT23uGM9RLqZKwIIR2CyeggVOTuN2UHHljSsxHWcvRCkNZCj/AA3wH3GSOQzCrbYBcs0d/RF6E1A==
+ dependencies:
+ spinnies "^0.5.1"
+
+"@truffle/provider@^0.2.42":
+ version "0.2.42"
+ resolved "https://registry.yarnpkg.com/@truffle/provider/-/provider-0.2.42.tgz#9da6a144b3c9188cdb587451dd7bd907b4c7164b"
+ integrity sha512-ZNoglPho4alYIjJR+sLTgX0x6ho7m4OAUWuJ50RAWmoEqYc4AM6htdrI+lTSoRrOHHbmgasv22a7rFPMnmDrTg==
+ dependencies:
+ "@truffle/error" "^0.0.14"
+ "@truffle/interface-adapter" "^0.5.8"
+ web3 "1.5.3"
+
+"@truffle/provisioner@^0.2.36":
+ version "0.2.36"
+ resolved "https://registry.yarnpkg.com/@truffle/provisioner/-/provisioner-0.2.36.tgz#dc1016d74afae018928064986d22a28a16a5b143"
+ integrity sha512-dCDshpm0dDcsD7mDM8j+ghYY+gIWsTUY6VnLUju3QeBHUVz0ax+6I6MqOEsx7uVxEjJBtCOKBQHfk6b4N3XEkw==
+ dependencies:
+ "@truffle/config" "^1.3.13"
+
+"@truffle/resolver@^7.0.38":
+ version "7.0.38"
+ resolved "https://registry.yarnpkg.com/@truffle/resolver/-/resolver-7.0.38.tgz#3d8b46046d89cd0e6fe20e58c0a5bfd628cfcc1f"
+ integrity sha512-cvuEAtD/QkRbdT0GH+kr1s3Yrt2MLwXyhtv1VyGHiCrirxNIZ7xNPrWOSdMCJZQSXhYigo2Pi/dLlcr2jQ6ETw==
+ dependencies:
+ "@truffle/contract" "^4.3.42"
+ "@truffle/contract-sources" "^0.1.12"
+ "@truffle/expect" "^0.0.18"
+ "@truffle/provisioner" "^0.2.36"
+ abi-to-sol "^0.5.1"
+ debug "^4.3.1"
+ detect-installed "^2.0.4"
+ get-installed-path "^4.0.8"
+ glob "^7.1.6"
+
+"@truffle/source-map-utils@^1.3.63":
+ version "1.3.63"
+ resolved "https://registry.yarnpkg.com/@truffle/source-map-utils/-/source-map-utils-1.3.63.tgz#6fa26d6b7a0874e99d6d78a5cacc13903dbcffd4"
+ integrity sha512-JmRnhONsjAdB5sTDl2xy7DUoIxg2KUGpXsPcu1EggBcojY1fZoD3wsdWWLysRDW5Od+npn/BWSdjzGdQknyVPA==
+ dependencies:
+ "@truffle/code-utils" "^1.2.30"
+ "@truffle/codec" "^0.11.19"
+ debug "^4.3.1"
+ json-pointer "^0.6.0"
+ node-interval-tree "^1.3.3"
+ web3-utils "1.5.3"
+
+"@trufflesuite/chromafi@^2.2.2":
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/@trufflesuite/chromafi/-/chromafi-2.2.2.tgz#d3fc507aa8504faffc50fb892cedcfe98ff57f77"
+ integrity sha512-mItQwVBsb8qP/vaYHQ1kDt2vJLhjoEXJptT6y6fJGvFophMFhOI/NsTVUa0nJL1nyMeFiS6hSYuNVdpQZzB1gA==
+ dependencies:
+ ansi-mark "^1.0.0"
+ ansi-regex "^3.0.0"
+ array-uniq "^1.0.3"
+ camelcase "^4.1.0"
+ chalk "^2.3.2"
+ cheerio "^1.0.0-rc.2"
+ detect-indent "^5.0.0"
+ he "^1.1.1"
+ highlight.js "^10.4.1"
+ lodash.merge "^4.6.2"
+ min-indent "^1.0.0"
+ strip-ansi "^4.0.0"
+ strip-indent "^2.0.0"
+ super-split "^1.1.0"
+
+"@types/accepts@*", "@types/accepts@^1.3.5":
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575"
+ integrity sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==
+ dependencies:
+ "@types/node" "*"
+
+"@types/bn.js@*", "@types/bn.js@^5.1.0":
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68"
+ integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==
+ dependencies:
+ "@types/node" "*"
+
+"@types/bn.js@^4.11.3", "@types/bn.js@^4.11.5":
+ version "4.11.6"
+ resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c"
+ integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==
+ dependencies:
+ "@types/node" "*"
+
+"@types/body-parser@*":
+ version "1.19.2"
+ resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0"
+ integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==
+ dependencies:
+ "@types/connect" "*"
+ "@types/node" "*"
+
+"@types/body-parser@1.19.0":
+ version "1.19.0"
+ resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f"
+ integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==
+ dependencies:
+ "@types/connect" "*"
+ "@types/node" "*"
+
+"@types/connect@*":
+ version "3.4.35"
+ resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1"
+ integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==
+ dependencies:
+ "@types/node" "*"
+
+"@types/content-disposition@*":
+ version "0.5.4"
+ resolved "https://registry.yarnpkg.com/@types/content-disposition/-/content-disposition-0.5.4.tgz#de48cf01c79c9f1560bcfd8ae43217ab028657f8"
+ integrity sha512-0mPF08jn9zYI0n0Q/Pnz7C4kThdSt+6LD4amsrYDDpgBfrVWa3TcCOxKX1zkGgYniGagRv8heN2cbh+CAn+uuQ==
+
+"@types/cookies@*":
+ version "0.7.7"
+ resolved "https://registry.yarnpkg.com/@types/cookies/-/cookies-0.7.7.tgz#7a92453d1d16389c05a5301eef566f34946cfd81"
+ integrity sha512-h7BcvPUogWbKCzBR2lY4oqaZbO3jXZksexYJVFvkrFeLgbZjQkU4x8pRq6eg2MHXQhY0McQdqmmsxRWlVAHooA==
+ dependencies:
+ "@types/connect" "*"
+ "@types/express" "*"
+ "@types/keygrip" "*"
+ "@types/node" "*"
+
+"@types/cors@2.8.10":
+ version "2.8.10"
+ resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.10.tgz#61cc8469849e5bcdd0c7044122265c39cec10cf4"
+ integrity sha512-C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==
+
+"@types/country-data@^0.0.0":
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/@types/country-data/-/country-data-0.0.0.tgz#6f5563cae3d148780c5b6539803a29bd93f8f1a1"
+ integrity sha512-lIxCk6G7AwmUagQ4gIQGxUBnvAq664prFD9nSAz6dgd1XmBXBtZABV/op+QsJsIyaP1GZsf/iXhYKHX3azSRCw==
+
+"@types/debug@^4.1.5":
+ version "4.1.7"
+ resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82"
+ integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==
+ dependencies:
+ "@types/ms" "*"
+
+"@types/ed2curve@^0.2.2":
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/@types/ed2curve/-/ed2curve-0.2.2.tgz#8f8bc7e2c9a5895a941c63a4f7acd7a6a62a5b15"
+ integrity sha512-G1sTX5xo91ydevQPINbL2nfgVAj/s1ZiqZxC8OCWduwu+edoNGUm5JXtTkg9F3LsBZbRI46/0HES4CPUE2wc9g==
+ dependencies:
+ tweetnacl "^1.0.0"
+
+"@types/elliptic@^6.4.9":
+ version "6.4.14"
+ resolved "https://registry.yarnpkg.com/@types/elliptic/-/elliptic-6.4.14.tgz#7bbaad60567a588c1f08b10893453e6b9b4de48e"
+ integrity sha512-z4OBcDAU0GVwDTuwJzQCiL6188QvZMkvoERgcVjq0/mPM8jCfdwZ3x5zQEVoL9WCAru3aG5wl3Z5Ww5wBWn7ZQ==
+ dependencies:
+ "@types/bn.js" "*"
+
+"@types/ethereumjs-util@^5.2.0":
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@types/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz#f49fe8114789ec0871721392c09318c3eb56671b"
+ integrity sha512-qwQgQqXXTRv2h2AlJef+tMEszLFkCB9dWnrJYIdAwqjubERXEc/geB+S3apRw0yQyTVnsBf8r6BhlrE8vx+3WQ==
+ dependencies:
+ "@types/bn.js" "*"
+ "@types/node" "*"
+
+"@types/express-serve-static-core@^4.17.18", "@types/express-serve-static-core@^4.17.21":
+ version "4.17.25"
+ resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.25.tgz#e42f7046adc65ece2eb6059b77aecfbe9e9f82e0"
+ integrity sha512-OUJIVfRMFijZukGGwTpKNFprqCCXk5WjNGvUgB/CxxBR40QWSjsNK86+yvGKlCOGc7sbwfHLaXhkG+NsytwBaQ==
+ dependencies:
+ "@types/node" "*"
+ "@types/qs" "*"
+ "@types/range-parser" "*"
+
+"@types/express@*", "@types/express@^4.17.12":
+ version "4.17.13"
+ resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034"
+ integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==
+ dependencies:
+ "@types/body-parser" "*"
+ "@types/express-serve-static-core" "^4.17.18"
+ "@types/qs" "*"
+ "@types/serve-static" "*"
+
+"@types/fs-capacitor@*":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@types/fs-capacitor/-/fs-capacitor-2.0.0.tgz#17113e25817f584f58100fb7a08eed288b81956e"
+ integrity sha512-FKVPOCFbhCvZxpVAMhdBdTfVfXUpsh15wFHgqOKxh9N9vzWZVuWCSijZ5T4U34XYNnuj2oduh6xcs1i+LPI+BQ==
+ dependencies:
+ "@types/node" "*"
+
+"@types/google-libphonenumber@^7.4.17":
+ version "7.4.23"
+ resolved "https://registry.yarnpkg.com/@types/google-libphonenumber/-/google-libphonenumber-7.4.23.tgz#c44c9125d45f042943694d605fd8d8d796cafc3b"
+ integrity sha512-C3ydakLTQa8HxtYf9ge4q6uT9krDX8smSIxmmW3oACFi5g5vv6T068PRExF7UyWbWpuYiDG8Nm24q2X5XhcZWw==
+
+"@types/google-protobuf@^3.15.2", "@types/google-protobuf@^3.15.5", "@types/google-protobuf@^3.7.4":
+ version "3.15.5"
+ resolved "https://registry.yarnpkg.com/@types/google-protobuf/-/google-protobuf-3.15.5.tgz#644b2be0f5613b1f822c70c73c6b0e0b5b5fa2ad"
+ integrity sha512-6bgv24B+A2bo9AfzReeg5StdiijKzwwnRflA8RLd1V4Yv995LeTmo0z69/MPbBDFSiZWdZHQygLo/ccXhMEDgw==
+
+"@types/graceful-fs@^4.1.2":
+ version "4.1.5"
+ resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15"
+ integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==
+ dependencies:
+ "@types/node" "*"
+
+"@types/http-assert@*":
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/@types/http-assert/-/http-assert-1.5.3.tgz#ef8e3d1a8d46c387f04ab0f2e8ab8cb0c5078661"
+ integrity sha512-FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA==
+
+"@types/http-errors@*":
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-1.8.1.tgz#e81ad28a60bee0328c6d2384e029aec626f1ae67"
+ integrity sha512-e+2rjEwK6KDaNOm5Aa9wNGgyS9oSZU/4pfSMMPYNOfjvFI0WVXm29+ITRFr6aKDvvKo7uU1jV68MW4ScsfDi7Q==
+
+"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762"
+ integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==
+
+"@types/istanbul-lib-report@*":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686"
+ integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==
+ dependencies:
+ "@types/istanbul-lib-coverage" "*"
+
+"@types/istanbul-reports@^1.1.1":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2"
+ integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==
+ dependencies:
+ "@types/istanbul-lib-coverage" "*"
+ "@types/istanbul-lib-report" "*"
+
+"@types/istanbul-reports@^3.0.0":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff"
+ integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==
+ dependencies:
+ "@types/istanbul-lib-report" "*"
+
+"@types/json-schema@*":
+ version "7.0.9"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"
+ integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==
+
+"@types/keygrip@*":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@types/keygrip/-/keygrip-1.0.2.tgz#513abfd256d7ad0bf1ee1873606317b33b1b2a72"
+ integrity sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==
+
+"@types/koa-compose@*":
+ version "3.2.5"
+ resolved "https://registry.yarnpkg.com/@types/koa-compose/-/koa-compose-3.2.5.tgz#85eb2e80ac50be95f37ccf8c407c09bbe3468e9d"
+ integrity sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==
+ dependencies:
+ "@types/koa" "*"
+
+"@types/koa@*":
+ version "2.13.4"
+ resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.13.4.tgz#10620b3f24a8027ef5cbae88b393d1b31205726b"
+ integrity sha512-dfHYMfU+z/vKtQB7NUrthdAEiSvnLebvBjwHtfFmpZmB7em2N3WVQdHgnFq+xvyVgxW5jKDmjWfLD3lw4g4uTw==
+ dependencies:
+ "@types/accepts" "*"
+ "@types/content-disposition" "*"
+ "@types/cookies" "*"
+ "@types/http-assert" "*"
+ "@types/http-errors" "*"
+ "@types/keygrip" "*"
+ "@types/koa-compose" "*"
+ "@types/node" "*"
+
+"@types/lodash@^4.14.170":
+ version "4.14.177"
+ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.177.tgz#f70c0d19c30fab101cad46b52be60363c43c4578"
+ integrity sha512-0fDwydE2clKe9MNfvXHBHF9WEahRuj+msTuQqOmAApNORFvhMYZKNGGJdCzuhheVjMps/ti0Ak/iJPACMaevvw==
+
+"@types/long@^4.0.0", "@types/long@^4.0.1":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9"
+ integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==
+
+"@types/mime@^1":
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a"
+ integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==
+
+"@types/ms@*":
+ version "0.7.31"
+ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197"
+ integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
+
+"@types/node@*", "@types/node@>=13.7.0":
+ version "16.11.10"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.10.tgz#2e3ad0a680d96367103d3e670d41c2fed3da61ae"
+ integrity sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA==
+
+"@types/node@10.12.18":
+ version "10.12.18"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67"
+ integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==
+
+"@types/node@11.11.6":
+ version "11.11.6"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a"
+ integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==
+
+"@types/node@^10.1.0", "@types/node@^10.12.18":
+ version "10.17.60"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b"
+ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==
+
+"@types/node@^12.11.7", "@types/node@^12.12.6":
+ version "12.20.37"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.37.tgz#abb38afa9d6e8a2f627a8cb52290b3c80fbe61ed"
+ integrity sha512-i1KGxqcvJaLQali+WuypQnXwcplhtNtjs66eNsZpp2P2FL/trJJxx/VWsM0YCL2iMoIJrbXje48lvIQAQ4p2ZA==
+
+"@types/pbkdf2@^3.0.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1"
+ integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==
+ dependencies:
+ "@types/node" "*"
+
+"@types/prop-types@*":
+ version "15.7.4"
+ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11"
+ integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==
+
+"@types/q@^1.5.1":
+ version "1.5.5"
+ resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df"
+ integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==
+
+"@types/qs@*":
+ version "6.9.7"
+ resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb"
+ integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==
+
+"@types/randombytes@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@types/randombytes/-/randombytes-2.0.0.tgz#0087ff5e60ae68023b9bc4398b406fea7ad18304"
+ integrity sha512-bz8PhAVlwN72vqefzxa14DKNT8jK/mV66CSjwdVQM/k3Th3EPKfUtdMniwZgMedQTFuywAsfjnZsg+pEnltaMA==
+ dependencies:
+ "@types/node" "*"
+
+"@types/range-parser@*":
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
+ integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
+
+"@types/react-native@~0.64.12":
+ version "0.64.19"
+ resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.64.19.tgz#2b888c082ad293fa0fa6ae34c5e9457cfb38e50a"
+ integrity sha512-bT62QhaPvOKFGmlfURIC98ILjUDoIFrc2Bn5EzL3qciZrT91vHwkxFOkuEyQJy+DWaHCa2z3IrtIEJywkGu/Bg==
+ dependencies:
+ "@types/react" "*"
+
+"@types/react@*", "@types/react@~17.0.21":
+ version "17.0.36"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.36.tgz#0d81e0e2419e6a8e9ba6af5e3a0608e70835d7d1"
+ integrity sha512-CUFUp01OdfbpN/76v4koqgcpcRGT3sYOq3U3N6q0ZVGcyeP40NUdVU+EWe3hs34RNaTefiYyBzOpxBBidCc5zw==
+ dependencies:
+ "@types/prop-types" "*"
+ "@types/scheduler" "*"
+ csstype "^3.0.2"
+
+"@types/scheduler@*":
+ version "0.16.2"
+ resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
+ integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
+
+"@types/secp256k1@^4.0.1":
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c"
+ integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==
+ dependencies:
+ "@types/node" "*"
+
+"@types/serve-static@*":
+ version "1.13.10"
+ resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9"
+ integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==
+ dependencies:
+ "@types/mime" "^1"
+ "@types/node" "*"
+
+"@types/stack-utils@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e"
+ integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==
+
+"@types/to-json-schema@^0.2.0":
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/@types/to-json-schema/-/to-json-schema-0.2.1.tgz#223346df86bc0c183d53c939ad5eb1ddfb0e9bf5"
+ integrity sha512-DlvjodmdSrih054SrUqgS3bIZ93allrfbzjFUFmUhAtC60O+B/doLfgB8stafkEFyrU/zXWtPlX/V1H94iKv/A==
+ dependencies:
+ "@types/json-schema" "*"
+
+"@types/utf8@^2.1.6":
+ version "2.1.6"
+ resolved "https://registry.yarnpkg.com/@types/utf8/-/utf8-2.1.6.tgz#430cabb71a42d0a3613cce5621324fe4f5a25753"
+ integrity sha512-pRs2gYF5yoKYrgSaira0DJqVg2tFuF+Qjp838xS7K+mJyY2jJzjsrl6y17GbIa4uMRogMbxs+ghNCvKg6XyNrA==
+
+"@types/websocket@1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@types/websocket/-/websocket-1.0.2.tgz#d2855c6a312b7da73ed16ba6781815bf30c6187a"
+ integrity sha512-B5m9aq7cbbD/5/jThEr33nUY8WEfVi6A2YKCTOvw5Ldy7mtsOkqRvGjnzy6g7iMMDsgu7xREuCzqATLDLQVKcQ==
+ dependencies:
+ "@types/node" "*"
+
+"@types/ws@^7.0.0", "@types/ws@^7.2.6":
+ version "7.4.7"
+ resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702"
+ integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==
+ dependencies:
+ "@types/node" "*"
+
+"@types/yargs-parser@*":
+ version "20.2.1"
+ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129"
+ integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==
+
+"@types/yargs@^13.0.0":
+ version "13.0.12"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.12.tgz#d895a88c703b78af0465a9de88aa92c61430b092"
+ integrity sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==
+ dependencies:
+ "@types/yargs-parser" "*"
+
+"@types/yargs@^15.0.0":
+ version "15.0.14"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06"
+ integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==
+ dependencies:
+ "@types/yargs-parser" "*"
+
+"@wry/context@^0.6.0":
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.6.1.tgz#c3c29c0ad622adb00f6a53303c4f965ee06ebeb2"
+ integrity sha512-LOmVnY1iTU2D8tv4Xf6MVMZZ+juIJ87Kt/plMijjN20NMAXGmH4u8bS1t0uT74cZ5gwpocYueV58YwyI8y+GKw==
+ dependencies:
+ tslib "^2.3.0"
+
+"@wry/equality@^0.1.2":
+ version "0.1.11"
+ resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.1.11.tgz#35cb156e4a96695aa81a9ecc4d03787bc17f1790"
+ integrity sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==
+ dependencies:
+ tslib "^1.9.3"
+
+"@wry/equality@^0.5.0":
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.2.tgz#72c8a7a7d884dff30b612f4f8464eba26c080e73"
+ integrity sha512-oVMxbUXL48EV/C0/M7gLVsoK6qRHPS85x8zECofEZOVvxGmIPLA9o5Z27cc2PoAyZz1S2VoM2A7FLAnpfGlneA==
+ dependencies:
+ tslib "^2.3.0"
+
+"@wry/trie@^0.3.0":
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.3.1.tgz#2279b790f15032f8bcea7fc944d27988e5b3b139"
+ integrity sha512-WwB53ikYudh9pIorgxrkHKrQZcCqNM/Q/bDzZBffEaGUKGuHrRb3zZUT9Sh2qw9yogC7SsdRmQ1ER0pqvd3bfw==
+ dependencies:
+ tslib "^2.3.0"
+
+"@xmldom/xmldom@~0.7.0":
+ version "0.7.5"
+ resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.5.tgz#09fa51e356d07d0be200642b0e4f91d8e6dd408d"
+ integrity sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==
+
+"@zondax/filecoin-signing-tools@github:Digital-MOB-Filecoin/filecoin-signing-tools-js":
+ version "0.2.0"
+ resolved "https://codeload.github.com/Digital-MOB-Filecoin/filecoin-signing-tools-js/tar.gz/8f8e92157cac2556d35cab866779e9a8ea8a4e25"
+ dependencies:
+ axios "^0.20.0"
+ base32-decode "^1.0.0"
+ base32-encode "^1.1.1"
+ bip32 "^2.0.5"
+ bip39 "^3.0.2"
+ blakejs "^1.1.0"
+ bn.js "^5.1.2"
+ ipld-dag-cbor "^0.17.0"
+ leb128 "0.0.5"
+ secp256k1 "^4.0.1"
+
+"@zxing/text-encoding@0.9.0":
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz#fb50ffabc6c7c66a0c96b4c03e3d9be74864b70b"
+ integrity sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==
+
+abab@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e"
+ integrity sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=
+
+abbrev@1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+ integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+
+abi-to-sol@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/abi-to-sol/-/abi-to-sol-0.5.1.tgz#2d1d2b54212302a893152c500c4eee3c0ed81d27"
+ integrity sha512-enN9SED82+Sz/ddJp81hyinRlbehA4FajHCZaG0QQqJsfLzjVfSsB1cEbJE3ZB9xcNbcagwJ2AlPuWt2rXtkcQ==
+ dependencies:
+ "@truffle/abi-utils" "^0.2.2"
+ "@truffle/codec" "^0.7.1"
+ "@truffle/contract-schema" "^3.3.1"
+ ajv "^6.12.5"
+ better-ajv-errors "^0.6.7"
+ neodoc "^2.0.2"
+ semver "^7.3.5"
+ source-map-support "^0.5.19"
+ optionalDependencies:
+ prettier "^2.1.2"
+ prettier-plugin-solidity "1.0.0-alpha.59"
+
+abort-controller@3.0.0, abort-controller@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
+ integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
+ dependencies:
+ event-target-shim "^5.0.0"
+
+absolute-path@^0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/absolute-path/-/absolute-path-0.0.0.tgz#a78762fbdadfb5297be99b15d35a785b2f095bf7"
+ integrity sha1-p4di+9rftSl76ZsV01p4Wy8JW/c=
+
+abstract-leveldown@^6.2.1:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz#d25221d1e6612f820c35963ba4bd739928f6026a"
+ integrity sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==
+ dependencies:
+ buffer "^5.5.0"
+ immediate "^3.2.3"
+ level-concat-iterator "~2.0.0"
+ level-supports "~1.0.0"
+ xtend "~4.0.0"
+
+abstract-leveldown@~2.7.1:
+ version "2.7.2"
+ resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz#87a44d7ebebc341d59665204834c8b7e0932cc93"
+ integrity sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w==
+ dependencies:
+ xtend "~4.0.0"
+
+abstract-leveldown@~6.0.0, abstract-leveldown@~6.0.1:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.0.3.tgz#b4b6159343c74b0c5197b2817854782d8f748c4a"
+ integrity sha512-jzewKKpZbaYUa6HTThnrl+GrJhzjEAeuc7hTVpZdzg7kupXZFoqQDFwyOwLNbmJKJlmzw8yiipMPkDiuKkT06Q==
+ dependencies:
+ level-concat-iterator "~2.0.0"
+ xtend "~4.0.0"
+
+abstract-leveldown@~6.2.1:
+ version "6.2.3"
+ resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz#036543d87e3710f2528e47040bc3261b77a9a8eb"
+ integrity sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==
+ dependencies:
+ buffer "^5.5.0"
+ immediate "^3.2.3"
+ level-concat-iterator "~2.0.0"
+ level-supports "~1.0.0"
+ xtend "~4.0.0"
+
+accepts@^1.3.5, accepts@^1.3.7, accepts@~1.3.5, accepts@~1.3.7:
+ version "1.3.7"
+ resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
+ integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
+ dependencies:
+ mime-types "~2.1.24"
+ negotiator "0.6.2"
+
+acorn-dynamic-import@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4"
+ integrity sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=
+ dependencies:
+ acorn "^4.0.3"
+
+acorn-globals@^1.0.4:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-1.0.9.tgz#55bb5e98691507b74579d0513413217c380c54cf"
+ integrity sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=
+ dependencies:
+ acorn "^2.1.0"
+
+acorn@4.X, acorn@^4.0.3:
+ version "4.0.13"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
+ integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=
+
+acorn@^2.1.0, acorn@^2.4.0:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.7.0.tgz#ab6e7d9d886aaca8b085bc3312b79a198433f0e7"
+ integrity sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=
+
+acorn@^5.0.0:
+ version "5.7.4"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e"
+ integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==
+
+aes-js@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d"
+ integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=
+
+aes-js@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a"
+ integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==
+
+ajv-formats@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520"
+ integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==
+ dependencies:
+ ajv "^8.0.0"
+
+ajv-keywords@^3.1.0:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
+ integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
+
+ajv@^6.1.0, ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.5:
+ version "6.12.6"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+ 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"
+
+ajv@^8.0.0, ajv@^8.6.3:
+ version "8.8.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.2.tgz#01b4fef2007a28bf75f0b7fc009f62679de4abbb"
+ integrity sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ json-schema-traverse "^1.0.0"
+ require-from-string "^2.0.2"
+ uri-js "^4.2.2"
+
+align-text@^0.1.1, align-text@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
+ integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=
+ dependencies:
+ kind-of "^3.0.2"
+ longest "^1.0.1"
+ repeat-string "^1.5.2"
+
+anser@^1.4.9:
+ version "1.4.10"
+ resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.10.tgz#befa3eddf282684bd03b63dcda3927aef8c2e35b"
+ integrity sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==
+
+ansi-colors@3.2.3:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813"
+ integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==
+
+ansi-colors@4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
+ integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
+
+ansi-colors@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9"
+ integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==
+ dependencies:
+ ansi-wrap "^0.1.0"
+
+ansi-cyan@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873"
+ integrity sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-escapes@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
+ integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
+
+ansi-fragments@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-fragments/-/ansi-fragments-0.2.1.tgz#24409c56c4cc37817c3d7caa99d8969e2de5a05e"
+ integrity sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==
+ dependencies:
+ colorette "^1.0.7"
+ slice-ansi "^2.0.0"
+ strip-ansi "^5.0.0"
+
+ansi-gray@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251"
+ integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-mark@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/ansi-mark/-/ansi-mark-1.0.4.tgz#1cd4ba8d57f15f109d6aaf6ec9ca9786c8a4ee6c"
+ integrity sha1-HNS6jVfxXxCdaq9uycqXhsik7mw=
+ dependencies:
+ ansi-regex "^3.0.0"
+ array-uniq "^1.0.3"
+ chalk "^2.3.2"
+ strip-ansi "^4.0.0"
+ super-split "^1.1.0"
+
+ansi-red@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c"
+ integrity sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=
+ dependencies:
+ ansi-wrap "0.1.0"
+
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
+
+ansi-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+ integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
+
+ansi-regex@^4.0.0, ansi-regex@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
+ integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
+
+ansi-regex@^5.0.0, ansi-regex@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+ integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-styles@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+ integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
+
+ansi-styles@^3.2.0, ansi-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+ dependencies:
+ color-convert "^1.9.0"
+
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
+ansi-wrap@0.1.0, ansi-wrap@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
+ integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768=
+
+any-promise@^1.0.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
+ integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=
+
+any-signal@^2.0.0, any-signal@^2.1.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/any-signal/-/any-signal-2.1.2.tgz#8d48270de0605f8b218cf9abe8e9c6a0e7418102"
+ integrity sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==
+ dependencies:
+ abort-controller "^3.0.0"
+ native-abort-controller "^1.0.3"
+
+anymatch@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
+ integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
+ dependencies:
+ micromatch "^3.1.4"
+ normalize-path "^2.1.1"
+
+anymatch@^3.0.3, anymatch@~3.1.1, anymatch@~3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
+ integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
+apollo-cache-control@^0.14.0:
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.14.0.tgz#95f20c3e03e7994e0d1bd48c59aeaeb575ed0ce7"
+ integrity sha512-qN4BCq90egQrgNnTRMUHikLZZAprf3gbm8rC5Vwmc6ZdLolQ7bFsa769Hqi6Tq/lS31KLsXBLTOsRbfPHph12w==
+ dependencies:
+ apollo-server-env "^3.1.0"
+ apollo-server-plugin-base "^0.13.0"
+
+apollo-datasource@^0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.9.0.tgz#b0b2913257a6103a5f4c03cb56d78a30e9d850db"
+ integrity sha512-y8H99NExU1Sk4TvcaUxTdzfq2SZo6uSj5dyh75XSQvbpH6gdAXIW9MaBcvlNC7n0cVPsidHmOcHOWxJ/pTXGjA==
+ dependencies:
+ apollo-server-caching "^0.7.0"
+ apollo-server-env "^3.1.0"
+
+apollo-graphql@^0.9.0:
+ version "0.9.5"
+ resolved "https://registry.yarnpkg.com/apollo-graphql/-/apollo-graphql-0.9.5.tgz#9113483ca7f7fa49ee9e9a299c45d30b1cf3bf61"
+ integrity sha512-RGt5k2JeBqrmnwRM0VOgWFiGKlGJMfmiif/4JvdaEqhMJ+xqe/9cfDYzXfn33ke2eWixsAbjEbRfy8XbaN9nTw==
+ dependencies:
+ core-js-pure "^3.10.2"
+ lodash.sortby "^4.7.0"
+ sha.js "^2.4.11"
+
+apollo-link@1.2.14, apollo-link@^1.2.14:
+ version "1.2.14"
+ resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.14.tgz#3feda4b47f9ebba7f4160bef8b977ba725b684d9"
+ integrity sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==
+ dependencies:
+ apollo-utilities "^1.3.0"
+ ts-invariant "^0.4.0"
+ tslib "^1.9.3"
+ zen-observable-ts "^0.8.21"
+
+apollo-reporting-protobuf@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/apollo-reporting-protobuf/-/apollo-reporting-protobuf-0.8.0.tgz#ae9d967934d3d8ed816fc85a0d8068ef45c371b9"
+ integrity sha512-B3XmnkH6Y458iV6OsA7AhfwvTgeZnFq9nPVjbxmLKnvfkEl8hYADtz724uPa0WeBiD7DSFcnLtqg9yGmCkBohg==
+ dependencies:
+ "@apollo/protobufjs" "1.2.2"
+
+apollo-server-caching@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.7.0.tgz#e6d1e68e3bb571cba63a61f60b434fb771c6ff39"
+ integrity sha512-MsVCuf/2FxuTFVhGLK13B+TZH9tBd2qkyoXKKILIiGcZ5CDUEBO14vIV63aNkMkS1xxvK2U4wBcuuNj/VH2Mkw==
+ dependencies:
+ lru-cache "^6.0.0"
+
+apollo-server-core@^2.25.3:
+ version "2.25.3"
+ resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.25.3.tgz#1a649fd14b3928f5b6e65f0002b380fcfde56862"
+ integrity sha512-Midow3uZoJ9TjFNeCNSiWElTVZlvmB7G7tG6PPoxIR9Px90/v16Q6EzunDIO0rTJHRC3+yCwZkwtf8w2AcP0sA==
+ dependencies:
+ "@apollographql/apollo-tools" "^0.5.0"
+ "@apollographql/graphql-playground-html" "1.6.27"
+ "@apollographql/graphql-upload-8-fork" "^8.1.3"
+ "@josephg/resolvable" "^1.0.0"
+ "@types/ws" "^7.0.0"
+ apollo-cache-control "^0.14.0"
+ apollo-datasource "^0.9.0"
+ apollo-graphql "^0.9.0"
+ apollo-reporting-protobuf "^0.8.0"
+ apollo-server-caching "^0.7.0"
+ apollo-server-env "^3.1.0"
+ apollo-server-errors "^2.5.0"
+ apollo-server-plugin-base "^0.13.0"
+ apollo-server-types "^0.9.0"
+ apollo-tracing "^0.15.0"
+ async-retry "^1.2.1"
+ fast-json-stable-stringify "^2.0.0"
+ graphql-extensions "^0.15.0"
+ graphql-tag "^2.11.0"
+ graphql-tools "^4.0.8"
+ loglevel "^1.6.7"
+ lru-cache "^6.0.0"
+ sha.js "^2.4.11"
+ subscriptions-transport-ws "^0.9.19"
+ uuid "^8.0.0"
+
+apollo-server-env@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-3.1.0.tgz#0733c2ef50aea596cc90cf40a53f6ea2ad402cd0"
+ integrity sha512-iGdZgEOAuVop3vb0F2J3+kaBVi4caMoxefHosxmgzAbbSpvWehB8Y1QiSyyMeouYC38XNVk5wnZl+jdGSsWsIQ==
+ dependencies:
+ node-fetch "^2.6.1"
+ util.promisify "^1.0.0"
+
+apollo-server-errors@^2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.5.0.tgz#5d1024117c7496a2979e3e34908b5685fe112b68"
+ integrity sha512-lO5oTjgiC3vlVg2RKr3RiXIIQ5pGXBFxYGGUkKDhTud3jMIhs+gel8L8zsEjKaKxkjHhCQAA/bcEfYiKkGQIvA==
+
+apollo-server-express@^2.25.3:
+ version "2.25.3"
+ resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.25.3.tgz#33fe0dae27fa71c8710e714efd93451bf2eb105f"
+ integrity sha512-tTFYn0oKH2qqLwVj7Ez2+MiKleXACODiGh5IxsB7VuYCPMAi9Yl8iUSlwTjQUvgCWfReZjnf0vFL2k5YhDlrtQ==
+ dependencies:
+ "@apollographql/graphql-playground-html" "1.6.27"
+ "@types/accepts" "^1.3.5"
+ "@types/body-parser" "1.19.0"
+ "@types/cors" "2.8.10"
+ "@types/express" "^4.17.12"
+ "@types/express-serve-static-core" "^4.17.21"
+ accepts "^1.3.5"
+ apollo-server-core "^2.25.3"
+ apollo-server-types "^0.9.0"
+ body-parser "^1.18.3"
+ cors "^2.8.5"
+ express "^4.17.1"
+ graphql-subscriptions "^1.0.0"
+ graphql-tools "^4.0.8"
+ parseurl "^1.3.2"
+ subscriptions-transport-ws "^0.9.19"
+ type-is "^1.6.16"
+
+apollo-server-plugin-base@^0.13.0:
+ version "0.13.0"
+ resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.13.0.tgz#3f85751a420d3c4625355b6cb3fbdd2acbe71f13"
+ integrity sha512-L3TMmq2YE6BU6I4Tmgygmd0W55L+6XfD9137k+cWEBFu50vRY4Re+d+fL5WuPkk5xSPKd/PIaqzidu5V/zz8Kg==
+ dependencies:
+ apollo-server-types "^0.9.0"
+
+apollo-server-types@^0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-0.9.0.tgz#ccf550b33b07c48c72f104fbe2876232b404848b"
+ integrity sha512-qk9tg4Imwpk732JJHBkhW0jzfG0nFsLqK2DY6UhvJf7jLnRePYsPxWfPiNkxni27pLE2tiNlCwoDFSeWqpZyBg==
+ dependencies:
+ apollo-reporting-protobuf "^0.8.0"
+ apollo-server-caching "^0.7.0"
+ apollo-server-env "^3.1.0"
+
+apollo-server@^2.18.2:
+ version "2.25.3"
+ resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.25.3.tgz#2e5db9ce5217389625ac5014551dcbdeeedcd1d8"
+ integrity sha512-+eUY2//DLkU7RkJLn6CTl1P89/ZMHuUQnWqv8La2iJ2hLT7Me+nMx+hgHl3LqlT/qDstQ8qA45T85FuCayplmQ==
+ dependencies:
+ apollo-server-core "^2.25.3"
+ apollo-server-express "^2.25.3"
+ express "^4.0.0"
+ graphql-subscriptions "^1.0.0"
+ graphql-tools "^4.0.8"
+ stoppable "^1.1.0"
+
+apollo-tracing@^0.15.0:
+ version "0.15.0"
+ resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.15.0.tgz#237fbbbf669aee4370b7e9081b685eabaa8ce84a"
+ integrity sha512-UP0fztFvaZPHDhIB/J+qGuy6hWO4If069MGC98qVs0I8FICIGu4/8ykpX3X3K6RtaQ56EDAWKykCxFv4ScxMeA==
+ dependencies:
+ apollo-server-env "^3.1.0"
+ apollo-server-plugin-base "^0.13.0"
+
+apollo-upload-client@14.1.2:
+ version "14.1.2"
+ resolved "https://registry.yarnpkg.com/apollo-upload-client/-/apollo-upload-client-14.1.2.tgz#7a72b000f1cd67eaf8f12b4bda2796d0898c0dae"
+ integrity sha512-ozaW+4tnVz1rpfwiQwG3RCdCcZ93RV/37ZQbRnObcQ9mjb+zur58sGDPVg9Ef3fiujLmiE/Fe9kdgvIMA3VOjA==
+ dependencies:
+ "@apollo/client" "^3.1.5"
+ "@babel/runtime" "^7.11.2"
+ extract-files "^9.0.0"
+
+apollo-utilities@^1.0.1, apollo-utilities@^1.3.0:
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.4.tgz#6129e438e8be201b6c55b0f13ce49d2c7175c9cf"
+ integrity sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==
+ dependencies:
+ "@wry/equality" "^0.1.2"
+ fast-json-stable-stringify "^2.0.0"
+ ts-invariant "^0.4.0"
+ tslib "^1.10.0"
+
+app-module-path@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/app-module-path/-/app-module-path-2.2.0.tgz#641aa55dfb7d6a6f0a8141c4b9c0aa50b6c24dd5"
+ integrity sha1-ZBqlXft9am8KgUHEucCqULbCTdU=
+
+appdirsjs@^1.2.4:
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/appdirsjs/-/appdirsjs-1.2.6.tgz#fccf9ee543315492867cacfcfd4a2b32257d30ac"
+ integrity sha512-D8wJNkqMCeQs3kLasatELsddox/Xqkhp+J07iXGyL54fVN7oc+nmNfYzGuCs1IEP6uBw+TfpuO3JKwc+lECy4w==
+
+aproba@^1.0.3:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+ integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
+
+are-we-there-yet@~1.1.2:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146"
+ integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==
+ dependencies:
+ delegates "^1.0.0"
+ readable-stream "^2.0.6"
+
+arg@^4.1.0:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
+ integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
+
+argparse@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+ dependencies:
+ sprintf-js "~1.0.2"
+
+argsarray@0.0.1, argsarray@^0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/argsarray/-/argsarray-0.0.1.tgz#6e7207b4ecdb39b0af88303fa5ae22bda8df61cb"
+ integrity sha1-bnIHtOzbObCviDA/pa4ivajfYcs=
+
+arr-diff@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a"
+ integrity sha1-aHwydYFjWI/vfeezb6vklesaOZo=
+ dependencies:
+ arr-flatten "^1.0.1"
+ array-slice "^0.2.3"
+
+arr-diff@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
+ integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=
+ dependencies:
+ arr-flatten "^1.0.1"
+
+arr-diff@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
+ integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
+
+arr-flatten@^1.0.1, arr-flatten@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+ integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
+
+arr-union@^2.0.1:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-2.1.0.tgz#20f9eab5ec70f5c7d215b1077b1c39161d292c7d"
+ integrity sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=
+
+arr-union@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
+ integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
+
+array-filter@~0.0.0:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec"
+ integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw=
+
+array-find-index@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
+ integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
+
+array-flatten@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+ integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
+
+array-map@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662"
+ integrity sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=
+
+array-reduce@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b"
+ integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=
+
+array-slice@^0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
+ integrity sha1-3Tz7gO15c6dRF82sabC5nshhhvU=
+
+array-union@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
+ integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+
+array-uniq@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+ integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
+
+array-unique@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
+ integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=
+
+array-unique@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
+ integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
+
+array.prototype.map@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/array.prototype.map/-/array.prototype.map-1.0.4.tgz#0d97b640cfdd036c1b41cfe706a5e699aa0711f2"
+ integrity sha512-Qds9QnX7A0qISY7JT5WuJO0NJPE9CMlC6JzHQfhpqAAQQzufVRoeH7EzUY5GcPTx72voG8LV/5eo+b8Qi8hmhA==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.0"
+ es-array-method-boxes-properly "^1.0.0"
+ is-string "^1.0.7"
+
+asap@~2.0.3, asap@~2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
+ integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
+
+asn1.js@^5.0.1, asn1.js@^5.2.0:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
+ integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==
+ dependencies:
+ bn.js "^4.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+ safer-buffer "^2.1.0"
+
+asn1@~0.2.3:
+ version "0.2.6"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d"
+ integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==
+ dependencies:
+ safer-buffer "~2.1.0"
+
+assert-args@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/assert-args/-/assert-args-1.2.1.tgz#404103a1452a32fe77898811e54e590a8a9373bd"
+ integrity sha1-QEEDoUUqMv53iYgR5U5ZCoqTc70=
+ dependencies:
+ "101" "^1.2.0"
+ compound-subject "0.0.1"
+ debug "^2.2.0"
+ get-prototype-of "0.0.0"
+ is-capitalized "^1.0.0"
+ is-class "0.0.4"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+ integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
+
+assert@^1.1.1, assert@^1.4.1:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
+ integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==
+ dependencies:
+ object-assign "^4.1.1"
+ util "0.10.3"
+
+assertion-error@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
+ integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==
+
+assign-symbols@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
+ integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
+
+ast-types@0.14.2:
+ version "0.14.2"
+ resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.2.tgz#600b882df8583e3cd4f2df5fa20fa83759d4bdfd"
+ integrity sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==
+ dependencies:
+ tslib "^2.0.1"
+
+astral-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
+ integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
+
+async-each@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
+ integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
+
+async-limiter@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
+ integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
+
+async-retry@^1.2.1:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280"
+ integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==
+ dependencies:
+ retry "0.13.1"
+
+async@^2.1.2, async@^2.4.0:
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
+ integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
+ dependencies:
+ lodash "^4.17.14"
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
+
+at-least-node@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
+ integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
+
+atob@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
+ integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
+
+atomically@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/atomically/-/atomically-1.7.0.tgz#c07a0458432ea6dbc9a3506fffa424b48bccaafe"
+ integrity sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==
+
+available-typed-arrays@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
+ integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
+
+aws-sign2@~0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+ integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
+
+aws4@^1.8.0:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
+ integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
+
+axios@^0.20.0:
+ version "0.20.0"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.20.0.tgz#057ba30f04884694993a8cd07fa394cff11c50bd"
+ integrity sha512-ANA4rr2BDcmmAQLOKft2fufrtuvlqR+cXNNinUmvfeSNCOF98PZL+7M/v1zIdGo7OLjEA9J2gXJL+j4zGsl0bA==
+ dependencies:
+ follow-redirects "^1.10.0"
+
+babel-code-frame@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
+ integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
+ dependencies:
+ chalk "^1.1.3"
+ esutils "^2.0.2"
+ js-tokens "^3.0.2"
+
+babel-core@^7.0.0-bridge.0:
+ version "7.0.0-bridge.0"
+ resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
+ integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==
+
+babel-generator@6.26.1:
+ version "6.26.1"
+ resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
+ integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==
+ dependencies:
+ babel-messages "^6.23.0"
+ babel-runtime "^6.26.0"
+ babel-types "^6.26.0"
+ detect-indent "^4.0.0"
+ jsesc "^1.3.0"
+ lodash "^4.17.4"
+ source-map "^0.5.7"
+ trim-right "^1.0.1"
+
+babel-messages@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
+ integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-dynamic-import-node@^2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
+ integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
+ dependencies:
+ object.assign "^4.1.0"
+
+babel-plugin-module-resolver@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.1.0.tgz#22a4f32f7441727ec1fbf4967b863e1e3e9f33e2"
+ integrity sha512-MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA==
+ dependencies:
+ find-babel-config "^1.2.0"
+ glob "^7.1.6"
+ pkg-up "^3.1.0"
+ reselect "^4.0.0"
+ resolve "^1.13.1"
+
+babel-plugin-polyfill-corejs2@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd"
+ integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==
+ dependencies:
+ "@babel/compat-data" "^7.13.11"
+ "@babel/helper-define-polyfill-provider" "^0.3.0"
+ semver "^6.1.1"
+
+babel-plugin-polyfill-corejs3@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087"
+ integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.3.0"
+ core-js-compat "^3.18.0"
+
+babel-plugin-polyfill-regenerator@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be"
+ integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.3.0"
+
+babel-plugin-react-native-web@~0.17.1:
+ version "0.17.5"
+ resolved "https://registry.yarnpkg.com/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.17.5.tgz#4bce51a20d21839f20506ef184bd5743a2c6d067"
+ integrity sha512-UWl0E9FGYVr5Gj7lbVc4DFy8pTgc6wIXBa0rDvPGxx3OmcKwcdvCfDn9mLuh7JesYfh+wLjp01fwPplMus7IPw==
+
+babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0:
+ version "7.0.0-beta.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz#aa213c1435e2bffeb6fca842287ef534ad05d5cf"
+ integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==
+
+babel-preset-expo@~8.5.1:
+ version "8.5.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-8.5.1.tgz#aac627a6c85b3c0904a226596c6243fac9f19491"
+ integrity sha512-qQVG6Twn7tymODw8cH+85QtzFqcD0ckLWgVLC8pzRkwLKP5lIs5gtiYdoUsvhvyWWesSFR9VlhN0HE2Nu7WCWQ==
+ dependencies:
+ "@babel/plugin-proposal-decorators" "^7.12.9"
+ "@babel/plugin-transform-react-jsx" "^7.12.17"
+ "@babel/preset-env" "^7.12.9"
+ babel-plugin-module-resolver "^4.1.0"
+ babel-plugin-react-native-web "~0.17.1"
+ metro-react-native-babel-preset "~0.64.0"
+
+babel-preset-fbjs@^3.2.0, babel-preset-fbjs@^3.3.0, babel-preset-fbjs@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz#38a14e5a7a3b285a3f3a86552d650dca5cf6111c"
+ integrity sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==
+ dependencies:
+ "@babel/plugin-proposal-class-properties" "^7.0.0"
+ "@babel/plugin-proposal-object-rest-spread" "^7.0.0"
+ "@babel/plugin-syntax-class-properties" "^7.0.0"
+ "@babel/plugin-syntax-flow" "^7.0.0"
+ "@babel/plugin-syntax-jsx" "^7.0.0"
+ "@babel/plugin-syntax-object-rest-spread" "^7.0.0"
+ "@babel/plugin-transform-arrow-functions" "^7.0.0"
+ "@babel/plugin-transform-block-scoped-functions" "^7.0.0"
+ "@babel/plugin-transform-block-scoping" "^7.0.0"
+ "@babel/plugin-transform-classes" "^7.0.0"
+ "@babel/plugin-transform-computed-properties" "^7.0.0"
+ "@babel/plugin-transform-destructuring" "^7.0.0"
+ "@babel/plugin-transform-flow-strip-types" "^7.0.0"
+ "@babel/plugin-transform-for-of" "^7.0.0"
+ "@babel/plugin-transform-function-name" "^7.0.0"
+ "@babel/plugin-transform-literals" "^7.0.0"
+ "@babel/plugin-transform-member-expression-literals" "^7.0.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.0.0"
+ "@babel/plugin-transform-object-super" "^7.0.0"
+ "@babel/plugin-transform-parameters" "^7.0.0"
+ "@babel/plugin-transform-property-literals" "^7.0.0"
+ "@babel/plugin-transform-react-display-name" "^7.0.0"
+ "@babel/plugin-transform-react-jsx" "^7.0.0"
+ "@babel/plugin-transform-shorthand-properties" "^7.0.0"
+ "@babel/plugin-transform-spread" "^7.0.0"
+ "@babel/plugin-transform-template-literals" "^7.0.0"
+ babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0"
+
+babel-runtime@^6.22.0, babel-runtime@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+ integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
+ dependencies:
+ core-js "^2.4.0"
+ regenerator-runtime "^0.11.0"
+
+babel-traverse@6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
+ integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=
+ dependencies:
+ babel-code-frame "^6.26.0"
+ babel-messages "^6.23.0"
+ babel-runtime "^6.26.0"
+ babel-types "^6.26.0"
+ babylon "^6.18.0"
+ debug "^2.6.8"
+ globals "^9.18.0"
+ invariant "^2.2.2"
+ lodash "^4.17.4"
+
+babel-types@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
+ integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
+ dependencies:
+ babel-runtime "^6.26.0"
+ esutils "^2.0.2"
+ lodash "^4.17.4"
+ to-fast-properties "^1.0.3"
+
+babylon@6.18.0, babylon@^6.18.0:
+ version "6.18.0"
+ resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
+ integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
+
+backo2@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
+ integrity sha1-MasayLEpNjRj41s+u2n038+6eUc=
+
+balanced-match@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+base-64@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/base-64/-/base-64-0.1.0.tgz#780a99c84e7d600260361511c4877613bf24f6bb"
+ integrity sha1-eAqZyE59YAJgNhURxId2E78k9rs=
+
+base-x@^3.0.2, base-x@^3.0.8:
+ version "3.0.9"
+ resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320"
+ integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==
+ dependencies:
+ safe-buffer "^5.0.1"
+
+base32-decode@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/base32-decode/-/base32-decode-1.0.0.tgz#2a821d6a664890c872f20aa9aca95a4b4b80e2a7"
+ integrity sha512-KNWUX/R7wKenwE/G/qFMzGScOgVntOmbE27vvc6GrniDGYb6a5+qWcuoXl8WIOQL7q0TpK7nZDm1Y04Yi3Yn5g==
+
+base32-encode@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/base32-encode/-/base32-encode-1.2.0.tgz#e150573a5e431af0a998e32bdfde7045725ca453"
+ integrity sha512-cHFU8XeRyx0GgmoWi5qHMCVRiqU6J3MHWxVgun7jggCBUpVzm1Ir7M9dYr2whjSNc3tFeXfQ/oZjQu/4u55h9A==
+ dependencies:
+ to-data-view "^1.1.0"
+
+base64-js@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978"
+ integrity sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=
+
+base64-js@^1.0.2, base64-js@^1.1.2, base64-js@^1.2.3, base64-js@^1.3.1, base64-js@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+ integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
+base@^0.11.1:
+ version "0.11.2"
+ resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
+ integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
+ dependencies:
+ cache-base "^1.0.1"
+ class-utils "^0.3.5"
+ component-emitter "^1.2.1"
+ define-property "^1.0.0"
+ isobject "^3.0.1"
+ mixin-deep "^1.2.0"
+ pascalcase "^0.1.1"
+
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
+ integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
+ dependencies:
+ tweetnacl "^0.14.3"
+
+bech32@1.1.4, bech32@^1.1.3:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9"
+ integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==
+
+bech32@=1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.3.tgz#bd47a8986bbb3eec34a56a097a84b8d3e9a2dfcd"
+ integrity sha512-yuVFUvrNcoJi0sv5phmqc6P+Fl1HjRDRNOOkHY2X/3LBy2bIGNSFx4fZ95HMaXHupuS7cZR15AsvtmCIF4UEyg==
+
+better-ajv-errors@^0.6.7:
+ version "0.6.7"
+ resolved "https://registry.yarnpkg.com/better-ajv-errors/-/better-ajv-errors-0.6.7.tgz#b5344af1ce10f434fe02fc4390a5a9c811e470d1"
+ integrity sha512-PYgt/sCzR4aGpyNy5+ViSQ77ognMnWq7745zM+/flYO4/Yisdtp9wDQW2IKCyVYPUxQt3E/b5GBSwfhd1LPdlg==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/runtime" "^7.0.0"
+ chalk "^2.4.1"
+ core-js "^3.2.1"
+ json-to-ast "^2.0.3"
+ jsonpointer "^4.0.1"
+ leven "^3.1.0"
+
+big-integer@1.6.36:
+ version "1.6.36"
+ resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.36.tgz#78631076265d4ae3555c04f85e7d9d2f3a071a36"
+ integrity sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg==
+
+big-integer@1.6.x, big-integer@^1.6.44:
+ version "1.6.51"
+ resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686"
+ integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==
+
+big.js@^5.2.2:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
+ integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
+
+bigi@^1.1.0:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/bigi/-/bigi-1.4.2.tgz#9c665a95f88b8b08fc05cfd731f561859d725825"
+ integrity sha1-nGZalfiLiwj8Bc/XMfVhhZ1yWCU=
+
+bignumber.js@^7.2.1:
+ version "7.2.1"
+ resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-7.2.1.tgz#80c048759d826800807c4bfd521e50edbba57a5f"
+ integrity sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==
+
+bignumber.js@^9.0.0, bignumber.js@^9.0.1:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.1.tgz#8d7ba124c882bfd8e43260c67475518d0689e4e5"
+ integrity sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==
+
+binary-extensions@^1.0.0:
+ version "1.13.1"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
+ integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
+
+binary-extensions@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
+ integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+
+bindings@^1.3.0, bindings@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
+ integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
+ dependencies:
+ file-uri-to-path "1.0.0"
+
+bip32@2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.5.tgz#e3808a9e97a880dbafd0f5f09ca4a1e14ee275d2"
+ integrity sha512-zVY4VvJV+b2fS0/dcap/5XLlpqtgwyN8oRkuGgAS1uLOeEp0Yo6Tw2yUTozTtlrMJO3G8n4g/KX/XGFHW6Pq3g==
+ dependencies:
+ "@types/node" "10.12.18"
+ bs58check "^2.1.1"
+ create-hash "^1.2.0"
+ create-hmac "^1.1.7"
+ tiny-secp256k1 "^1.1.3"
+ typeforce "^1.11.5"
+ wif "^2.0.6"
+
+bip32@^2.0.5:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.6.tgz#6a81d9f98c4cd57d05150c60d8f9e75121635134"
+ integrity sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA==
+ dependencies:
+ "@types/node" "10.12.18"
+ bs58check "^2.1.1"
+ create-hash "^1.2.0"
+ create-hmac "^1.1.7"
+ tiny-secp256k1 "^1.1.3"
+ typeforce "^1.11.5"
+ wif "^2.0.6"
+
+bip39@^3.0.2:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.4.tgz#5b11fed966840b5e1b8539f0f54ab6392969b2a0"
+ integrity sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw==
+ dependencies:
+ "@types/node" "11.11.6"
+ create-hash "^1.1.0"
+ pbkdf2 "^3.0.9"
+ randombytes "^2.0.1"
+
+"bip39@https://github.com/bitcoinjs/bip39#d8ea080a18b40f301d4e2219a2991cd2417e83c2":
+ version "3.0.3"
+ resolved "https://github.com/bitcoinjs/bip39#d8ea080a18b40f301d4e2219a2991cd2417e83c2"
+ dependencies:
+ "@types/node" "11.11.6"
+ create-hash "^1.1.0"
+ pbkdf2 "^3.0.9"
+ randombytes "^2.0.1"
+
+bitcore-lib@^8.22.2, bitcore-lib@^8.25.10:
+ version "8.25.10"
+ resolved "https://registry.yarnpkg.com/bitcore-lib/-/bitcore-lib-8.25.10.tgz#4bbb30932dec65cb76e4d1d793f55d7e4a75f071"
+ integrity sha512-MyHpSg7aFRHe359RA/gdkaQAal3NswYZTLEuu0tGX1RGWXAYN9i/24fsjPqVKj+z0ua+gzAT7aQs0KiKXWCgKA==
+ dependencies:
+ bech32 "=1.1.3"
+ bn.js "=4.11.8"
+ bs58 "^4.0.1"
+ buffer-compare "=1.1.1"
+ elliptic "^6.5.3"
+ inherits "=2.0.1"
+ lodash "^4.17.20"
+
+bitcore-mnemonic@^8.22.2:
+ version "8.25.10"
+ resolved "https://registry.yarnpkg.com/bitcore-mnemonic/-/bitcore-mnemonic-8.25.10.tgz#43d7b73d9705a11fceef62e37089ad487e917c26"
+ integrity sha512-FeXxO37BLV5JRvxPmVFB91zRHalavV8H4TdQGt1/hz0AkoPymIV68OkuB+TptpjeYgatcgKPoPvPhglJkTzFQQ==
+ dependencies:
+ bitcore-lib "^8.25.10"
+ unorm "^1.4.1"
+
+bl@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
+ integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
+ dependencies:
+ buffer "^5.5.0"
+ inherits "^2.0.4"
+ readable-stream "^3.4.0"
+
+blakejs@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.1.tgz#bf313053978b2cd4c444a48795710be05c785702"
+ integrity sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg==
+
+blob-to-it@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/blob-to-it/-/blob-to-it-1.0.4.tgz#f6caf7a4e90b7bb9215fa6a318ed6bd8ad9898cb"
+ integrity sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==
+ dependencies:
+ browser-readablestream-to-it "^1.0.3"
+
+"bls12377js@https://github.com/celo-org/bls12377js#cb38a4cfb643c778619d79b20ca3e5283a2122a6":
+ version "0.1.0"
+ resolved "https://github.com/celo-org/bls12377js#cb38a4cfb643c778619d79b20ca3e5283a2122a6"
+ dependencies:
+ "@stablelib/blake2xs" "0.10.4"
+ "@types/node" "^12.11.7"
+ big-integer "^1.6.44"
+ chai "^4.2.0"
+ mocha "^6.2.2"
+ ts-node "^8.4.1"
+ typescript "^3.6.4"
+
+bluebird@^3.5.0, bluebird@^3.5.2:
+ version "3.7.2"
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
+ integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
+
+blueimp-md5@^2.10.0:
+ version "2.19.0"
+ resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.19.0.tgz#b53feea5498dcb53dc6ec4b823adb84b729c4af0"
+ integrity sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==
+
+bn.js@4.11.6:
+ version "4.11.6"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215"
+ integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU=
+
+bn.js@4.11.8, bn.js@=4.11.8:
+ version "4.11.8"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
+ integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
+
+bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.0, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9:
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
+ integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
+
+bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002"
+ integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==
+
+body-parser@1.19.0, body-parser@^1.16.0, body-parser@^1.18.3:
+ version "1.19.0"
+ resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
+ integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
+ dependencies:
+ bytes "3.1.0"
+ content-type "~1.0.4"
+ debug "2.6.9"
+ depd "~1.1.2"
+ http-errors "1.7.2"
+ iconv-lite "0.4.24"
+ on-finished "~2.3.0"
+ qs "6.7.0"
+ raw-body "2.4.0"
+ type-is "~1.6.17"
+
+boolbase@^1.0.0, boolbase@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+ integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
+
+borc@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/borc/-/borc-2.1.2.tgz#6ce75e7da5ce711b963755117dd1b187f6f8cf19"
+ integrity sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==
+ dependencies:
+ bignumber.js "^9.0.0"
+ buffer "^5.5.0"
+ commander "^2.15.0"
+ ieee754 "^1.1.13"
+ iso-url "~0.4.7"
+ json-text-sequence "~0.1.0"
+ readable-stream "^3.6.0"
+
+bplist-creator@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e"
+ integrity sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==
+ dependencies:
+ stream-buffers "2.2.x"
+
+bplist-parser@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.3.0.tgz#ba50666370f61bbf94881636cd9f7d23c5286090"
+ integrity sha512-zgmaRvT6AN1JpPPV+S0a1/FAtoxSreYDccZGIqEMSvZl9DMe70mJ7MFzpxa1X+gHVdkToE2haRUHHMiW1OdejA==
+ dependencies:
+ big-integer "1.6.x"
+
+brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+braces@^1.8.2:
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
+ integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=
+ dependencies:
+ expand-range "^1.8.1"
+ preserve "^0.2.0"
+ repeat-element "^1.1.2"
+
+braces@^2.3.1, braces@^2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
+ integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
+ dependencies:
+ arr-flatten "^1.1.0"
+ array-unique "^0.3.2"
+ extend-shallow "^2.0.1"
+ fill-range "^4.0.0"
+ isobject "^3.0.1"
+ repeat-element "^1.1.2"
+ snapdragon "^0.8.1"
+ snapdragon-node "^2.0.1"
+ split-string "^3.0.2"
+ to-regex "^3.0.1"
+
+braces@^3.0.1, braces@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ dependencies:
+ fill-range "^7.0.1"
+
+brorand@^1.0.1, brorand@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
+ integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
+
+browser-headers@^0.4.0, browser-headers@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/browser-headers/-/browser-headers-0.4.1.tgz#4308a7ad3b240f4203dbb45acedb38dc2d65dd02"
+ integrity sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg==
+
+browser-readablestream-to-it@^1.0.1, browser-readablestream-to-it@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz#ac3e406c7ee6cdf0a502dd55db33bab97f7fba76"
+ integrity sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==
+
+browser-stdout@1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
+ integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==
+
+browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
+ integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
+ dependencies:
+ buffer-xor "^1.0.3"
+ cipher-base "^1.0.0"
+ create-hash "^1.1.0"
+ evp_bytestokey "^1.0.3"
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+browserify-cipher@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
+ integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
+ dependencies:
+ browserify-aes "^1.0.4"
+ browserify-des "^1.0.0"
+ evp_bytestokey "^1.0.0"
+
+browserify-des@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
+ integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
+ dependencies:
+ cipher-base "^1.0.1"
+ des.js "^1.0.0"
+ inherits "^2.0.1"
+ safe-buffer "^5.1.2"
+
+browserify-rsa@^4.0.0, browserify-rsa@^4.0.1:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d"
+ integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==
+ dependencies:
+ bn.js "^5.0.0"
+ randombytes "^2.0.1"
+
+browserify-sign@^4.0.0, browserify-sign@^4.0.4:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3"
+ integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==
+ dependencies:
+ bn.js "^5.1.1"
+ browserify-rsa "^4.0.1"
+ create-hash "^1.2.0"
+ create-hmac "^1.1.7"
+ elliptic "^6.5.3"
+ inherits "^2.0.4"
+ parse-asn1 "^5.1.5"
+ readable-stream "^3.6.0"
+ safe-buffer "^5.2.0"
+
+browserify-zlib@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
+ integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
+ dependencies:
+ pako "~1.0.5"
+
+browserslist@^4.17.5, browserslist@^4.17.6:
+ version "4.18.1"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f"
+ integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==
+ dependencies:
+ caniuse-lite "^1.0.30001280"
+ electron-to-chromium "^1.3.896"
+ escalade "^3.1.1"
+ node-releases "^2.0.1"
+ picocolors "^1.0.0"
+
+bs58@^4.0.0, bs58@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a"
+ integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo=
+ dependencies:
+ base-x "^3.0.2"
+
+bs58check@<3.0.0, bs58check@^2.1.1, bs58check@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc"
+ integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==
+ dependencies:
+ bs58 "^4.0.0"
+ create-hash "^1.1.0"
+ safe-buffer "^5.1.2"
+
+bser@2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
+ integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==
+ dependencies:
+ node-int64 "^0.4.0"
+
+btoa-lite@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337"
+ integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc=
+
+buffer-alloc-unsafe@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
+ integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
+
+buffer-alloc@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
+ integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
+ dependencies:
+ buffer-alloc-unsafe "^1.1.0"
+ buffer-fill "^1.0.0"
+
+buffer-compare@=1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/buffer-compare/-/buffer-compare-1.1.1.tgz#5be7be853af89198d1f4ddc090d1d66a48aef596"
+ integrity sha1-W+e+hTr4kZjR9N3AkNHWakiu9ZY=
+
+buffer-crc32@^0.2.13:
+ version "0.2.13"
+ resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
+ integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
+
+buffer-fill@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
+ integrity sha1-+PeLdniYiO858gXNY39o5wISKyw=
+
+buffer-from@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04"
+ integrity sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==
+
+buffer-from@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
+ integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
+
+buffer-from@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+ integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+
+buffer-pipe@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/buffer-pipe/-/buffer-pipe-0.0.3.tgz#242197681d4591e7feda213336af6c07a5ce2409"
+ integrity sha512-GlxfuD/NrKvCNs0Ut+7b1IHjylfdegMBxQIlZHj7bObKVQBxB5S84gtm2yu1mQ8/sSggceWBDPY0cPXgvX2MuA==
+ dependencies:
+ safe-buffer "^5.1.2"
+
+buffer-reverse@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/buffer-reverse/-/buffer-reverse-1.0.1.tgz#49283c8efa6f901bc01fa3304d06027971ae2f60"
+ integrity sha1-SSg8jvpvkBvAH6MwTQYCeXGuL2A=
+
+buffer-to-arraybuffer@^0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a"
+ integrity sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=
+
+buffer-xor@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+ integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
+
+buffer@6.0.3, buffer@^6.0.1, buffer@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
+ integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.2.1"
+
+buffer@^4.3.0, buffer@^4.9.1:
+ version "4.9.2"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8"
+ integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==
+ dependencies:
+ base64-js "^1.0.2"
+ ieee754 "^1.1.4"
+ isarray "^1.0.0"
+
+buffer@^5.0.0, buffer@^5.0.5, buffer@^5.2.1, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0, buffer@^5.7.0:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
+ integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.1.13"
+
+bufferutil@^4.0.1:
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.5.tgz#da9ea8166911cc276bf677b8aed2d02d31f59028"
+ integrity sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==
+ dependencies:
+ node-gyp-build "^4.3.0"
+
+builtin-status-codes@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
+ integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
+
+busboy@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.3.1.tgz#170899274c5bf38aae27d5c62b71268cd585fd1b"
+ integrity sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==
+ dependencies:
+ dicer "0.3.0"
+
+bytes@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
+ integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
+
+bytes@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
+ integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
+
+cache-base@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
+ integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
+ dependencies:
+ collection-visit "^1.0.0"
+ component-emitter "^1.2.1"
+ get-value "^2.0.6"
+ has-value "^1.0.0"
+ isobject "^3.0.1"
+ set-value "^2.0.0"
+ to-object-path "^0.3.0"
+ union-value "^1.0.0"
+ unset-value "^1.0.0"
+
+cacheable-request@^6.0.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912"
+ integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==
+ dependencies:
+ clone-response "^1.0.2"
+ get-stream "^5.1.0"
+ http-cache-semantics "^4.0.0"
+ keyv "^3.0.0"
+ lowercase-keys "^2.0.0"
+ normalize-url "^4.1.0"
+ responselike "^1.0.2"
+
+call-bind@^1.0.0, call-bind@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
+ integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
+ dependencies:
+ function-bind "^1.1.1"
+ get-intrinsic "^1.0.2"
+
+caller-callsite@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
+ integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=
+ dependencies:
+ callsites "^2.0.0"
+
+caller-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
+ integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=
+ dependencies:
+ caller-callsite "^2.0.0"
+
+callsites@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
+ integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
+
+callsites@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+camel-case@4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547"
+ integrity sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q==
+ dependencies:
+ pascal-case "^3.1.1"
+ tslib "^1.10.0"
+
+camel-case@4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a"
+ integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==
+ dependencies:
+ pascal-case "^3.1.2"
+ tslib "^2.0.3"
+
+camel-case@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
+ integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=
+ dependencies:
+ no-case "^2.2.0"
+ upper-case "^1.1.1"
+
+camelcase@^1.0.2:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
+ integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=
+
+camelcase@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
+ integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
+
+camelcase@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
+ integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo=
+
+camelcase@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
+ integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
+
+camelcase@^5.0.0, camelcase@^5.3.1:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
+ integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+
+camelcase@^6.0.0:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e"
+ integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==
+
+caniuse-lite@^1.0.30001280:
+ version "1.0.30001282"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz#38c781ee0a90ccfe1fe7fefd00e43f5ffdcb96fd"
+ integrity sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg==
+
+capture-exit@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4"
+ integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==
+ dependencies:
+ rsvp "^4.8.4"
+
+caseless@~0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+ integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
+
+cbor@^5.1.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/cbor/-/cbor-5.2.0.tgz#4cca67783ccd6de7b50ab4ed62636712f287a67c"
+ integrity sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==
+ dependencies:
+ bignumber.js "^9.0.1"
+ nofilter "^1.0.4"
+
+center-align@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
+ integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60=
+ dependencies:
+ align-text "^0.1.3"
+ lazy-cache "^1.0.3"
+
+chai@^4.2.0:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz#b55e655b31e1eac7099be4c08c21964fce2e6c49"
+ integrity sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==
+ dependencies:
+ assertion-error "^1.1.0"
+ check-error "^1.0.2"
+ deep-eql "^3.0.1"
+ get-func-name "^2.0.0"
+ pathval "^1.1.1"
+ type-detect "^4.0.5"
+
+chalk@1.1.3, chalk@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
+ dependencies:
+ ansi-styles "^2.2.1"
+ escape-string-regexp "^1.0.2"
+ has-ansi "^2.0.0"
+ strip-ansi "^3.0.0"
+ supports-color "^2.0.0"
+
+chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
+
+chalk@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
+ integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+change-case@3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.0.2.tgz#fd48746cce02f03f0a672577d1d3a8dc2eceb037"
+ integrity sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA==
+ dependencies:
+ camel-case "^3.0.0"
+ constant-case "^2.0.0"
+ dot-case "^2.1.0"
+ header-case "^1.0.0"
+ is-lower-case "^1.1.0"
+ is-upper-case "^1.1.0"
+ lower-case "^1.1.1"
+ lower-case-first "^1.0.0"
+ no-case "^2.3.2"
+ param-case "^2.1.0"
+ pascal-case "^2.0.0"
+ path-case "^2.1.0"
+ sentence-case "^2.1.0"
+ snake-case "^2.1.0"
+ swap-case "^1.1.0"
+ title-case "^2.1.0"
+ upper-case "^1.1.1"
+ upper-case-first "^1.1.0"
+
+chardet@^0.4.0:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
+ integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=
+
+check-error@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
+ integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=
+
+cheerio-select@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.5.0.tgz#faf3daeb31b17c5e1a9dabcee288aaf8aafa5823"
+ integrity sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==
+ dependencies:
+ css-select "^4.1.3"
+ css-what "^5.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
+ domutils "^2.7.0"
+
+cheerio@0.20.0:
+ version "0.20.0"
+ resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.20.0.tgz#5c710f2bab95653272842ba01c6ea61b3545ec35"
+ integrity sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU=
+ dependencies:
+ css-select "~1.2.0"
+ dom-serializer "~0.1.0"
+ entities "~1.1.1"
+ htmlparser2 "~3.8.1"
+ lodash "^4.1.0"
+ optionalDependencies:
+ jsdom "^7.0.2"
+
+cheerio@1.0.0-rc.2:
+ version "1.0.0-rc.2"
+ resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.2.tgz#4b9f53a81b27e4d5dac31c0ffd0cfa03cc6830db"
+ integrity sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=
+ dependencies:
+ css-select "~1.2.0"
+ dom-serializer "~0.1.0"
+ entities "~1.1.1"
+ htmlparser2 "^3.9.1"
+ lodash "^4.15.0"
+ parse5 "^3.0.1"
+
+cheerio@^1.0.0-rc.2:
+ version "1.0.0-rc.10"
+ resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.10.tgz#2ba3dcdfcc26e7956fc1f440e61d51c643379f3e"
+ integrity sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==
+ dependencies:
+ cheerio-select "^1.5.0"
+ dom-serializer "^1.3.2"
+ domhandler "^4.2.0"
+ htmlparser2 "^6.1.0"
+ parse5 "^6.0.1"
+ parse5-htmlparser2-tree-adapter "^6.0.1"
+ tslib "^2.2.0"
+
+chokidar@3.4.2:
+ version "3.4.2"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d"
+ integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==
+ dependencies:
+ anymatch "~3.1.1"
+ braces "~3.0.2"
+ glob-parent "~5.1.0"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.4.0"
+ optionalDependencies:
+ fsevents "~2.1.2"
+
+chokidar@^2.1.8:
+ version "2.1.8"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
+ integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
+ dependencies:
+ anymatch "^2.0.0"
+ async-each "^1.0.1"
+ braces "^2.3.2"
+ glob-parent "^3.1.0"
+ inherits "^2.0.3"
+ is-binary-path "^1.0.0"
+ is-glob "^4.0.0"
+ normalize-path "^3.0.0"
+ path-is-absolute "^1.0.0"
+ readdirp "^2.2.1"
+ upath "^1.1.1"
+ optionalDependencies:
+ fsevents "^1.2.7"
+
+chokidar@^3.4.1:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"
+ integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
+ dependencies:
+ anymatch "~3.1.2"
+ braces "~3.0.2"
+ glob-parent "~5.1.2"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.6.0"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+chownr@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
+ integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
+
+ci-info@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
+ integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
+
+cids@^0.7.1:
+ version "0.7.5"
+ resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2"
+ integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==
+ dependencies:
+ buffer "^5.5.0"
+ class-is "^1.1.0"
+ multibase "~0.6.0"
+ multicodec "^1.0.0"
+ multihashes "~0.4.15"
+
+cids@^1.0.0, cids@^1.1.4, cids@^1.1.5:
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/cids/-/cids-1.1.9.tgz#402c26db5c07059377bcd6fb82f2a24e7f2f4a4f"
+ integrity sha512-l11hWRfugIcbGuTZwAM5PwpjPPjyb6UZOGwlHSnOBV5o07XhQ4gNpBN67FbODvpjyHtd+0Xs6KNvUcGBiDRsdg==
+ dependencies:
+ multibase "^4.0.1"
+ multicodec "^3.0.1"
+ multihashes "^4.0.1"
+ uint8arrays "^3.0.0"
+
+cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
+ integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+circular-json@^0.5.9:
+ version "0.5.9"
+ resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.5.9.tgz#932763ae88f4f7dead7a0d09c8a51a4743a53b1d"
+ integrity sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==
+
+class-is@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825"
+ integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==
+
+class-utils@^0.3.5:
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
+ integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
+ dependencies:
+ arr-union "^3.1.0"
+ define-property "^0.2.5"
+ isobject "^3.0.0"
+ static-extend "^0.1.1"
+
+cli-cursor@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
+ integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
+ dependencies:
+ restore-cursor "^2.0.0"
+
+cli-cursor@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
+ integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
+ dependencies:
+ restore-cursor "^3.1.0"
+
+cli-spinners@^2.0.0:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d"
+ integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==
+
+cli-width@^2.0.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48"
+ integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==
+
+cliui@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
+ integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=
+ dependencies:
+ center-align "^0.1.1"
+ right-align "^0.1.1"
+ wordwrap "0.0.2"
+
+cliui@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
+ integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ wrap-ansi "^2.0.0"
+
+cliui@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
+ integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
+ dependencies:
+ string-width "^3.1.0"
+ strip-ansi "^5.2.0"
+ wrap-ansi "^5.1.0"
+
+cliui@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
+ integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^6.2.0"
+
+clone-buffer@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
+ integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg=
+
+clone-deep@^0.2.4:
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6"
+ integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=
+ dependencies:
+ for-own "^0.1.3"
+ is-plain-object "^2.0.1"
+ kind-of "^3.0.2"
+ lazy-cache "^1.0.3"
+ shallow-clone "^0.1.2"
+
+clone-deep@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
+ integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
+ dependencies:
+ is-plain-object "^2.0.4"
+ kind-of "^6.0.2"
+ shallow-clone "^3.0.0"
+
+clone-response@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
+ integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
+ dependencies:
+ mimic-response "^1.0.0"
+
+clone-stats@^0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
+ integrity sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=
+
+clone@2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb"
+ integrity sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=
+
+clone@^1.0.0, clone@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
+ integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
+
+coa@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
+ integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==
+ dependencies:
+ "@types/q" "^1.5.1"
+ chalk "^2.4.1"
+ q "^1.1.2"
+
+code-error-fragment@0.0.230:
+ version "0.0.230"
+ resolved "https://registry.yarnpkg.com/code-error-fragment/-/code-error-fragment-0.0.230.tgz#d736d75c832445342eca1d1fedbf17d9618b14d7"
+ integrity sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==
+
+code-point-at@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+ integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
+
+collection-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
+ integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
+ dependencies:
+ map-visit "^1.0.0"
+ object-visit "^1.0.0"
+
+color-convert@^1.9.0:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+ dependencies:
+ color-name "1.1.3"
+
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
+color-logger@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/color-logger/-/color-logger-0.0.3.tgz#d9b22dd1d973e166b18bf313f9f481bba4df2018"
+ integrity sha1-2bIt0dlz4Waxi/MT+fSBu6TfIBg=
+
+color-logger@0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/color-logger/-/color-logger-0.0.6.tgz#e56245ef29822657110c7cb75a9cd786cb69ed1b"
+ integrity sha1-5WJF7ymCJlcRDHy3WpzXhstp7Rs=
+
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+
+color-name@^1.0.0, color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+color-string@^1.5.3:
+ version "1.7.4"
+ resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.7.4.tgz#79a7bf242610a8aa1b5e2681f3bf6bcfa666245f"
+ integrity sha512-nVdUvPVgZMpRQad5dcsCMOSB5BXLljklTiaxS6ehhKxDsAI5sD7k5VmFuBt1y3Rlym8uulc/ANUN/bMWtBu6Sg==
+ dependencies:
+ color-name "^1.0.0"
+ simple-swizzle "^0.2.2"
+
+color-support@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
+ integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
+
+colorette@^1.0.7:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"
+ integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
+
+colors@^1.1.2, colors@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
+ integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
+
+combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
+command-exists@^1.2.8:
+ version "1.2.9"
+ resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69"
+ integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==
+
+commander@^2.15.0, commander@^2.19.0, commander@^2.20.3:
+ version "2.20.3"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
+ integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+
+commander@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
+ integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
+
+commander@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
+ integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
+
+commander@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
+ integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
+
+commander@~2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c"
+ integrity sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==
+
+commondir@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+ integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
+
+compare-versions@^3.4.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62"
+ integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==
+
+component-emitter@1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
+ integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=
+
+component-emitter@^1.2.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
+ integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
+
+compound-subject@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/compound-subject/-/compound-subject-0.0.1.tgz#271554698a15ae608b1dfcafd30b7ba1ea892c4b"
+ integrity sha1-JxVUaYoVrmCLHfyv0wt7oeqJLEs=
+
+compressible@~2.0.16:
+ version "2.0.18"
+ resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
+ integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
+ dependencies:
+ mime-db ">= 1.43.0 < 2"
+
+compression@^1.7.1:
+ version "1.7.4"
+ resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f"
+ integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==
+ dependencies:
+ accepts "~1.3.5"
+ bytes "3.0.0"
+ compressible "~2.0.16"
+ debug "2.6.9"
+ on-headers "~1.0.2"
+ safe-buffer "5.1.2"
+ vary "~1.1.2"
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+
+concat-stream@1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.1.tgz#f3b80acf9e1f48e3875c0688b41b6c31602eea1c"
+ integrity sha1-87gKz54fSOOHXAaItBtsMWAu6hw=
+ dependencies:
+ inherits "~2.0.1"
+ readable-stream "~2.0.0"
+ typedarray "~0.0.5"
+
+concat-stream@^1.6.0:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+ integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
+
+conf@^10.0.2:
+ version "10.1.0"
+ resolved "https://registry.yarnpkg.com/conf/-/conf-10.1.0.tgz#d1c161f7e956aaa1a001051f9430b50869eaec68"
+ integrity sha512-qZ+642TRK8uQq7IFL/c0iw9UsgowK0jkNpDeQMY2znki6Rvlm6ks+YljmaIayIRaTrLk0eJvyFgY0hOByxvmmw==
+ dependencies:
+ ajv "^8.6.3"
+ ajv-formats "^2.1.1"
+ atomically "^1.7.0"
+ debounce-fn "^4.0.0"
+ dot-prop "^6.0.1"
+ env-paths "^2.2.1"
+ json-schema-typed "^7.0.3"
+ onetime "^5.1.2"
+ pkg-up "^3.1.0"
+ semver "^7.3.5"
+
+connect@^3.6.5:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8"
+ integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==
+ dependencies:
+ debug "2.6.9"
+ finalhandler "1.1.2"
+ parseurl "~1.3.3"
+ utils-merge "1.0.1"
+
+console-browserify@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336"
+ integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
+
+console-control-strings@^1.0.0, console-control-strings@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+ integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
+
+constant-case@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46"
+ integrity sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY=
+ dependencies:
+ snake-case "^2.1.0"
+ upper-case "^1.1.1"
+
+constants-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
+ integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
+
+content-disposition@0.5.3:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
+ integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
+ dependencies:
+ safe-buffer "5.1.2"
+
+content-hash@^2.5.2:
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211"
+ integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==
+ dependencies:
+ cids "^0.7.1"
+ multicodec "^0.5.5"
+ multihashes "^0.4.15"
+
+content-type@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
+ integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
+
+convert-source-map@1.X, convert-source-map@^1.7.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
+ integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==
+ dependencies:
+ safe-buffer "~5.1.1"
+
+cookie-signature@1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+ integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
+
+cookie@0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
+ integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
+
+cookiejar@^2.1.1:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.3.tgz#fc7a6216e408e74414b90230050842dacda75acc"
+ integrity sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==
+
+copy-descriptor@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
+ integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
+
+core-js-compat@^3.18.0, core-js-compat@^3.19.1:
+ version "3.19.1"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.1.tgz#fe598f1a9bf37310d77c3813968e9f7c7bb99476"
+ integrity sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g==
+ dependencies:
+ browserslist "^4.17.6"
+ semver "7.0.0"
+
+core-js-pure@^3.10.2:
+ version "3.19.1"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.1.tgz#edffc1fc7634000a55ba05e95b3f0fe9587a5aa4"
+ integrity sha512-Q0Knr8Es84vtv62ei6/6jXH/7izKmOrtrxH9WJTHLCMAVeU+8TF8z8Nr08CsH4Ot0oJKzBzJJL9SJBYIv7WlfQ==
+
+core-js@^1.0.0:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
+ integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=
+
+core-js@^2.4.0, core-js@^2.4.1:
+ version "2.6.12"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
+ integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
+
+core-js@^3.2.1:
+ version "3.19.1"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.19.1.tgz#f6f173cae23e73a7d88fa23b6e9da329276c6641"
+ integrity sha512-Tnc7E9iKd/b/ff7GFbhwPVzJzPztGrChB8X8GLqoYGdEOG8IpLnK1xPyo3ZoO3HsK6TodJS58VGPOxA+hLHQMg==
+
+core-util-is@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+ integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
+
+core-util-is@~1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
+ integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
+
+cors@^2.8.1, cors@^2.8.5:
+ version "2.8.5"
+ resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
+ integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
+ dependencies:
+ object-assign "^4"
+ vary "^1"
+
+cosmiconfig@^5.0.5, cosmiconfig@^5.1.0, cosmiconfig@^5.2.1:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
+ integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
+ dependencies:
+ import-fresh "^2.0.0"
+ is-directory "^0.3.1"
+ js-yaml "^3.13.1"
+ parse-json "^4.0.0"
+
+country-data@^0.0.31:
+ version "0.0.31"
+ resolved "https://registry.yarnpkg.com/country-data/-/country-data-0.0.31.tgz#80966b8e1d147fa6d6a589d32933f8793774956d"
+ integrity sha1-gJZrjh0Uf6bWpYnTKTP4eTd0lW0=
+ dependencies:
+ currency-symbol-map "~2"
+ underscore ">1.4.4"
+
+crc-32@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208"
+ integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==
+ dependencies:
+ exit-on-epipe "~1.0.1"
+ printj "~1.1.0"
+
+create-ecdh@^4.0.0:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
+ integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==
+ dependencies:
+ bn.js "^4.1.0"
+ elliptic "^6.5.3"
+
+create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
+ integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
+ dependencies:
+ cipher-base "^1.0.1"
+ inherits "^2.0.1"
+ md5.js "^1.3.4"
+ ripemd160 "^2.0.1"
+ sha.js "^2.4.0"
+
+create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4, create-hmac@^1.1.7:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
+ integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
+ dependencies:
+ cipher-base "^1.0.3"
+ create-hash "^1.1.0"
+ inherits "^2.0.1"
+ ripemd160 "^2.0.0"
+ safe-buffer "^5.0.1"
+ sha.js "^2.4.8"
+
+create-react-class@^15.7.0:
+ version "15.7.0"
+ resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.7.0.tgz#7499d7ca2e69bb51d13faf59bd04f0c65a1d6c1e"
+ integrity sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng==
+ dependencies:
+ loose-envify "^1.3.1"
+ object-assign "^4.1.1"
+
+cross-fetch@3.0.6:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.0.6.tgz#3a4040bc8941e653e0e9cf17f29ebcd177d3365c"
+ integrity sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==
+ dependencies:
+ node-fetch "2.6.1"
+
+cross-fetch@3.1.4, cross-fetch@^3.0.4, cross-fetch@^3.0.6:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.4.tgz#9723f3a3a247bf8b89039f3a380a9244e8fa2f39"
+ integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==
+ dependencies:
+ node-fetch "2.6.1"
+
+cross-spawn@^5.0.1, cross-spawn@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
+ integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=
+ dependencies:
+ lru-cache "^4.0.1"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+cross-spawn@^6.0.0, cross-spawn@^6.0.5:
+ version "6.0.5"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
+ integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
+ dependencies:
+ nice-try "^1.0.4"
+ path-key "^2.0.1"
+ semver "^5.5.0"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+crypto-addr-codec@^0.1.7:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/crypto-addr-codec/-/crypto-addr-codec-0.1.7.tgz#e16cea892730178fe25a38f6d15b680cab3124ae"
+ integrity sha512-X4hzfBzNhy4mAc3UpiXEC/L0jo5E8wAa9unsnA8nNXYzXjCcGk83hfC5avJWCSGT8V91xMnAS9AKMHmjw5+XCg==
+ dependencies:
+ base-x "^3.0.8"
+ big-integer "1.6.36"
+ blakejs "^1.1.0"
+ bs58 "^4.0.1"
+ ripemd160-min "0.0.6"
+ safe-buffer "^5.2.0"
+ sha3 "^2.1.1"
+
+crypto-browserify@3.12.0, crypto-browserify@^3.11.0:
+ version "3.12.0"
+ resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
+ integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
+ dependencies:
+ browserify-cipher "^1.0.0"
+ browserify-sign "^4.0.0"
+ create-ecdh "^4.0.0"
+ create-hash "^1.1.0"
+ create-hmac "^1.1.0"
+ diffie-hellman "^5.0.0"
+ inherits "^2.0.1"
+ pbkdf2 "^3.0.3"
+ public-encrypt "^4.0.0"
+ randombytes "^2.0.0"
+ randomfill "^1.0.3"
+
+crypto-js@^3.1.9-1:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b"
+ integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==
+
+crypto-random-string@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
+ integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=
+
+css-in-js-utils@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz#3b472b398787291b47cfe3e44fecfdd9e914ba99"
+ integrity sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==
+ dependencies:
+ hyphenate-style-name "^1.0.2"
+ isobject "^3.0.1"
+
+css-select-base-adapter@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7"
+ integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==
+
+css-select@^2.0.0, css-select@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef"
+ integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^3.2.1"
+ domutils "^1.7.0"
+ nth-check "^1.0.2"
+
+css-select@^4.1.3:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067"
+ integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^5.0.0"
+ domhandler "^4.2.0"
+ domutils "^2.6.0"
+ nth-check "^2.0.0"
+
+css-select@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
+ integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=
+ dependencies:
+ boolbase "~1.0.0"
+ css-what "2.1"
+ domutils "1.5.1"
+ nth-check "~1.0.1"
+
+css-tree@1.0.0-alpha.37:
+ version "1.0.0-alpha.37"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22"
+ integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==
+ dependencies:
+ mdn-data "2.0.4"
+ source-map "^0.6.1"
+
+css-tree@^1.0.0-alpha.39, css-tree@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d"
+ integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
+ dependencies:
+ mdn-data "2.0.14"
+ source-map "^0.6.1"
+
+css-what@2.1:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
+ integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==
+
+css-what@^3.2.1:
+ version "3.4.2"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4"
+ integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==
+
+css-what@^5.0.0, css-what@^5.0.1:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe"
+ integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==
+
+css@2.X:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929"
+ integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==
+ dependencies:
+ inherits "^2.0.3"
+ source-map "^0.6.1"
+ source-map-resolve "^0.5.2"
+ urix "^0.1.0"
+
+cssfilter@0.0.10:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae"
+ integrity sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=
+
+csso@^4.0.2:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529"
+ integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==
+ dependencies:
+ css-tree "^1.1.2"
+
+cssom@0.3.x, "cssom@>= 0.3.0 < 0.4.0":
+ version "0.3.8"
+ resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
+ integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
+
+"cssstyle@>= 0.2.29 < 0.3.0":
+ version "0.2.37"
+ resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54"
+ integrity sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=
+ dependencies:
+ cssom "0.3.x"
+
+csstype@^3.0.2:
+ version "3.0.10"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5"
+ integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==
+
+currency-symbol-map@~2:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/currency-symbol-map/-/currency-symbol-map-2.2.0.tgz#2b3c1872ff1ac2ce595d8273e58e1fff0272aea2"
+ integrity sha1-KzwYcv8aws5ZXYJz5Y4f/wJyrqI=
+
+d3-array@^1.2.0:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f"
+ integrity sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==
+
+d3-array@~2.3.0:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.3.3.tgz#e90c39fbaedccedf59fc30473092f99a0e14efa2"
+ integrity sha512-syv3wp0U5aB6toP2zb2OdBkhTy1MWDsCAaYk6OXJZv+G4u7bSWEmYgxLoFyc88RQUhZYGCebW9a9UD1gFi5+MQ==
+
+d3-collection@1:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e"
+ integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==
+
+d3-color@1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.4.1.tgz#c52002bf8846ada4424d55d97982fef26eb3bc8a"
+ integrity sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==
+
+d3-ease@^1.0.0:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.7.tgz#9a834890ef8b8ae8c558b2fe55bd57f5993b85e2"
+ integrity sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==
+
+d3-format@1:
+ version "1.4.5"
+ resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.4.5.tgz#374f2ba1320e3717eb74a9356c67daee17a7edb4"
+ integrity sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==
+
+d3-interpolate@1, d3-interpolate@^1.1.1:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.4.0.tgz#526e79e2d80daa383f9e0c1c1c7dcc0f0583e987"
+ integrity sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==
+ dependencies:
+ d3-color "1"
+
+d3-path@1:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.9.tgz#48c050bb1fe8c262493a8caf5524e3e9591701cf"
+ integrity sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==
+
+d3-scale@^1.0.0:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.7.tgz#fa90324b3ea8a776422bd0472afab0b252a0945d"
+ integrity sha512-KvU92czp2/qse5tUfGms6Kjig0AhHOwkzXG0+PqIJB3ke0WUv088AHMZI0OssO9NCkXt4RP8yju9rpH8aGB7Lw==
+ dependencies:
+ d3-array "^1.2.0"
+ d3-collection "1"
+ d3-color "1"
+ d3-format "1"
+ d3-interpolate "1"
+ d3-time "1"
+ d3-time-format "2"
+
+d3-shape@^1.0.0, d3-shape@^1.2.0:
+ version "1.3.7"
+ resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.7.tgz#df63801be07bc986bc54f63789b4fe502992b5d7"
+ integrity sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==
+ dependencies:
+ d3-path "1"
+
+d3-time-format@2:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.3.0.tgz#107bdc028667788a8924ba040faf1fbccd5a7850"
+ integrity sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==
+ dependencies:
+ d3-time "1"
+
+d3-time@1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.1.0.tgz#b1e19d307dae9c900b7e5b25ffc5dcc249a8a0f1"
+ integrity sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==
+
+d3-timer@^1.0.0:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.10.tgz#dfe76b8a91748831b13b6d9c793ffbd508dd9de5"
+ integrity sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==
+
+d3-voronoi@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz#dd3c78d7653d2bb359284ae478645d95944c8297"
+ integrity sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==
+
+d@1, d@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
+ integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
+ dependencies:
+ es5-ext "^0.10.50"
+ type "^1.0.1"
+
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
+ dependencies:
+ assert-plus "^1.0.0"
+
+dataloader@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.0.0.tgz#41eaf123db115987e21ca93c005cd7753c55fe6f"
+ integrity sha512-YzhyDAwA4TaQIhM5go+vCLmU0UikghC/t9DTQYZR2M/UvZ1MdOhPezSDZcjj9uqQJOMqjLcpWtyW2iNINdlatQ==
+
+dayjs@^1.8.15:
+ version "1.10.7"
+ resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468"
+ integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==
+
+debounce-fn@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/debounce-fn/-/debounce-fn-4.0.0.tgz#ed76d206d8a50e60de0dd66d494d82835ffe61c7"
+ integrity sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==
+ dependencies:
+ mimic-fn "^3.0.0"
+
+debug-fabulous@0.0.X:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/debug-fabulous/-/debug-fabulous-0.0.4.tgz#fa071c5d87484685424807421ca4b16b0b1a0763"
+ integrity sha1-+gccXYdIRoVCSAdCHKSxawsaB2M=
+ dependencies:
+ debug "2.X"
+ lazy-debug-legacy "0.0.X"
+ object-assign "4.1.0"
+
+debug@2.6.9, debug@2.X, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ dependencies:
+ ms "2.0.0"
+
+debug@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
+ dependencies:
+ ms "2.0.0"
+
+debug@3.2.6:
+ version "3.2.6"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
+ integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
+ dependencies:
+ ms "^2.1.1"
+
+debug@4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
+ integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
+ dependencies:
+ ms "^2.1.1"
+
+debug@^3.1.0, debug@^3.2.6:
+ version "3.2.7"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
+ integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
+ dependencies:
+ ms "^2.1.1"
+
+debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
+ integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
+ dependencies:
+ ms "2.1.2"
+
+decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+ integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
+
+decode-uri-component@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
+ integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
+
+decompress-response@^3.2.0, decompress-response@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
+ integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
+ dependencies:
+ mimic-response "^1.0.0"
+
+deep-eql@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2"
+ integrity sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=
+ dependencies:
+ type-detect "0.1.1"
+
+deep-eql@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
+ integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==
+ dependencies:
+ type-detect "^4.0.0"
+
+deep-extend@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+ integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
+
+deep-is@~0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
+ integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
+
+deepmerge@^3.2.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.3.0.tgz#d3c47fd6f3a93d517b14426b0628a17b0125f5f7"
+ integrity sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==
+
+defaults@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
+ integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=
+ dependencies:
+ clone "^1.0.2"
+
+defer-to-connect@^1.0.1:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
+ integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
+
+deferred-leveldown@~5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-5.0.1.tgz#1642eb18b535dfb2b6ac4d39fb10a9cbcfd13b09"
+ integrity sha512-BXohsvTedWOLkj2n/TY+yqVlrCWa2Zs8LSxh3uCAgFOru7/pjxKyZAexGa1j83BaKloER4PqUyQ9rGPJLt9bqA==
+ dependencies:
+ abstract-leveldown "~6.0.0"
+ inherits "^2.0.3"
+
+deferred-leveldown@~5.3.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz#27a997ad95408b61161aa69bd489b86c71b78058"
+ integrity sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==
+ dependencies:
+ abstract-leveldown "~6.2.1"
+ inherits "^2.0.3"
+
+define-properties@^1.1.2, define-properties@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
+ integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
+ dependencies:
+ object-keys "^1.0.12"
+
+define-property@^0.2.5:
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
+ integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
+ dependencies:
+ is-descriptor "^0.1.0"
+
+define-property@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
+ integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
+ dependencies:
+ is-descriptor "^1.0.0"
+
+define-property@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
+ integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
+ dependencies:
+ is-descriptor "^1.0.2"
+ isobject "^3.0.1"
+
+delaunator@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-4.0.1.tgz#3d779687f57919a7a418f8ab947d3bddb6846957"
+ integrity sha512-WNPWi1IRKZfCt/qIDMfERkDp93+iZEmOxN2yy4Jg+Xhv8SLk2UTqqbe1sfiipn0and9QrE914/ihdx82Y/Giag==
+
+delaunay-find@0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/delaunay-find/-/delaunay-find-0.0.6.tgz#2ed017a79410013717fa7d9422e082c2502d4ae3"
+ integrity sha512-1+almjfrnR7ZamBk0q3Nhg6lqSe6Le4vL0WJDSMx4IDbQwTpUTXPjxC00lqLBT8MYsJpPCbI16sIkw9cPsbi7Q==
+ dependencies:
+ delaunator "^4.0.0"
+
+delay@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d"
+ integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+
+delegates@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+ integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
+
+delimit-stream@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/delimit-stream/-/delimit-stream-0.1.0.tgz#9b8319477c0e5f8aeb3ce357ae305fc25ea1cd2b"
+ integrity sha1-m4MZR3wOX4rrPONXrjBfwl6hzSs=
+
+denodeify@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631"
+ integrity sha1-OjYof1A05pnnV3kBBSwubJQlFjE=
+
+depd@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
+ integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
+
+deprecated-decorator@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37"
+ integrity sha1-AJZjF7ehL+kvPMgx91g68ym4bDc=
+
+des.js@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843"
+ integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==
+ dependencies:
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+
+destroy@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
+ integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
+
+detect-indent@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
+ integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg=
+ dependencies:
+ repeating "^2.0.0"
+
+detect-indent@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
+ integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50=
+
+detect-installed@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/detect-installed/-/detect-installed-2.0.4.tgz#a0850465e7c3ebcff979d6b6535ad344b80dd7c5"
+ integrity sha1-oIUEZefD68/5eda2U1rTRLgN18U=
+ dependencies:
+ get-installed-path "^2.0.3"
+
+detect-libc@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+ integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
+
+detect-newline@2.X:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"
+ integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=
+
+dicer@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.3.0.tgz#eacd98b3bfbf92e8ab5c2fdb71aaac44bb06b872"
+ integrity sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==
+ dependencies:
+ streamsearch "0.1.2"
+
+diff@3.5.0:
+ version "3.5.0"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
+ integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==
+
+diff@4.0.2, diff@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
+ integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
+
+diffie-hellman@^5.0.0:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
+ integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
+ dependencies:
+ bn.js "^4.1.0"
+ miller-rabin "^4.0.0"
+ randombytes "^2.0.0"
+
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+ integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+ dependencies:
+ path-type "^4.0.0"
+
+dir-to-object@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/dir-to-object/-/dir-to-object-2.0.0.tgz#29723e9bd1c3e58e4f307bd04ff634c0370c8f8a"
+ integrity sha512-sXs0JKIhymON7T1UZuO2Ud6VTNAx/VTBXIl4+3mjb2RgfOpt+hectX0x04YqPOPdkeOAKoJuKqwqnXXURNPNEA==
+
+dns-over-http-resolver@^1.0.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz#194d5e140a42153f55bb79ac5a64dd2768c36af9"
+ integrity sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==
+ dependencies:
+ debug "^4.3.1"
+ native-fetch "^3.0.0"
+ receptacle "^1.3.2"
+
+dom-serializer@0:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
+ integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
+ dependencies:
+ domelementtype "^2.0.1"
+ entities "^2.0.0"
+
+dom-serializer@^1.0.1, dom-serializer@^1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91"
+ integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.2.0"
+ entities "^2.0.0"
+
+dom-serializer@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0"
+ integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==
+ dependencies:
+ domelementtype "^1.3.0"
+ entities "^1.1.1"
+
+dom-walk@^0.1.0:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
+ integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
+
+domain-browser@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
+ integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
+
+domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
+ integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
+
+domelementtype@^2.0.1, domelementtype@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
+ integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==
+
+domhandler@2.3:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738"
+ integrity sha1-LeWaCCLVAn+r/28DLCsloqir5zg=
+ dependencies:
+ domelementtype "1"
+
+domhandler@^2.3.0:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
+ integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==
+ dependencies:
+ domelementtype "1"
+
+domhandler@^4.0.0, domhandler@^4.2.0:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f"
+ integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==
+ dependencies:
+ domelementtype "^2.2.0"
+
+domutils@1.5, domutils@1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
+ integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=
+ dependencies:
+ dom-serializer "0"
+ domelementtype "1"
+
+domutils@^1.5.1, domutils@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
+ integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==
+ dependencies:
+ dom-serializer "0"
+ domelementtype "1"
+
+domutils@^2.5.2, domutils@^2.6.0, domutils@^2.7.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
+ integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
+ dependencies:
+ dom-serializer "^1.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
+
+dot-case@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee"
+ integrity sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4=
+ dependencies:
+ no-case "^2.2.0"
+
+dot-prop@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083"
+ integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==
+ dependencies:
+ is-obj "^2.0.0"
+
+dotenv@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81"
+ integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==
+
+double-ended-queue@2.1.0-0:
+ version "2.1.0-0"
+ resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c"
+ integrity sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw=
+
+duplexer3@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
+ integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
+
+duplexify@^3.2.0:
+ version "3.7.1"
+ resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
+ integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
+ dependencies:
+ end-of-stream "^1.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+ stream-shift "^1.0.0"
+
+ecc-jsbn@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
+ integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
+ dependencies:
+ jsbn "~0.1.0"
+ safer-buffer "^2.1.0"
+
+ed2curve@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/ed2curve/-/ed2curve-0.3.0.tgz#322b575152a45305429d546b071823a93129a05d"
+ integrity sha512-8w2fmmq3hv9rCrcI7g9hms2pMunQr1JINfcjwR9tAyZqhtyaMN991lF/ZfHfr5tzZQ8c7y7aBgZbjfbd0fjFwQ==
+ dependencies:
+ tweetnacl "1.x.x"
+
+ee-first@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+ integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
+
+electron-fetch@^1.7.2:
+ version "1.7.4"
+ resolved "https://registry.yarnpkg.com/electron-fetch/-/electron-fetch-1.7.4.tgz#af975ab92a14798bfaa025f88dcd2e54a7b0b769"
+ integrity sha512-+fBLXEy4CJWQ5bz8dyaeSG1hD6JJ15kBZyj3eh24pIVrd3hLM47H/umffrdQfS6GZ0falF0g9JT9f3Rs6AVUhw==
+ dependencies:
+ encoding "^0.1.13"
+
+electron-to-chromium@^1.3.896:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.0.tgz#7456192519838f881e35e4038bf4ad2c36353e63"
+ integrity sha512-+oXCt6SaIu8EmFTPx8wNGSB0tHQ5biDscnlf6Uxuz17e9CjzMRtGk9B8705aMPnj0iWr3iC74WuIkngCsLElmA==
+
+elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5.4:
+ version "6.5.4"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
+ integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==
+ dependencies:
+ bn.js "^4.11.9"
+ brorand "^1.1.0"
+ hash.js "^1.0.0"
+ hmac-drbg "^1.0.1"
+ inherits "^2.0.4"
+ minimalistic-assert "^1.0.1"
+ minimalistic-crypto-utils "^1.0.1"
+
+emittery@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.4.1.tgz#abe9d3297389ba424ac87e53d1c701962ce7433d"
+ integrity sha512-r4eRSeStEGf6M5SKdrQhhLK5bOwOBxQhIE3YSTnZE3GpKiLfnnhE+tPtrJE79+eDJgm39BM6LSoI8SCx4HbwlQ==
+
+emoji-regex@^7.0.1:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
+ integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
+
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+emoji-regex@^9.0.0:
+ version "9.2.2"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
+ integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
+
+emojis-list@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
+ integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
+
+encodeurl@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
+ integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
+
+encoding-down@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/encoding-down/-/encoding-down-6.3.0.tgz#b1c4eb0e1728c146ecaef8e32963c549e76d082b"
+ integrity sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==
+ dependencies:
+ abstract-leveldown "^6.2.1"
+ inherits "^2.0.3"
+ level-codec "^9.0.0"
+ level-errors "^2.0.0"
+
+encoding@^0.1.11, encoding@^0.1.13:
+ version "0.1.13"
+ resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
+ integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
+ dependencies:
+ iconv-lite "^0.6.2"
+
+end-of-stream@^1.0.0, end-of-stream@^1.1.0:
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+ integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+ dependencies:
+ once "^1.4.0"
+
+end-stream@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/end-stream/-/end-stream-0.1.0.tgz#32003f3f438a2b0143168137f8fa6e9866c81ed5"
+ integrity sha1-MgA/P0OKKwFDFoE3+PpumGbIHtU=
+ dependencies:
+ write-stream "~0.4.3"
+
+enhanced-resolve@^3.4.0:
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e"
+ integrity sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=
+ dependencies:
+ graceful-fs "^4.1.2"
+ memory-fs "^0.4.0"
+ object-assign "^4.0.1"
+ tapable "^0.2.7"
+
+entities@1.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26"
+ integrity sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=
+
+entities@^1.1.1, entities@~1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
+ integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
+
+entities@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
+ integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+
+env-paths@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2"
+ integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
+
+envinfo@^7.7.2:
+ version "7.8.1"
+ resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475"
+ integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==
+
+err-code@^2.0.0, err-code@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9"
+ integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==
+
+err-code@^3.0.0, err-code@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/err-code/-/err-code-3.0.1.tgz#a444c7b992705f2b120ee320b09972eef331c920"
+ integrity sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==
+
+errno@^0.1.3, errno@~0.1.1:
+ version "0.1.8"
+ resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f"
+ integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==
+ dependencies:
+ prr "~1.0.1"
+
+error-ex@^1.2.0, error-ex@^1.3.1:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
+ dependencies:
+ is-arrayish "^0.2.1"
+
+error-stack-parser@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8"
+ integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==
+ dependencies:
+ stackframe "^1.1.1"
+
+errorhandler@^1.5.0:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/errorhandler/-/errorhandler-1.5.1.tgz#b9ba5d17cf90744cd1e851357a6e75bf806a9a91"
+ integrity sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==
+ dependencies:
+ accepts "~1.3.7"
+ escape-html "~1.0.3"
+
+es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.18.5, es-abstract@^1.19.0, es-abstract@^1.19.1:
+ version "1.19.1"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3"
+ integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==
+ dependencies:
+ call-bind "^1.0.2"
+ es-to-primitive "^1.2.1"
+ function-bind "^1.1.1"
+ get-intrinsic "^1.1.1"
+ get-symbol-description "^1.0.0"
+ has "^1.0.3"
+ has-symbols "^1.0.2"
+ internal-slot "^1.0.3"
+ is-callable "^1.2.4"
+ is-negative-zero "^2.0.1"
+ is-regex "^1.1.4"
+ is-shared-array-buffer "^1.0.1"
+ is-string "^1.0.7"
+ is-weakref "^1.0.1"
+ object-inspect "^1.11.0"
+ object-keys "^1.1.1"
+ object.assign "^4.1.2"
+ string.prototype.trimend "^1.0.4"
+ string.prototype.trimstart "^1.0.4"
+ unbox-primitive "^1.0.1"
+
+es-array-method-boxes-properly@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e"
+ integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==
+
+es-get-iterator@^1.0.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.2.tgz#9234c54aba713486d7ebde0220864af5e2b283f7"
+ integrity sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.1.0"
+ has-symbols "^1.0.1"
+ is-arguments "^1.1.0"
+ is-map "^2.0.2"
+ is-set "^2.0.2"
+ is-string "^1.0.5"
+ isarray "^2.0.5"
+
+es-to-primitive@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
+ integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
+ dependencies:
+ is-callable "^1.1.4"
+ is-date-object "^1.0.1"
+ is-symbol "^1.0.2"
+
+es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14:
+ version "0.10.53"
+ resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1"
+ integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==
+ dependencies:
+ es6-iterator "~2.0.3"
+ es6-symbol "~3.1.3"
+ next-tick "~1.0.0"
+
+es6-denodeify@^0.1.1:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/es6-denodeify/-/es6-denodeify-0.1.5.tgz#31d4d5fe9c5503e125460439310e16a2a3f39c1f"
+ integrity sha1-MdTV/pxVA+ElRgQ5MQ4WoqPznB8=
+
+es6-iterator@^2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
+ integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
+ dependencies:
+ d "1"
+ es5-ext "^0.10.35"
+ es6-symbol "^3.1.1"
+
+es6-map@^0.1.3:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0"
+ integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=
+ dependencies:
+ d "1"
+ es5-ext "~0.10.14"
+ es6-iterator "~2.0.1"
+ es6-set "~0.1.5"
+ es6-symbol "~3.1.1"
+ event-emitter "~0.3.5"
+
+es6-set@~0.1.5:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1"
+ integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=
+ dependencies:
+ d "1"
+ es5-ext "~0.10.14"
+ es6-iterator "~2.0.1"
+ es6-symbol "3.1.1"
+ event-emitter "~0.3.5"
+
+es6-symbol@3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
+ integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=
+ dependencies:
+ d "1"
+ es5-ext "~0.10.14"
+
+es6-symbol@^3.1.1, es6-symbol@~3.1.1, es6-symbol@~3.1.3:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
+ integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
+ dependencies:
+ d "^1.0.1"
+ ext "^1.1.2"
+
+es6-weak-map@^2.0.1:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53"
+ integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==
+ dependencies:
+ d "1"
+ es5-ext "^0.10.46"
+ es6-iterator "^2.0.3"
+ es6-symbol "^3.1.1"
+
+escalade@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
+ integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
+
+escape-html@1.0.3, escape-html@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+ integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
+
+escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+
+escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+escape-string-regexp@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
+ integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
+
+escodegen@^1.6.1:
+ version "1.14.3"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503"
+ integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==
+ dependencies:
+ esprima "^4.0.1"
+ estraverse "^4.2.0"
+ esutils "^2.0.2"
+ optionator "^0.8.1"
+ optionalDependencies:
+ source-map "~0.6.1"
+
+escope@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
+ integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=
+ dependencies:
+ es6-map "^0.1.3"
+ es6-weak-map "^2.0.1"
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+esdoc@^1.0.4:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/esdoc/-/esdoc-1.1.0.tgz#07d40ebf791764cd537929c29111e20a857624f3"
+ integrity sha512-vsUcp52XJkOWg9m1vDYplGZN2iDzvmjDL5M/Mp8qkoDG3p2s0yIQCIjKR5wfPBaM3eV14a6zhQNYiNTCVzPnxA==
+ dependencies:
+ babel-generator "6.26.1"
+ babel-traverse "6.26.0"
+ babylon "6.18.0"
+ cheerio "1.0.0-rc.2"
+ color-logger "0.0.6"
+ escape-html "1.0.3"
+ fs-extra "5.0.0"
+ ice-cap "0.0.4"
+ marked "0.3.19"
+ minimist "1.2.0"
+ taffydb "2.7.3"
+
+esprima-extract-comments@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/esprima-extract-comments/-/esprima-extract-comments-1.1.0.tgz#0dacab567a5900240de6d344cf18c33617becbc9"
+ integrity sha512-sBQUnvJwpeE9QnPrxh7dpI/dp67erYG4WXEAreAMoelPRpMR7NWb4YtwRPn9b+H1uLQKl/qS8WYmyaljTpjIsw==
+ dependencies:
+ esprima "^4.0.0"
+
+esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+ integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+esrecurse@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
+ integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+ dependencies:
+ estraverse "^5.2.0"
+
+estraverse@^4.1.1, estraverse@^4.2.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+ integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+
+estraverse@^5.2.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+ integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
+esutils@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+ integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+etag@~1.8.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+ integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
+
+eth-ens-namehash@2.0.8, eth-ens-namehash@^2.0.8:
+ version "2.0.8"
+ resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf"
+ integrity sha1-IprEbsqG1S4MmR58sq74P/D2i88=
+ dependencies:
+ idna-uts46-hx "^2.3.1"
+ js-sha3 "^0.5.7"
+
+eth-lib@0.2.7:
+ version "0.2.7"
+ resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.7.tgz#2f93f17b1e23aec3759cd4a3fe20c1286a3fc1ca"
+ integrity sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=
+ dependencies:
+ bn.js "^4.11.6"
+ elliptic "^6.4.0"
+ xhr-request-promise "^0.1.2"
+
+eth-lib@0.2.8, eth-lib@^0.2.8:
+ version "0.2.8"
+ resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8"
+ integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==
+ dependencies:
+ bn.js "^4.11.6"
+ elliptic "^6.4.0"
+ xhr-request-promise "^0.1.2"
+
+eth-lib@^0.1.26:
+ version "0.1.29"
+ resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.29.tgz#0c11f5060d42da9f931eab6199084734f4dbd1d9"
+ integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==
+ dependencies:
+ bn.js "^4.11.6"
+ elliptic "^6.4.0"
+ nano-json-stream-parser "^0.1.2"
+ servify "^0.1.12"
+ ws "^3.0.0"
+ xhr-request-promise "^0.1.2"
+
+ethereum-bloom-filters@^1.0.6:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a"
+ integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==
+ dependencies:
+ js-sha3 "^0.8.0"
+
+ethereum-cryptography@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191"
+ integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==
+ dependencies:
+ "@types/pbkdf2" "^3.0.0"
+ "@types/secp256k1" "^4.0.1"
+ blakejs "^1.1.0"
+ browserify-aes "^1.2.0"
+ bs58check "^2.1.2"
+ create-hash "^1.2.0"
+ create-hmac "^1.1.7"
+ hash.js "^1.1.7"
+ keccak "^3.0.0"
+ pbkdf2 "^3.0.17"
+ randombytes "^2.1.0"
+ safe-buffer "^5.1.2"
+ scrypt-js "^3.0.0"
+ secp256k1 "^4.0.1"
+ setimmediate "^1.0.5"
+
+ethereumjs-common@^1.3.2, ethereumjs-common@^1.5.0:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz#2065dbe9214e850f2e955a80e650cb6999066979"
+ integrity sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA==
+
+ethereumjs-testrpc@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/ethereumjs-testrpc/-/ethereumjs-testrpc-6.0.3.tgz#7a0b87bf3670f92f607f98fa6a78801d9741b124"
+ integrity sha512-lAxxsxDKK69Wuwqym2K49VpXtBvLEsXr1sryNG4AkvL5DomMdeCBbu3D87UEevKenLHBiT8GTjARwN6Yj039gA==
+ dependencies:
+ webpack "^3.0.0"
+
+ethereumjs-tx@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz#5dfe7688bf177b45c9a23f86cf9104d47ea35fed"
+ integrity sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw==
+ dependencies:
+ ethereumjs-common "^1.5.0"
+ ethereumjs-util "^6.0.0"
+
+ethereumjs-util@6.2.1, ethereumjs-util@^6.0.0:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69"
+ integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==
+ dependencies:
+ "@types/bn.js" "^4.11.3"
+ bn.js "^4.11.0"
+ create-hash "^1.1.2"
+ elliptic "^6.5.2"
+ ethereum-cryptography "^0.1.3"
+ ethjs-util "0.1.6"
+ rlp "^2.2.3"
+
+ethereumjs-util@^5.2.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz#a833f0e5fca7e5b361384dc76301a721f537bf65"
+ integrity sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==
+ dependencies:
+ bn.js "^4.11.0"
+ create-hash "^1.1.2"
+ elliptic "^6.5.2"
+ ethereum-cryptography "^0.1.3"
+ ethjs-util "^0.1.3"
+ rlp "^2.0.0"
+ safe-buffer "^5.1.1"
+
+ethereumjs-util@^7.0.10, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.2, ethereumjs-util@^7.1.3:
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz#b55d7b64dde3e3e45749e4c41288238edec32d23"
+ integrity sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw==
+ dependencies:
+ "@types/bn.js" "^5.1.0"
+ bn.js "^5.1.2"
+ create-hash "^1.1.2"
+ ethereum-cryptography "^0.1.3"
+ rlp "^2.2.4"
+
+ethereumjs-wallet@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/ethereumjs-wallet/-/ethereumjs-wallet-1.0.2.tgz#2c000504b4c71e8f3782dabe1113d192522e99b6"
+ integrity sha512-CCWV4RESJgRdHIvFciVQFnCHfqyhXWchTPlkfp28Qc53ufs+doi5I/cV2+xeK9+qEo25XCWfP9MiL+WEPAZfdA==
+ dependencies:
+ aes-js "^3.1.2"
+ bs58check "^2.1.2"
+ ethereum-cryptography "^0.1.3"
+ ethereumjs-util "^7.1.2"
+ randombytes "^2.1.0"
+ scrypt-js "^3.0.1"
+ utf8 "^3.0.0"
+ uuid "^8.3.2"
+
+ethers@^4.0.32:
+ version "4.0.49"
+ resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.49.tgz#0eb0e9161a0c8b4761be547396bbe2fb121a8894"
+ integrity sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==
+ dependencies:
+ aes-js "3.0.0"
+ bn.js "^4.11.9"
+ elliptic "6.5.4"
+ hash.js "1.1.3"
+ js-sha3 "0.5.7"
+ scrypt-js "2.0.4"
+ setimmediate "1.0.4"
+ uuid "2.0.1"
+ xmlhttprequest "1.8.0"
+
+ethers@^5.0.13:
+ version "5.5.1"
+ resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.5.1.tgz#d3259a95a42557844aa543906c537106c0406fbf"
+ integrity sha512-RodEvUFZI+EmFcE6bwkuJqpCYHazdzeR1nMzg+YWQSmQEsNtfl1KHGfp/FWZYl48bI/g7cgBeP2IlPthjiVngw==
+ dependencies:
+ "@ethersproject/abi" "5.5.0"
+ "@ethersproject/abstract-provider" "5.5.1"
+ "@ethersproject/abstract-signer" "5.5.0"
+ "@ethersproject/address" "5.5.0"
+ "@ethersproject/base64" "5.5.0"
+ "@ethersproject/basex" "5.5.0"
+ "@ethersproject/bignumber" "5.5.0"
+ "@ethersproject/bytes" "5.5.0"
+ "@ethersproject/constants" "5.5.0"
+ "@ethersproject/contracts" "5.5.0"
+ "@ethersproject/hash" "5.5.0"
+ "@ethersproject/hdnode" "5.5.0"
+ "@ethersproject/json-wallets" "5.5.0"
+ "@ethersproject/keccak256" "5.5.0"
+ "@ethersproject/logger" "5.5.0"
+ "@ethersproject/networks" "5.5.0"
+ "@ethersproject/pbkdf2" "5.5.0"
+ "@ethersproject/properties" "5.5.0"
+ "@ethersproject/providers" "5.5.0"
+ "@ethersproject/random" "5.5.0"
+ "@ethersproject/rlp" "5.5.0"
+ "@ethersproject/sha2" "5.5.0"
+ "@ethersproject/signing-key" "5.5.0"
+ "@ethersproject/solidity" "5.5.0"
+ "@ethersproject/strings" "5.5.0"
+ "@ethersproject/transactions" "5.5.0"
+ "@ethersproject/units" "5.5.0"
+ "@ethersproject/wallet" "5.5.0"
+ "@ethersproject/web" "5.5.0"
+ "@ethersproject/wordlists" "5.5.0"
+
+ethjs-unit@0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699"
+ integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=
+ dependencies:
+ bn.js "4.11.6"
+ number-to-bn "1.7.0"
+
+ethjs-util@0.1.6, ethjs-util@^0.1.3:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536"
+ integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==
+ dependencies:
+ is-hex-prefixed "1.0.0"
+ strip-hex-prefix "1.0.0"
+
+event-emitter@~0.3.5:
+ version "0.3.5"
+ resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
+ integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=
+ dependencies:
+ d "1"
+ es5-ext "~0.10.14"
+
+event-iterator@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/event-iterator/-/event-iterator-1.2.0.tgz#2e71dc6ca56f1cf8ebcb2b9be7fdfd10acabbb76"
+ integrity sha512-Daq7YUl0Mv1i4QEgzGQlz0jrx7hUFNyLGbiF+Ap7NCMCjDLCCnolyj6s0TAc6HmrBziO5rNVHsPwGMp7KdRPvw==
+
+event-iterator@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/event-iterator/-/event-iterator-2.0.0.tgz#10f06740cc1e9fd6bc575f334c2bc1ae9d2dbf62"
+ integrity sha512-KGft0ldl31BZVV//jj+IAIGCxkvvUkkON+ScH6zfoX+l+omX6001ggyRSpI0Io2Hlro0ThXotswCtfzS8UkIiQ==
+
+event-target-shim@^5.0.0, event-target-shim@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
+ integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
+
+eventemitter3@4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384"
+ integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==
+
+eventemitter3@^3.0.0, eventemitter3@^3.1.0, eventemitter3@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7"
+ integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==
+
+events@^1.0.0, events@^1.0.2:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
+ integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=
+
+events@^3.0.0, events@^3.2.0, events@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
+ integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
+
+evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
+ integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
+ dependencies:
+ md5.js "^1.3.4"
+ safe-buffer "^5.1.1"
+
+exec-sh@^0.3.2:
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc"
+ integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==
+
+execa@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
+ integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=
+ dependencies:
+ cross-spawn "^5.0.1"
+ get-stream "^3.0.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
+execa@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
+ integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
+ dependencies:
+ cross-spawn "^6.0.0"
+ get-stream "^4.0.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
+exit-on-epipe@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692"
+ integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==
+
+expand-brackets@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
+ integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=
+ dependencies:
+ is-posix-bracket "^0.1.0"
+
+expand-brackets@^2.1.4:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
+ integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
+ dependencies:
+ debug "^2.3.3"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ posix-character-classes "^0.1.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+expand-range@^1.8.1:
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
+ integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=
+ dependencies:
+ fill-range "^2.1.0"
+
+expand-tilde@^2.0.0, expand-tilde@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
+ integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=
+ dependencies:
+ homedir-polyfill "^1.0.1"
+
+expo-application@~4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/expo-application/-/expo-application-4.0.0.tgz#ff629bd441da1b40d299fb84f5740715ece745ba"
+ integrity sha512-7n8i0O9n/YCCkP3rU0udC4qdG4Sn4lOzNxFyG9eTwJ5SyCdDNxKdz22j+sUmYYhtx6fjcJLKR0sjq3zSGAwZag==
+
+expo-asset@~8.4.3:
+ version "8.4.3"
+ resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-8.4.3.tgz#a65be884361926ef5f19ea0621edc36a2f502605"
+ integrity sha512-cnMXzmJUndLFocflq1d/WzmGB5cbzoDhwqs8v9eNwkZVY/BOIODvsI56fY+s0mKL4KpmE3+sV2VTbyYFBbF3Tw==
+ dependencies:
+ blueimp-md5 "^2.10.0"
+ invariant "^2.2.4"
+ md5-file "^3.2.3"
+ path-browserify "^1.0.0"
+ url-parse "^1.4.4"
+
+expo-constants@~12.1.1, expo-constants@~12.1.3:
+ version "12.1.3"
+ resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-12.1.3.tgz#bec48a42a7760b010450961c209bb4b1158b9cd6"
+ integrity sha512-HXlMTPn9pnJdMju3WcwX4oEB7EOECOTzdIPaG3JEluygqzafwKLMR8BE82+64jgAxlGIWZsYl+3Ni9wuTFQeYw==
+ dependencies:
+ "@expo/config" "^5.0.9"
+ expo-modules-core "~0.4.4"
+ uuid "^3.3.2"
+
+expo-error-recovery@~3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/expo-error-recovery/-/expo-error-recovery-3.0.3.tgz#43ded4320ed3a1136f976ed07805303b6069c618"
+ integrity sha512-0rKo/b1DPIFMuyaLnH0vZ6pVw0I8bq3kWMY1TLFnvWNCCJ/1nyQN+TydsmRx5eju0dr2byGWgK+y9sZ3/GZfXQ==
+ dependencies:
+ expo-modules-core "~0.4.4"
+
+expo-file-system@~13.0.3:
+ version "13.0.3"
+ resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-13.0.3.tgz#f8b3c47e0e7ecfd767043ed4c0aba6b207367678"
+ integrity sha512-i65brB1Nd0upWigXMXrN4YSvj5cP77tB4hNCXoWYVaqRKpUnVlEku2FjQ/xVfIWLJMYrFHHC0Kgz/OKsNzQTpg==
+ dependencies:
+ "@expo/config-plugins" "^4.0.2"
+ expo-modules-core "~0.4.4"
+ uuid "^3.4.0"
+
+expo-font@^10.0.3, expo-font@~10.0.3:
+ version "10.0.3"
+ resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-10.0.3.tgz#655817f3e62f39bc906adda4c3a2fec052ef040a"
+ integrity sha512-xM5oqIduGvJ+qbsZHjMNNt+3hhjOMTunHUtOx5rAmW/D1ZVdfLwjDwOyWBVkH8ChoBRAZy9gsC2cRs7naw8NIw==
+ dependencies:
+ expo-modules-core "~0.4.4"
+ fontfaceobserver "^2.1.0"
+
+expo-keep-awake@~10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-10.0.0.tgz#275a3e02f99bc0429790047add126c1dcce60d63"
+ integrity sha512-x5zRTjIvSry/EISKvjWpnLERGZj5maCwEouOfiDk0JPa0UTg/zFkT7pmiadAfHT95XUgjjb2DOku+wj6J7el7Q==
+
+expo-linking@^2.4.2:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/expo-linking/-/expo-linking-2.4.2.tgz#b042f196c9a21ee0de25ca98763592d45524b6f2"
+ integrity sha512-uwUaC0npP2jQCyFD7+KfJqT+tde/WDcj56lkhd9hewnPGaYsd98pNStT74ZbMD9ewz/0WW+kjevyfmgLSe58UQ==
+ dependencies:
+ expo-constants "~12.1.1"
+ invariant "^2.2.4"
+ qs "^6.5.0"
+ url-parse "^1.4.4"
+
+expo-modules-autolinking@~0.3.4:
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-0.3.4.tgz#25ce32ca933fedab2a5eb139e91327d123aa6066"
+ integrity sha512-Mu3CIMqEAI8aNM18U/l+7CCi+afU8dERrKjDDEx/Hu7XX3v3FcnnP+NuWDLY/e9/ETzwTJaqoRoBuzhawsuLWw==
+ dependencies:
+ chalk "^4.1.0"
+ commander "^7.2.0"
+ fast-glob "^3.2.5"
+ find-up "~5.0.0"
+ fs-extra "^9.1.0"
+
+expo-modules-core@~0.4.4, expo-modules-core@~0.4.7, expo-modules-core@~0.4.8:
+ version "0.4.8"
+ resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-0.4.8.tgz#6fed03fca9370793b0a4bebc4fe1a44b213ed445"
+ integrity sha512-PElvF9/mw8TZ0FG3cQkQHB1yZEvtSrQ9nh90pINuTwmIUrxC427rgGoPrALsMaX90h94jTkPHODXHuX+Xsl/rg==
+ dependencies:
+ compare-versions "^3.4.0"
+ invariant "^2.2.4"
+
+expo-splash-screen@^0.13.5:
+ version "0.13.5"
+ resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.13.5.tgz#ece76c092f2ce88e4660a70e532ed47909a01ddd"
+ integrity sha512-L/L0XlmmxSoyuooCVvbPBO4xUF9kAs+F0+fML3pf7miBOnTd/v9j5riKSmaDthNtM4AarXxgi0AXzSHQ1M3rZg==
+ dependencies:
+ "@expo/configure-splash-screen" "^0.6.0"
+ "@expo/prebuild-config" "^3.0.6"
+ expo-modules-core "~0.4.7"
+
+expo-status-bar@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/expo-status-bar/-/expo-status-bar-1.1.0.tgz#b1015a69c8563b7cadcb5b6c726227397610725d"
+ integrity sha512-XgAbGfDV/Q6br2h4yzQwcZRYi37bZ/nvc06vvaJ7i7w9tRxb05OJmXBxl7ywkKlFCMcN6q3Miaf2wnzEgMwJoQ==
+
+expo@~43.0.2:
+ version "43.0.3"
+ resolved "https://registry.yarnpkg.com/expo/-/expo-43.0.3.tgz#230df8248f10b2530c894acea6af75a01881a69c"
+ integrity sha512-X4lLvoUuUbjj1n3DOjZ+w9TfNbEvNMRWvbOzYNYwS4FMB04Gt2RvQYYP8mXWbBZz0+b/s/Q+u67jj0+LMdxyfg==
+ dependencies:
+ "@babel/runtime" "^7.14.0"
+ "@expo/metro-config" "~0.1.84"
+ "@expo/vector-icons" "^12.0.4"
+ babel-preset-expo "~8.5.1"
+ cross-spawn "^6.0.5"
+ expo-application "~4.0.0"
+ expo-asset "~8.4.3"
+ expo-constants "~12.1.3"
+ expo-file-system "~13.0.3"
+ expo-font "~10.0.3"
+ expo-keep-awake "~10.0.0"
+ expo-modules-autolinking "~0.3.4"
+ expo-modules-core "~0.4.8"
+ fbemitter "^2.1.1"
+ invariant "^2.2.2"
+ md5-file "^3.2.3"
+ pretty-format "^26.4.0"
+ uuid "^3.4.0"
+ optionalDependencies:
+ expo-error-recovery "~3.0.3"
+
+express@^4.0.0, express@^4.14.0, express@^4.17.1:
+ version "4.17.1"
+ resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
+ integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
+ dependencies:
+ accepts "~1.3.7"
+ array-flatten "1.1.1"
+ body-parser "1.19.0"
+ content-disposition "0.5.3"
+ content-type "~1.0.4"
+ cookie "0.4.0"
+ cookie-signature "1.0.6"
+ debug "2.6.9"
+ depd "~1.1.2"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ finalhandler "~1.1.2"
+ fresh "0.5.2"
+ merge-descriptors "1.0.1"
+ methods "~1.1.2"
+ on-finished "~2.3.0"
+ parseurl "~1.3.3"
+ path-to-regexp "0.1.7"
+ proxy-addr "~2.0.5"
+ qs "6.7.0"
+ range-parser "~1.2.1"
+ safe-buffer "5.1.2"
+ send "0.17.1"
+ serve-static "1.14.1"
+ setprototypeof "1.1.1"
+ statuses "~1.5.0"
+ type-is "~1.6.18"
+ utils-merge "1.0.1"
+ vary "~1.1.2"
+
+ext@^1.1.2:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52"
+ integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==
+ dependencies:
+ type "^2.5.0"
+
+extend-shallow@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071"
+ integrity sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=
+ dependencies:
+ kind-of "^1.1.0"
+
+extend-shallow@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
+ dependencies:
+ is-extendable "^0.1.0"
+
+extend-shallow@^3.0.0, extend-shallow@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
+ integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
+ dependencies:
+ assign-symbols "^1.0.0"
+ is-extendable "^1.0.1"
+
+extend@^3.0.0, extend@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+
+external-editor@^2.0.4:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5"
+ integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==
+ dependencies:
+ chardet "^0.4.0"
+ iconv-lite "^0.4.17"
+ tmp "^0.0.33"
+
+extglob@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
+ integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=
+ dependencies:
+ is-extglob "^1.0.0"
+
+extglob@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
+ integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
+ dependencies:
+ array-unique "^0.3.2"
+ define-property "^1.0.0"
+ expand-brackets "^2.1.4"
+ extend-shallow "^2.0.1"
+ fragment-cache "^0.2.1"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+extract-comments@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/extract-comments/-/extract-comments-1.1.0.tgz#b90bca033a056bd69b8ba1c6b6b120fc2ee95c18"
+ integrity sha512-dzbZV2AdSSVW/4E7Ti5hZdHWbA+Z80RJsJhr5uiL10oyjl/gy7/o+HI1HwK4/WSZhlq4SNKU3oUzXlM13Qx02Q==
+ dependencies:
+ esprima-extract-comments "^1.1.0"
+ parse-code-context "^1.0.0"
+
+extract-files@9.0.0, extract-files@^9.0.0:
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-9.0.0.tgz#8a7744f2437f81f5ed3250ed9f1550de902fe54a"
+ integrity sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==
+
+extsprintf@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+ integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
+
+extsprintf@^1.2.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07"
+ integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==
+
+faker@^5.3.1:
+ version "5.5.3"
+ resolved "https://registry.yarnpkg.com/faker/-/faker-5.5.3.tgz#c57974ee484431b25205c2c8dc09fda861e51e0e"
+ integrity sha512-wLTv2a28wjUyWkbnX7u/ABZBkUkIF2fCd73V6P2oFqEGEktDfzWx4UxrSqtPRw0xPRAcjeAOIiJWqZm3pP4u3g==
+
+fancy-log@^1.3.2:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7"
+ integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==
+ dependencies:
+ ansi-gray "^0.1.1"
+ color-support "^1.1.3"
+ parse-node-version "^1.0.0"
+ time-stamp "^1.0.0"
+
+fast-check@^2.12.1:
+ version "2.20.0"
+ resolved "https://registry.yarnpkg.com/fast-check/-/fast-check-2.20.0.tgz#0c88d8640649e981adb501ef92f90a26dc8bd628"
+ integrity sha512-tFNjLyPnOUg6iimVxOtoWMJOIyybCo7B8gUGm1yv43jDCQ0hlPUn0fmna/XO/n1yPxn/dxQw3+IygPSbMDiiog==
+ dependencies:
+ pure-rand "^5.0.0"
+
+fast-deep-equal@^3.1.1:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-fifo@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.0.0.tgz#9bc72e6860347bb045a876d1c5c0af11e9b984e7"
+ integrity sha512-4VEXmjxLj7sbs8J//cn2qhRap50dGzF5n8fjay8mau+Jn4hxSeR3xPFwxMaQq/pDaq7+KQk0PAbC2+nWDkJrmQ==
+
+fast-future@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/fast-future/-/fast-future-1.0.2.tgz#8435a9aaa02d79248d17d704e76259301d99280a"
+ integrity sha1-hDWpqqAteSSNF9cE52JZMB2ZKAo=
+
+fast-glob@^3.1.1, fast-glob@^3.2.5:
+ version "3.2.7"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1"
+ integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.2"
+ merge2 "^1.3.0"
+ micromatch "^4.0.4"
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fast-levenshtein@~2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+ integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+
+fast-sha256@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/fast-sha256/-/fast-sha256-1.3.0.tgz#7916ba2054eeb255982608cccd0f6660c79b7ae6"
+ integrity sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ==
+
+fastestsmallesttextencoderdecoder@^1.0.22:
+ version "1.0.22"
+ resolved "https://registry.yarnpkg.com/fastestsmallesttextencoderdecoder/-/fastestsmallesttextencoderdecoder-1.0.22.tgz#59b47e7b965f45258629cc6c127bf783281c5e93"
+ integrity sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==
+
+fastq@^1.6.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"
+ integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
+ dependencies:
+ reusify "^1.0.4"
+
+fb-watchman@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85"
+ integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==
+ dependencies:
+ bser "2.1.1"
+
+fbemitter@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/fbemitter/-/fbemitter-2.1.1.tgz#523e14fdaf5248805bb02f62efc33be703f51865"
+ integrity sha1-Uj4U/a9SSIBbsC9i78M75wP1GGU=
+ dependencies:
+ fbjs "^0.8.4"
+
+fbjs-css-vars@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8"
+ integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==
+
+fbjs-scripts@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/fbjs-scripts/-/fbjs-scripts-1.2.0.tgz#069a0c0634242d10031c6460ef1fccefcdae8b27"
+ integrity sha512-5krZ8T0Bf8uky0abPoCLrfa7Orxd8UH4Qq8hRUF2RZYNMu+FmEOrBc7Ib3YVONmxTXTlLAvyrrdrVmksDb2OqQ==
+ dependencies:
+ "@babel/core" "^7.0.0"
+ ansi-colors "^1.0.1"
+ babel-preset-fbjs "^3.2.0"
+ core-js "^2.4.1"
+ cross-spawn "^5.1.0"
+ fancy-log "^1.3.2"
+ object-assign "^4.0.1"
+ plugin-error "^0.1.2"
+ semver "^5.1.0"
+ through2 "^2.0.0"
+
+fbjs@^0.8.4:
+ version "0.8.18"
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.18.tgz#9835e0addb9aca2eff53295cd79ca1cfc7c9662a"
+ integrity sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==
+ dependencies:
+ core-js "^1.0.0"
+ isomorphic-fetch "^2.1.1"
+ loose-envify "^1.0.0"
+ object-assign "^4.1.0"
+ promise "^7.1.1"
+ setimmediate "^1.0.5"
+ ua-parser-js "^0.7.30"
+
+fbjs@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-1.0.0.tgz#52c215e0883a3c86af2a7a776ed51525ae8e0a5a"
+ integrity sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==
+ dependencies:
+ core-js "^2.4.1"
+ fbjs-css-vars "^1.0.0"
+ isomorphic-fetch "^2.1.1"
+ loose-envify "^1.0.0"
+ object-assign "^4.1.0"
+ promise "^7.1.1"
+ setimmediate "^1.0.5"
+ ua-parser-js "^0.7.18"
+
+fbjs@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.1.tgz#70a053d34a96c2b513b559eaea124daed49ace64"
+ integrity sha512-8+vkGyT4lNDRKHQNPp0yh/6E7FfkLg89XqQbOYnvntRh+8RiSD43yrh9E5ejp1muCizTL4nDVG+y8W4e+LROHg==
+ dependencies:
+ cross-fetch "^3.0.4"
+ fbjs-css-vars "^1.0.0"
+ loose-envify "^1.0.0"
+ object-assign "^4.1.0"
+ promise "^7.1.1"
+ setimmediate "^1.0.5"
+ ua-parser-js "^0.7.30"
+
+fetch-cookie@0.10.1:
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/fetch-cookie/-/fetch-cookie-0.10.1.tgz#5ea88f3d36950543c87997c27ae2aeafb4b5c4d4"
+ integrity sha512-beB+VEd4cNeVG1PY+ee74+PkuCQnik78pgLi5Ah/7qdUfov8IctU0vLUbBT8/10Ma5GMBeI4wtxhGrEfKNYs2g==
+ dependencies:
+ tough-cookie "^2.3.3 || ^3.0.1 || ^4.0.0"
+
+fetch-cookie@0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/fetch-cookie/-/fetch-cookie-0.7.0.tgz#a6fc137ad8363aa89125864c6451b86ecb7de802"
+ integrity sha512-Mm5pGlT3agW6t71xVM7vMZPIvI7T4FaTuFW4jari6dVzYHFDb3WZZsGpN22r/o3XMdkM0E7sPd1EGeyVbH2Tgg==
+ dependencies:
+ es6-denodeify "^0.1.1"
+ tough-cookie "^2.3.1"
+
+figures@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
+ integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+file-uri-to-path@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
+ integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
+
+filecoin.js@^0.0.5-alpha:
+ version "0.0.5-alpha"
+ resolved "https://registry.yarnpkg.com/filecoin.js/-/filecoin.js-0.0.5-alpha.tgz#cf6f14ae0715e88c290aeacfe813ff48a69442cd"
+ integrity sha512-xPrB86vDnTPfmvtN/rJSrhl4M77694ruOgNXd0+5gP67mgmCDhStLCqcr+zHIDRgDpraf7rY+ELbwjXZcQNdpQ==
+ dependencies:
+ "@ledgerhq/hw-transport-webusb" "^5.22.0"
+ "@nodefactory/filsnap-adapter" "^0.2.1"
+ "@nodefactory/filsnap-types" "^0.2.1"
+ "@zondax/filecoin-signing-tools" "github:Digital-MOB-Filecoin/filecoin-signing-tools-js"
+ bignumber.js "^9.0.0"
+ bitcore-lib "^8.22.2"
+ bitcore-mnemonic "^8.22.2"
+ btoa-lite "^1.0.0"
+ events "^3.2.0"
+ isomorphic-ws "^4.0.1"
+ node-fetch "^2.6.0"
+ rpc-websockets "^5.3.1"
+ scrypt-async "^2.0.1"
+ tweetnacl "^1.0.3"
+ tweetnacl-util "^0.15.1"
+ websocket "^1.0.31"
+ ws "^7.3.1"
+
+filename-regex@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
+ integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=
+
+fill-range@^2.1.0:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565"
+ integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==
+ dependencies:
+ is-number "^2.1.0"
+ isobject "^2.0.0"
+ randomatic "^3.0.0"
+ repeat-element "^1.1.2"
+ repeat-string "^1.5.2"
+
+fill-range@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
+ integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+ to-regex-range "^2.1.0"
+
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
+finalhandler@1.1.2, finalhandler@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
+ integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
+ dependencies:
+ debug "2.6.9"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ on-finished "~2.3.0"
+ parseurl "~1.3.3"
+ statuses "~1.5.0"
+ unpipe "~1.0.0"
+
+find-babel-config@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.2.0.tgz#a9b7b317eb5b9860cda9d54740a8c8337a2283a2"
+ integrity sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==
+ dependencies:
+ json5 "^0.5.1"
+ path-exists "^3.0.0"
+
+find-cache-dir@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
+ integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
+ dependencies:
+ commondir "^1.0.1"
+ make-dir "^2.0.0"
+ pkg-dir "^3.0.0"
+
+find-up@3.0.0, find-up@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
+ integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
+ dependencies:
+ locate-path "^3.0.0"
+
+find-up@5.0.0, find-up@~5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+ integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+ dependencies:
+ locate-path "^6.0.0"
+ path-exists "^4.0.0"
+
+find-up@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+ integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=
+ dependencies:
+ path-exists "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+find-up@^2.0.0, find-up@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
+ dependencies:
+ locate-path "^2.0.0"
+
+find-up@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+ integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+ dependencies:
+ locate-path "^5.0.0"
+ path-exists "^4.0.0"
+
+first-chunk-stream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e"
+ integrity sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=
+
+flat@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.1.tgz#a392059cc382881ff98642f5da4dde0a959f309b"
+ integrity sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==
+ dependencies:
+ is-buffer "~2.0.3"
+
+flow-parser@0.*:
+ version "0.165.1"
+ resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.165.1.tgz#e420c560d0c9bd0e546b9f1b79afed37174298c5"
+ integrity sha512-vz/5MZIePDCZO9FfnRaH398cc+XSwtgoUzR6pC5zbekpk5ttCaXOnxypho+hb0NzUyQNFV+6vpU8joRZ1llrCw==
+
+flow-parser@^0.121.0:
+ version "0.121.0"
+ resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.121.0.tgz#9f9898eaec91a9f7c323e9e992d81ab5c58e618f"
+ integrity sha512-1gIBiWJNR0tKUNv8gZuk7l9rVX06OuLzY9AoGio7y/JT4V1IZErEMEq2TJS+PFcw/y0RshZ1J/27VfK1UQzYVg==
+
+follow-redirects@^1.10.0:
+ version "1.14.5"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381"
+ integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==
+
+fontfaceobserver@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fontfaceobserver/-/fontfaceobserver-2.1.0.tgz#e2705d293e2c585a6531c2a722905657317a2991"
+ integrity sha512-ReOsO2F66jUa0jmv2nlM/s1MiutJx/srhAe2+TE8dJCMi02ZZOcCTxTCQFr3Yet+uODUtnr4Mewg+tNQ+4V1Ng==
+
+for-each@^0.3.3:
+ version "0.3.3"
+ resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
+ integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
+ dependencies:
+ is-callable "^1.1.3"
+
+for-in@^0.1.3:
+ version "0.1.8"
+ resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1"
+ integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=
+
+for-in@^1.0.1, for-in@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+ integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
+
+for-own@^0.1.3, for-own@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
+ integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=
+ dependencies:
+ for-in "^1.0.1"
+
+foreach@^2.0.4, foreach@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
+ integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k=
+
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+ integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
+
+form-data@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682"
+ integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
+form-data@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
+ integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
+form-data@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
+ integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
+form-data@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
+ integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.6"
+ mime-types "^2.1.12"
+
+forwarded@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
+ integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
+
+fp-ts@2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-2.1.1.tgz#c910544499d7c959351bb4260ee7c44a544084c1"
+ integrity sha512-YcWhMdDCFCja0MmaDroTgNu+NWWrrnUEn92nvDgrtVy9Z71YFnhNVIghoHPt8gs82ijoMzFGeWKvArbyICiJgw==
+
+fragment-cache@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
+ integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
+ dependencies:
+ map-cache "^0.2.2"
+
+fresh@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+ integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
+
+fs-capacitor@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/fs-capacitor/-/fs-capacitor-2.0.4.tgz#5a22e72d40ae5078b4fe64fe4d08c0d3fc88ad3c"
+ integrity sha512-8S4f4WsCryNw2mJJchi46YgB6CR5Ze+4L1h8ewl9tEpL4SJ3ZO+c/bS4BWhB8bK+O3TMqhuZarTitd0S0eh2pA==
+
+fs-extra@5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd"
+ integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
+fs-extra@9.0.0:
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.0.tgz#b6afc31036e247b2466dc99c29ae797d5d4580a3"
+ integrity sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==
+ dependencies:
+ at-least-node "^1.0.0"
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^1.0.0"
+
+fs-extra@^0.30.0:
+ version "0.30.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0"
+ integrity sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^2.1.0"
+ klaw "^1.0.0"
+ path-is-absolute "^1.0.0"
+ rimraf "^2.2.8"
+
+fs-extra@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950"
+ integrity sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^2.1.0"
+ klaw "^1.0.0"
+
+fs-extra@^4.0.2:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
+ integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
+fs-extra@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
+ integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
+fs-extra@^9.0.0, fs-extra@^9.0.1, fs-extra@^9.1.0:
+ version "9.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
+ integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
+ dependencies:
+ at-least-node "^1.0.0"
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
+fs-minipass@^1.2.7:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
+ integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==
+ dependencies:
+ minipass "^2.6.0"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+
+fsevents@^1.2.7:
+ version "1.2.13"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38"
+ integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==
+ dependencies:
+ bindings "^1.5.0"
+ nan "^2.12.1"
+
+fsevents@^2.1.2, fsevents@~2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+ integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+
+fsevents@~2.1.2:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
+ integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
+
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+functional-red-black-tree@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+ integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
+
+ganache-cli@^6.1.0:
+ version "6.12.2"
+ resolved "https://registry.yarnpkg.com/ganache-cli/-/ganache-cli-6.12.2.tgz#c0920f7db0d4ac062ffe2375cb004089806f627a"
+ integrity sha512-bnmwnJDBDsOWBUP8E/BExWf85TsdDEFelQSzihSJm9VChVO1SHp94YXLP5BlA4j/OTxp0wR4R1Tje9OHOuAJVw==
+ dependencies:
+ ethereumjs-util "6.2.1"
+ source-map-support "0.5.12"
+ yargs "13.2.4"
+
+gauge@~2.7.3:
+ version "2.7.4"
+ resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
+ integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
+ dependencies:
+ aproba "^1.0.3"
+ console-control-strings "^1.0.0"
+ has-unicode "^2.0.0"
+ object-assign "^4.1.0"
+ signal-exit "^3.0.0"
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ wide-align "^1.1.0"
+
+gensync@^1.0.0-beta.2:
+ version "1.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
+ integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
+
+get-caller-file@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
+ integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==
+
+get-caller-file@^2.0.1:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+ integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
+get-func-name@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
+ integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=
+
+get-installed-path@^2.0.3:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/get-installed-path/-/get-installed-path-2.1.1.tgz#a1f33dc6b8af542c9331084e8edbe37fe2634152"
+ integrity sha512-Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA==
+ dependencies:
+ global-modules "1.0.0"
+
+get-installed-path@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/get-installed-path/-/get-installed-path-4.0.8.tgz#a4fee849f5f327c12c551bb37477acd5151e5f7d"
+ integrity sha512-PmANK1xElIHlHH2tXfOoTnSDUjX1X3GvKK6ZyLbUnSCCn1pADwu67eVWttuPzJWrXDDT2MfO6uAaKILOFfitmA==
+ dependencies:
+ global-modules "1.0.0"
+
+get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
+ integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
+ dependencies:
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.1"
+
+get-iterator@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/get-iterator/-/get-iterator-1.0.2.tgz#cd747c02b4c084461fac14f48f6b45a80ed25c82"
+ integrity sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==
+
+get-params@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/get-params/-/get-params-0.1.2.tgz#bae0dfaba588a0c60d7834c0d8dc2ff60eeef2fe"
+ integrity sha1-uuDfq6WIoMYNeDTA2Nwv9g7u8v4=
+
+get-prototype-of@0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/get-prototype-of/-/get-prototype-of-0.0.0.tgz#98772bd10716d16deb4b322516c469efca28ac44"
+ integrity sha1-mHcr0QcW0W3rSzIlFsRp78oorEQ=
+
+get-stream@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
+ integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
+
+get-stream@^4.0.0, get-stream@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
+ integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
+ dependencies:
+ pump "^3.0.0"
+
+get-stream@^5.1.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
+ integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
+ dependencies:
+ pump "^3.0.0"
+
+get-symbol-description@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
+ integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
+ dependencies:
+ call-bind "^1.0.2"
+ get-intrinsic "^1.1.1"
+
+get-value@^2.0.3, get-value@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
+ integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
+
+getenv@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/getenv/-/getenv-1.0.0.tgz#874f2e7544fbca53c7a4738f37de8605c3fcfc31"
+ integrity sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==
+
+getpass@^0.1.1:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
+ dependencies:
+ assert-plus "^1.0.0"
+
+glob-base@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+ integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=
+ dependencies:
+ glob-parent "^2.0.0"
+ is-glob "^2.0.0"
+
+glob-parent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+ integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=
+ dependencies:
+ is-glob "^2.0.0"
+
+glob-parent@^3.0.0, glob-parent@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
+ integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
+ dependencies:
+ is-glob "^3.1.0"
+ path-dirname "^1.0.0"
+
+glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+ dependencies:
+ is-glob "^4.0.1"
+
+glob-stream@^5.3.2:
+ version "5.3.5"
+ resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22"
+ integrity sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=
+ dependencies:
+ extend "^3.0.0"
+ glob "^5.0.3"
+ glob-parent "^3.0.0"
+ micromatch "^2.3.7"
+ ordered-read-streams "^0.3.0"
+ through2 "^0.6.0"
+ to-absolute-glob "^0.1.1"
+ unique-stream "^2.0.2"
+
+glob@7.1.3:
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
+ integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@7.1.6:
+ version "7.1.6"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
+ integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^5.0.3:
+ version "5.0.15"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
+ integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=
+ dependencies:
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "2 || 3"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.1.6:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
+ integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+global-modules@1.0.0, global-modules@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
+ integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==
+ dependencies:
+ global-prefix "^1.0.1"
+ is-windows "^1.0.1"
+ resolve-dir "^1.0.0"
+
+global-prefix@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
+ integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=
+ dependencies:
+ expand-tilde "^2.0.2"
+ homedir-polyfill "^1.0.1"
+ ini "^1.3.4"
+ is-windows "^1.0.1"
+ which "^1.2.14"
+
+global@~4.4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406"
+ integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==
+ dependencies:
+ min-document "^2.19.0"
+ process "^0.11.10"
+
+globals@^11.1.0:
+ version "11.12.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
+ integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+
+globals@^9.18.0:
+ version "9.18.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
+ integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
+
+globalthis@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.2.tgz#2a235d34f4d8036219f7e34929b5de9e18166b8b"
+ integrity sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==
+ dependencies:
+ define-properties "^1.1.3"
+
+globby@11.0.3:
+ version "11.0.3"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb"
+ integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.1.1"
+ ignore "^5.1.4"
+ merge2 "^1.3.0"
+ slash "^3.0.0"
+
+globby@11.0.4:
+ version "11.0.4"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5"
+ integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.1.1"
+ ignore "^5.1.4"
+ merge2 "^1.3.0"
+ slash "^3.0.0"
+
+google-libphonenumber@^3.2.15:
+ version "3.2.25"
+ resolved "https://registry.yarnpkg.com/google-libphonenumber/-/google-libphonenumber-3.2.25.tgz#3bc1a041fa392739d201eacf66761df236f1614b"
+ integrity sha512-M/b5mij5o2aGnbe+Id9O3847jBtP0baW61foFkevxBxbuV4LH9AcujjYLd2UVkUPKVdMpKyBZxfeNwdxqobQFQ==
+
+google-protobuf@^3.13.0, google-protobuf@^3.17.3:
+ version "3.19.1"
+ resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.19.1.tgz#5af5390e8206c446d8f49febaffd4b7f4ac28f41"
+ integrity sha512-Isv1RlNC+IzZzilcxnlVSf+JvuhxmY7DaxYCBy+zPS9XVuJRtlTTIXR9hnZ1YL1MMusJn/7eSy2swCzZIomQSg==
+
+got@9.6.0:
+ version "9.6.0"
+ resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
+ integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==
+ dependencies:
+ "@sindresorhus/is" "^0.14.0"
+ "@szmarczak/http-timer" "^1.1.2"
+ cacheable-request "^6.0.0"
+ decompress-response "^3.3.0"
+ duplexer3 "^0.1.4"
+ get-stream "^4.1.0"
+ lowercase-keys "^1.0.1"
+ mimic-response "^1.0.1"
+ p-cancelable "^1.0.0"
+ to-readable-stream "^1.0.0"
+ url-parse-lax "^3.0.0"
+
+got@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a"
+ integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==
+ dependencies:
+ decompress-response "^3.2.0"
+ duplexer3 "^0.1.4"
+ get-stream "^3.0.0"
+ is-plain-obj "^1.1.0"
+ is-retry-allowed "^1.0.0"
+ is-stream "^1.0.0"
+ isurl "^1.0.0-alpha5"
+ lowercase-keys "^1.0.0"
+ p-cancelable "^0.3.0"
+ p-timeout "^1.1.1"
+ safe-buffer "^5.0.1"
+ timed-out "^4.0.0"
+ url-parse-lax "^1.0.0"
+ url-to-options "^1.0.1"
+
+graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4:
+ version "4.2.8"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a"
+ integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==
+
+grapheme-splitter@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
+ integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
+
+graphql-extensions@^0.15.0:
+ version "0.15.0"
+ resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.15.0.tgz#3f291f9274876b0c289fa4061909a12678bd9817"
+ integrity sha512-bVddVO8YFJPwuACn+3pgmrEg6I8iBuYLuwvxiE+lcQQ7POotVZxm2rgGw0PvVYmWWf3DT7nTVDZ5ROh/ALp8mA==
+ dependencies:
+ "@apollographql/apollo-tools" "^0.5.0"
+ apollo-server-env "^3.1.0"
+ apollo-server-types "^0.9.0"
+
+graphql-subscriptions@^1.0.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-1.2.1.tgz#2142b2d729661ddf967b7388f7cf1dd4cf2e061d"
+ integrity sha512-95yD/tKi24q8xYa7Q9rhQN16AYj5wPbrb8tmHGM3WRc9EBmWrG/0kkMl+tQG8wcEuE9ibR4zyOM31p5Sdr2v4g==
+ dependencies:
+ iterall "^1.3.0"
+
+graphql-tag@^2.11.0, graphql-tag@^2.12.3:
+ version "2.12.6"
+ resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1"
+ integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==
+ dependencies:
+ tslib "^2.1.0"
+
+graphql-tools@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.8.tgz#e7fb9f0d43408fb0878ba66b522ce871bafe9d30"
+ integrity sha512-MW+ioleBrwhRjalKjYaLQbr+920pHBgy9vM/n47sswtns8+96sRn5M/G+J1eu7IMeKWiN/9p6tmwCHU7552VJg==
+ dependencies:
+ apollo-link "^1.2.14"
+ apollo-utilities "^1.0.1"
+ deprecated-decorator "^0.1.6"
+ iterall "^1.1.3"
+ uuid "^3.1.0"
+
+graphql-tools@^6.2.4:
+ version "6.2.6"
+ resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-6.2.6.tgz#557c6d32797a02988f214bd596dec2abd12425dd"
+ integrity sha512-OyhSvK5ALVVD6bFiWjAqv2+lRyvjIRfb6Br5Tkjrv++rxnXDodPH/zhMbDGRw+W3SD5ioGEEz84yO48iPiN7jA==
+ dependencies:
+ "@graphql-tools/batch-delegate" "^6.2.6"
+ "@graphql-tools/code-file-loader" "^6.2.4"
+ "@graphql-tools/delegate" "^6.2.4"
+ "@graphql-tools/git-loader" "^6.2.4"
+ "@graphql-tools/github-loader" "^6.2.4"
+ "@graphql-tools/graphql-file-loader" "^6.2.4"
+ "@graphql-tools/graphql-tag-pluck" "^6.2.4"
+ "@graphql-tools/import" "^6.2.4"
+ "@graphql-tools/json-file-loader" "^6.2.4"
+ "@graphql-tools/links" "^6.2.4"
+ "@graphql-tools/load" "^6.2.4"
+ "@graphql-tools/load-files" "^6.2.4"
+ "@graphql-tools/merge" "^6.2.4"
+ "@graphql-tools/mock" "^6.2.4"
+ "@graphql-tools/module-loader" "^6.2.4"
+ "@graphql-tools/relay-operation-optimizer" "^6.2.4"
+ "@graphql-tools/resolvers-composition" "^6.2.4"
+ "@graphql-tools/schema" "^6.2.4"
+ "@graphql-tools/stitch" "^6.2.4"
+ "@graphql-tools/url-loader" "^6.2.4"
+ "@graphql-tools/utils" "^6.2.4"
+ "@graphql-tools/wrap" "^6.2.4"
+ tslib "~2.0.1"
+
+graphql-ws@^4.4.1:
+ version "4.9.0"
+ resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-4.9.0.tgz#5cfd8bb490b35e86583d8322f5d5d099c26e365c"
+ integrity sha512-sHkK9+lUm20/BGawNEWNtVAeJzhZeBg21VmvmLoT5NdGVeZWv5PdIhkcayQIAgjSyyQ17WMKmbDijIPG2On+Ag==
+
+graphql@^15.3.0:
+ version "15.7.2"
+ resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.7.2.tgz#85ab0eeb83722977151b3feb4d631b5f2ab287ef"
+ integrity sha512-AnnKk7hFQFmU/2I9YSQf3xw44ctnSFCfp3zE0N6W174gqe9fWG/2rKaKxROK7CcI3XtERpjEKFqts8o319Kf7A==
+
+growl@1.10.5:
+ version "1.10.5"
+ resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
+ integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==
+
+gulp-sourcemaps@^1.5.2:
+ version "1.12.1"
+ resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.12.1.tgz#b437d1f3d980cf26e81184823718ce15ae6597b6"
+ integrity sha1-tDfR89mAzyboEYSCNxjOFa5ll7Y=
+ dependencies:
+ "@gulp-sourcemaps/map-sources" "1.X"
+ acorn "4.X"
+ convert-source-map "1.X"
+ css "2.X"
+ debug-fabulous "0.0.X"
+ detect-newline "2.X"
+ graceful-fs "4.X"
+ source-map "~0.6.0"
+ strip-bom "2.X"
+ through2 "2.X"
+ vinyl "1.X"
+
+har-schema@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+ integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
+
+har-validator@~5.1.3:
+ version "5.1.5"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
+ integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
+ dependencies:
+ ajv "^6.12.3"
+ har-schema "^2.0.0"
+
+has-ansi@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
+ dependencies:
+ ansi-regex "^2.0.0"
+
+has-bigints@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113"
+ integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==
+
+has-flag@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
+ integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=
+
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+ integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has-symbol-support-x@^1.4.1:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455"
+ integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==
+
+has-symbols@^1.0.0, has-symbols@^1.0.1, has-symbols@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
+ integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
+
+has-to-string-tag-x@^1.2.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d"
+ integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==
+ dependencies:
+ has-symbol-support-x "^1.4.1"
+
+has-tostringtag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
+ integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
+ dependencies:
+ has-symbols "^1.0.2"
+
+has-unicode@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+ integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
+
+has-value@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
+ integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
+ dependencies:
+ get-value "^2.0.3"
+ has-values "^0.1.4"
+ isobject "^2.0.0"
+
+has-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
+ integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
+ dependencies:
+ get-value "^2.0.6"
+ has-values "^1.0.0"
+ isobject "^3.0.0"
+
+has-values@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
+ integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
+
+has-values@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
+ integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
+ dependencies:
+ is-number "^3.0.0"
+ kind-of "^4.0.0"
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
+hash-base@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
+ integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
+ dependencies:
+ inherits "^2.0.4"
+ readable-stream "^3.6.0"
+ safe-buffer "^5.2.0"
+
+hash.js@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846"
+ integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==
+ dependencies:
+ inherits "^2.0.3"
+ minimalistic-assert "^1.0.0"
+
+hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
+ integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
+ dependencies:
+ inherits "^2.0.3"
+ minimalistic-assert "^1.0.1"
+
+he@1.2.0, he@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
+ integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+
+header-case@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d"
+ integrity sha1-lTWXMZfBRLCWE81l0xfvGZY70C0=
+ dependencies:
+ no-case "^2.2.0"
+ upper-case "^1.1.3"
+
+hermes-engine@~0.5.0:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.5.1.tgz#601115e4b1e0a17d9aa91243b96277de4e926e09"
+ integrity sha512-hLwqh8dejHayjlpvZY40e1aDCDvyP98cWx/L5DhAjSJLH8g4z9Tp08D7y4+3vErDsncPOdf1bxm+zUWpx0/Fxg==
+
+hermes-engine@~0.7.0:
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.7.2.tgz#303cd99d23f68e708b223aec2d49d5872985388b"
+ integrity sha512-E2DkRaO97gwL98LPhgfkMqhHiNsrAjIfEk3wWYn2Y31xdkdWn0572H7RnVcGujMJVqZNJvtknxlpsUb8Wzc3KA==
+
+hermes-profile-transformer@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz#bd0f5ecceda80dd0ddaae443469ab26fb38fc27b"
+ integrity sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==
+ dependencies:
+ source-map "^0.7.3"
+
+highlight.js@^10.4.1:
+ version "10.7.3"
+ resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531"
+ integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==
+
+highlightjs-solidity@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/highlightjs-solidity/-/highlightjs-solidity-2.0.2.tgz#87ffdec3c51ae8b6def42d50f9a40b4676f57e4e"
+ integrity sha512-q0aYUKiZ9MPQg41qx/KpXKaCpqql50qTvmwGYyLFfcjt9AE/+C9CwjVIdJZc7EYj6NGgJuFJ4im1gfgrzUU1fQ==
+
+hmac-drbg@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
+ integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
+ dependencies:
+ hash.js "^1.0.3"
+ minimalistic-assert "^1.0.0"
+ minimalistic-crypto-utils "^1.0.1"
+
+hoist-non-react-statics@^3.3.2:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
+ integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
+ dependencies:
+ react-is "^16.7.0"
+
+homedir-polyfill@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
+ integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==
+ dependencies:
+ parse-passwd "^1.0.0"
+
+hosted-git-info@^2.1.4:
+ version "2.8.9"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
+ integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
+
+htmlparser2@^3.9.1:
+ version "3.10.1"
+ resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
+ integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==
+ dependencies:
+ domelementtype "^1.3.1"
+ domhandler "^2.3.0"
+ domutils "^1.5.1"
+ entities "^1.1.1"
+ inherits "^2.0.1"
+ readable-stream "^3.1.1"
+
+htmlparser2@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7"
+ integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.0.0"
+ domutils "^2.5.2"
+ entities "^2.0.0"
+
+htmlparser2@~3.8.1:
+ version "3.8.3"
+ resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068"
+ integrity sha1-mWwosZFRaovoZQGn15dX5ccMEGg=
+ dependencies:
+ domelementtype "1"
+ domhandler "2.3"
+ domutils "1.5"
+ entities "1.0"
+ readable-stream "1.1"
+
+http-cache-semantics@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
+ integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
+
+http-errors@1.7.2:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
+ integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.3"
+ setprototypeof "1.1.1"
+ statuses ">= 1.5.0 < 2"
+ toidentifier "1.0.0"
+
+http-errors@^1.7.3:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c"
+ integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.4"
+ setprototypeof "1.2.0"
+ statuses ">= 1.5.0 < 2"
+ toidentifier "1.0.1"
+
+http-errors@~1.7.2:
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
+ integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.4"
+ setprototypeof "1.1.1"
+ statuses ">= 1.5.0 < 2"
+ toidentifier "1.0.0"
+
+http-https@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b"
+ integrity sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=
+
+http-signature@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+ integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
+ dependencies:
+ assert-plus "^1.0.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
+https-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
+ integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
+
+hyphenate-style-name@^1.0.2, hyphenate-style-name@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d"
+ integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==
+
+ice-cap@0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/ice-cap/-/ice-cap-0.0.4.tgz#8a6d31ab4cac8d4b56de4fa946df3352561b6e18"
+ integrity sha1-im0xq0ysjUtW3k+pRt8zUlYbbhg=
+ dependencies:
+ cheerio "0.20.0"
+ color-logger "0.0.3"
+
+iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.4:
+ version "0.4.24"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
+iconv-lite@^0.6.2:
+ version "0.6.3"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
+ integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3.0.0"
+
+idna-uts46-hx@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9"
+ integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==
+ dependencies:
+ punycode "2.1.0"
+
+ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
+ignore-walk@^3.0.1:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335"
+ integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==
+ dependencies:
+ minimatch "^3.0.4"
+
+ignore@^5.1.4:
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.9.tgz#9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb"
+ integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==
+
+image-size@^0.6.0:
+ version "0.6.3"
+ resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.6.3.tgz#e7e5c65bb534bd7cdcedd6cb5166272a85f75fb2"
+ integrity sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==
+
+immediate@3.0.6:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
+ integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=
+
+immediate@3.3.0, immediate@^3.2.2, immediate@^3.2.3:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266"
+ integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==
+
+immediate@~3.2.3:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c"
+ integrity sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=
+
+immutable@~3.7.6:
+ version "3.7.6"
+ resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b"
+ integrity sha1-E7TTyxK++hVIKib+Gy665kAHHks=
+
+import-fresh@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
+ integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY=
+ dependencies:
+ caller-path "^2.0.0"
+ resolve-from "^3.0.0"
+
+import-from@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966"
+ integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==
+ dependencies:
+ resolve-from "^5.0.0"
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+inherits@2.0.1, inherits@=2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
+ integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
+
+inherits@2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+ integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
+
+ini@^1.3.4, ini@~1.3.0:
+ version "1.3.8"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
+ integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
+
+inline-style-prefixer@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-6.0.1.tgz#c5c0e43ba8831707afc5f5bbfd97edf45c1fa7ae"
+ integrity sha512-AsqazZ8KcRzJ9YPN1wMH2aNM7lkWQ8tSPrW5uDk1ziYwiAPWSZnUsC7lfZq+BDqLqz0B4Pho5wscWcJzVvRzDQ==
+ dependencies:
+ css-in-js-utils "^2.0.0"
+
+inquirer@^3.0.6:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
+ integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==
+ dependencies:
+ ansi-escapes "^3.0.0"
+ chalk "^2.0.0"
+ cli-cursor "^2.1.0"
+ cli-width "^2.0.0"
+ external-editor "^2.0.4"
+ figures "^2.0.0"
+ lodash "^4.3.0"
+ mute-stream "0.0.7"
+ run-async "^2.2.0"
+ rx-lite "^4.0.8"
+ rx-lite-aggregates "^4.0.8"
+ string-width "^2.1.0"
+ strip-ansi "^4.0.0"
+ through "^2.3.6"
+
+internal-slot@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c"
+ integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==
+ dependencies:
+ get-intrinsic "^1.1.0"
+ has "^1.0.3"
+ side-channel "^1.0.4"
+
+interpret@^1.0.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
+ integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
+
+invariant@^2.2.2, invariant@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+ integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
+ dependencies:
+ loose-envify "^1.0.0"
+
+invert-kv@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+ integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY=
+
+invert-kv@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
+ integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==
+
+io-ts@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-2.0.1.tgz#1261c12f915c2f48d16393a36966636b48a45aa1"
+ integrity sha512-RezD+WcCfW4VkMkEcQWL/Nmy/nqsWTvTYg7oUmTGzglvSSV2P9h2z1PVeREPFf0GWNzruYleAt1XCMQZSg1xxQ==
+
+ip-regex@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd"
+ integrity sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=
+
+ip-regex@^4.0.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5"
+ integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==
+
+ip@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
+ integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
+
+ipaddr.js@1.9.1:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
+ integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
+
+ipfs-core-types@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/ipfs-core-types/-/ipfs-core-types-0.2.1.tgz#460bf2116477ce621995468c962c685dbdc4ac6f"
+ integrity sha512-q93+93qSybku6woZaajE9mCrHeVoMzNtZ7S5m/zx0+xHRhnoLlg8QNnGGsb5/+uFQt/RiBArsIw/Q61K9Jwkzw==
+ dependencies:
+ cids "^1.1.5"
+ multiaddr "^8.0.0"
+ peer-id "^0.14.1"
+
+ipfs-core-utils@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/ipfs-core-utils/-/ipfs-core-utils-0.6.1.tgz#59d1ca9ff4a33bbf6497c4abe024573c3fd7d784"
+ integrity sha512-UFIklwE3CFcsNIhYFDuz0qB7E2QtdFauRfc76kskgiqhGWcjqqiDeND5zBCrAy0u8UMaDqAbFl02f/mIq1yKXw==
+ dependencies:
+ any-signal "^2.0.0"
+ blob-to-it "^1.0.1"
+ browser-readablestream-to-it "^1.0.1"
+ cids "^1.1.5"
+ err-code "^2.0.3"
+ ipfs-core-types "^0.2.1"
+ ipfs-utils "^5.0.0"
+ it-all "^1.0.4"
+ it-map "^1.0.4"
+ it-peekable "^1.0.1"
+ multiaddr "^8.0.0"
+ multiaddr-to-uri "^6.0.0"
+ parse-duration "^0.4.4"
+ timeout-abort-controller "^1.1.1"
+ uint8arrays "^1.1.0"
+
+ipfs-http-client@^48.2.2:
+ version "48.2.2"
+ resolved "https://registry.yarnpkg.com/ipfs-http-client/-/ipfs-http-client-48.2.2.tgz#b570fb99866f94df1c394a6101a2eb750ff46599"
+ integrity sha512-f3ppfWe913SJLvunm0UgqdA1dxVZSGQJPaEVJtqgjxPa5x0fPDiBDdo60g2MgkW1W6bhF9RGlxvHHIE9sv/tdg==
+ dependencies:
+ any-signal "^2.0.0"
+ bignumber.js "^9.0.0"
+ cids "^1.1.5"
+ debug "^4.1.1"
+ form-data "^3.0.0"
+ ipfs-core-types "^0.2.1"
+ ipfs-core-utils "^0.6.1"
+ ipfs-utils "^5.0.0"
+ ipld-block "^0.11.0"
+ ipld-dag-cbor "^0.17.0"
+ ipld-dag-pb "^0.20.0"
+ ipld-raw "^6.0.0"
+ it-last "^1.0.4"
+ it-map "^1.0.4"
+ it-tar "^1.2.2"
+ it-to-stream "^0.1.2"
+ merge-options "^2.0.0"
+ multiaddr "^8.0.0"
+ multibase "^3.0.0"
+ multicodec "^2.0.1"
+ multihashes "^3.0.1"
+ nanoid "^3.1.12"
+ native-abort-controller "~0.0.3"
+ parse-duration "^0.4.4"
+ stream-to-it "^0.2.2"
+ uint8arrays "^1.1.0"
+
+ipfs-utils@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/ipfs-utils/-/ipfs-utils-5.0.1.tgz#7c0053d5e77686f45577257a73905d4523e6b4f7"
+ integrity sha512-28KZPgO4Uf5duT2ORLAYfboUp98iUshDD7yRAfbNxNAR8Dtidfn6o20rZfoXnkri2zKBVIPlJkuCPmPJB+6erg==
+ dependencies:
+ abort-controller "^3.0.0"
+ any-signal "^2.1.0"
+ buffer "^6.0.1"
+ electron-fetch "^1.7.2"
+ err-code "^2.0.0"
+ fs-extra "^9.0.1"
+ is-electron "^2.2.0"
+ iso-url "^1.0.0"
+ it-glob "0.0.10"
+ it-to-stream "^0.1.2"
+ merge-options "^2.0.0"
+ nanoid "^3.1.3"
+ native-abort-controller "0.0.3"
+ native-fetch "^2.0.0"
+ node-fetch "^2.6.0"
+ stream-to-it "^0.2.0"
+
+ipld-block@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/ipld-block/-/ipld-block-0.11.1.tgz#c3a7b41aee3244187bd87a73f980e3565d299b6e"
+ integrity sha512-sDqqLqD5qh4QzGq6ssxLHUCnH4emCf/8F8IwjQM2cjEEIEHMUj57XhNYgmGbemdYPznUhffxFGEHsruh5+HQRw==
+ dependencies:
+ cids "^1.0.0"
+
+ipld-dag-cbor@^0.17.0:
+ version "0.17.1"
+ resolved "https://registry.yarnpkg.com/ipld-dag-cbor/-/ipld-dag-cbor-0.17.1.tgz#842e6c250603e5791049168831a425ec03471fb1"
+ integrity sha512-Bakj/cnxQBdscORyf4LRHxQJQfoaY8KWc7PWROQgX+aw5FCzBt8ga0VM/59K+ABOznsqNvyLR/wz/oYImOpXJw==
+ dependencies:
+ borc "^2.1.2"
+ cids "^1.0.0"
+ is-circular "^1.0.2"
+ multicodec "^3.0.1"
+ multihashing-async "^2.0.0"
+ uint8arrays "^2.1.3"
+
+ipld-dag-pb@^0.20.0:
+ version "0.20.0"
+ resolved "https://registry.yarnpkg.com/ipld-dag-pb/-/ipld-dag-pb-0.20.0.tgz#025c0343aafe6cb9db395dd1dc93c8c60a669360"
+ integrity sha512-zfM0EdaolqNjAxIrtpuGKvXxWk5YtH9jKinBuQGTcngOsWFQhyybGCTJHGNGGtRjHNJi2hz5Udy/8pzv4kcKyg==
+ dependencies:
+ cids "^1.0.0"
+ class-is "^1.1.0"
+ multicodec "^2.0.0"
+ multihashing-async "^2.0.0"
+ protons "^2.0.0"
+ reset "^0.1.0"
+ run "^1.4.0"
+ stable "^0.1.8"
+ uint8arrays "^1.0.0"
+
+ipld-raw@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/ipld-raw/-/ipld-raw-6.0.0.tgz#74d947fcd2ce4e0e1d5bb650c1b5754ed8ea6da0"
+ integrity sha512-UK7fjncAzs59iu/o2kwYtb8jgTtW6B+cNWIiNpAJkfRwqoMk1xD/6i25ktzwe4qO8gQgoR9RxA5ibC23nq8BLg==
+ dependencies:
+ cids "^1.0.0"
+ multicodec "^2.0.0"
+ multihashing-async "^2.0.0"
+
+is-accessor-descriptor@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
+ integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-accessor-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
+ integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
+ dependencies:
+ kind-of "^6.0.0"
+
+is-arguments@^1.0.4, is-arguments@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b"
+ integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
+ dependencies:
+ call-bind "^1.0.2"
+ has-tostringtag "^1.0.0"
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
+
+is-arrayish@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
+ integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
+
+is-bigint@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
+ integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
+ dependencies:
+ has-bigints "^1.0.1"
+
+is-binary-path@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=
+ dependencies:
+ binary-extensions "^1.0.0"
+
+is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ dependencies:
+ binary-extensions "^2.0.0"
+
+is-boolean-object@^1.1.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
+ integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
+ dependencies:
+ call-bind "^1.0.2"
+ has-tostringtag "^1.0.0"
+
+is-buffer@^1.0.2, is-buffer@^1.1.5:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+ integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
+
+is-buffer@~2.0.3:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191"
+ integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==
+
+is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
+ integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
+
+is-capitalized@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-capitalized/-/is-capitalized-1.0.0.tgz#4c8464b4d91d3e4eeb44889dd2cd8f1b0ac4c136"
+ integrity sha1-TIRktNkdPk7rRIid0s2PGwrEwTY=
+
+is-ci@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
+ integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
+ dependencies:
+ ci-info "^2.0.0"
+
+is-circular@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-circular/-/is-circular-1.0.2.tgz#2e0ab4e9835f4c6b0ea2b9855a84acd501b8366c"
+ integrity sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA==
+
+is-class@0.0.4:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/is-class/-/is-class-0.0.4.tgz#e057451705bb34e39e3e33598c93a9837296b736"
+ integrity sha1-4FdFFwW7NOOePjNZjJOpg3KWtzY=
+
+is-core-module@^2.2.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548"
+ integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==
+ dependencies:
+ has "^1.0.3"
+
+is-data-descriptor@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
+ integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-data-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
+ integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
+ dependencies:
+ kind-of "^6.0.0"
+
+is-date-object@^1.0.1:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
+ integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
+ dependencies:
+ has-tostringtag "^1.0.0"
+
+is-descriptor@^0.1.0:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
+ integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
+ dependencies:
+ is-accessor-descriptor "^0.1.6"
+ is-data-descriptor "^0.1.4"
+ kind-of "^5.0.0"
+
+is-descriptor@^1.0.0, is-descriptor@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
+ integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
+ dependencies:
+ is-accessor-descriptor "^1.0.0"
+ is-data-descriptor "^1.0.0"
+ kind-of "^6.0.2"
+
+is-directory@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
+ integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
+
+is-dotfile@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
+ integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=
+
+is-electron@^2.2.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/is-electron/-/is-electron-2.2.1.tgz#751b1dd8a74907422faa5c35aaa0cf66d98086e9"
+ integrity sha512-r8EEQQsqT+Gn0aXFx7lTFygYQhILLCB+wn0WCDL5LZRINeLH/Rvw1j2oKodELLXYNImQ3CRlVsY8wW4cGOsyuw==
+
+is-equal-shallow@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
+ integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=
+ dependencies:
+ is-primitive "^2.0.0"
+
+is-extendable@^0.1.0, is-extendable@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+ integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
+
+is-extendable@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
+ integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
+ dependencies:
+ is-plain-object "^2.0.4"
+
+is-extglob@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+ integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=
+
+is-extglob@^2.1.0, is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
+
+is-finite@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3"
+ integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==
+
+is-fullwidth-code-point@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+ integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+is-function@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08"
+ integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==
+
+is-generator-function@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72"
+ integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
+ dependencies:
+ has-tostringtag "^1.0.0"
+
+is-glob@4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
+ integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-glob@^2.0.0, is-glob@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+ integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=
+ dependencies:
+ is-extglob "^1.0.0"
+
+is-glob@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
+ integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
+ dependencies:
+ is-extglob "^2.1.0"
+
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-hex-prefixed@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554"
+ integrity sha1-fY035q135dEnFIkTxXPggtd39VQ=
+
+is-ip@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8"
+ integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==
+ dependencies:
+ ip-regex "^4.0.0"
+
+is-lower-case@^1.1.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393"
+ integrity sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=
+ dependencies:
+ lower-case "^1.1.0"
+
+is-map@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127"
+ integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==
+
+is-negative-zero@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
+ integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
+
+is-number-object@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0"
+ integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==
+ dependencies:
+ has-tostringtag "^1.0.0"
+
+is-number@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+ integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-number@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
+ integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-number@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
+ integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==
+
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-obj@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
+ integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
+
+is-object@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf"
+ integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==
+
+is-plain-obj@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+ integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
+
+is-plain-obj@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
+ integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
+
+is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+ integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
+ dependencies:
+ isobject "^3.0.1"
+
+is-posix-bracket@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
+ integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=
+
+is-primitive@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+ integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU=
+
+is-promise@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3"
+ integrity sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==
+
+is-regex@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
+ integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
+ dependencies:
+ call-bind "^1.0.2"
+ has-tostringtag "^1.0.0"
+
+is-retry-allowed@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4"
+ integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==
+
+is-set@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec"
+ integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==
+
+is-shared-array-buffer@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6"
+ integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==
+
+is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+ integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
+
+is-string@^1.0.5, is-string@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
+ integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
+ dependencies:
+ has-tostringtag "^1.0.0"
+
+is-symbol@^1.0.2, is-symbol@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
+ integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
+ dependencies:
+ has-symbols "^1.0.2"
+
+is-typed-array@^1.1.3, is-typed-array@^1.1.7:
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.8.tgz#cbaa6585dc7db43318bc5b89523ea384a6f65e79"
+ integrity sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==
+ dependencies:
+ available-typed-arrays "^1.0.5"
+ call-bind "^1.0.2"
+ es-abstract "^1.18.5"
+ foreach "^2.0.5"
+ has-tostringtag "^1.0.0"
+
+is-typedarray@^1.0.0, is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+ integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+
+is-upper-case@^1.1.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f"
+ integrity sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=
+ dependencies:
+ upper-case "^1.1.0"
+
+is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+ integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
+
+is-valid-glob@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe"
+ integrity sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=
+
+is-weakref@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2"
+ integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==
+ dependencies:
+ call-bind "^1.0.0"
+
+is-windows@^1.0.1, is-windows@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
+ integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
+
+is-wsl@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
+ integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
+
+isarray@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+ integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
+
+isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+ integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+
+isarray@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
+ integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+
+iso-constants@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/iso-constants/-/iso-constants-0.1.2.tgz#3d2456ed5aeaa55d18564f285ba02a47a0d885b4"
+ integrity sha512-OTCM5ZCQsHBCI4Wdu4tSxvDIkmDHd5EwJDps5mKqnQnWJSKlnwMs3EDZ4n3Fh1tmkWkDlyd2vCDbEYuPbyrUNQ==
+
+iso-random-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/iso-random-stream/-/iso-random-stream-2.0.0.tgz#3f0118166d5443148bbc134345fb100002ad0f1d"
+ integrity sha512-lGuIu104KfBV9ubYTSaE3GeAr6I69iggXxBHbTBc5u/XKlwlWl0LCytnkIZissaKqvxablwRD9B3ktVnmIUnEg==
+ dependencies:
+ events "^3.3.0"
+ readable-stream "^3.4.0"
+
+iso-url@^1.0.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/iso-url/-/iso-url-1.2.1.tgz#db96a49d8d9a64a1c889fc07cc525d093afb1811"
+ integrity sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==
+
+iso-url@~0.4.7:
+ version "0.4.7"
+ resolved "https://registry.yarnpkg.com/iso-url/-/iso-url-0.4.7.tgz#de7e48120dae46921079fe78f325ac9e9217a385"
+ integrity sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==
+
+isobject@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
+ dependencies:
+ isarray "1.0.0"
+
+isobject@^3.0.0, isobject@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+ integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
+
+isomorphic-fetch@^2.1.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
+ integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=
+ dependencies:
+ node-fetch "^1.0.1"
+ whatwg-fetch ">=0.10.0"
+
+isomorphic-ws@4.0.1, isomorphic-ws@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc"
+ integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==
+
+isstream@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+ integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
+
+isurl@^1.0.0-alpha5:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67"
+ integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==
+ dependencies:
+ has-to-string-tag-x "^1.2.0"
+ is-object "^1.0.1"
+
+it-all@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/it-all/-/it-all-1.0.6.tgz#852557355367606295c4c3b7eff0136f07749335"
+ integrity sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==
+
+it-concat@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/it-concat/-/it-concat-1.0.3.tgz#84db9376e4c77bf7bc1fd933bb90f184e7cef32b"
+ integrity sha512-sjeZQ1BWQ9U/W2oI09kZgUyvSWzQahTkOkLIsnEPgyqZFaF9ME5gV6An4nMjlyhXKWQMKEakQU8oRHs2SdmeyA==
+ dependencies:
+ bl "^4.0.0"
+
+it-drain@^1.0.3:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/it-drain/-/it-drain-1.0.5.tgz#0466d4e286b37bcd32599d4e99b37a87cb8cfdf6"
+ integrity sha512-r/GjkiW1bZswC04TNmUnLxa6uovme7KKwPhc+cb1hHU65E3AByypHH6Pm91WHuvqfFsm+9ws0kPtDBV3/8vmIg==
+
+it-glob@0.0.10:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/it-glob/-/it-glob-0.0.10.tgz#4defd9286f693847c3ff483d2ff65f22e1359ad8"
+ integrity sha512-p1PR15djgPV7pxdLOW9j4WcJdla8+91rJdUU2hU2Jm68vkxpIEXK55VHBeH8Lvqh2vqLtM83t8q4BuJxue6niA==
+ dependencies:
+ fs-extra "^9.0.1"
+ minimatch "^3.0.4"
+
+it-last@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/it-last/-/it-last-1.0.6.tgz#4106232e5905ec11e16de15a0e9f7037eaecfc45"
+ integrity sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==
+
+it-map@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/it-map/-/it-map-1.0.6.tgz#6aa547e363eedcf8d4f69d8484b450bc13c9882c"
+ integrity sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==
+
+it-peekable@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/it-peekable/-/it-peekable-1.0.3.tgz#8ebe933767d9c5aa0ae4ef8e9cb3a47389bced8c"
+ integrity sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==
+
+it-reader@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/it-reader/-/it-reader-2.1.0.tgz#b1164be343f8538d8775e10fb0339f61ccf71b0f"
+ integrity sha512-hSysqWTO9Tlwc5EGjVf8JYZzw0D2FsxD/g+eNNWrez9zODxWt6QlN6JAMmycK72Mv4jHEKEXoyzUN4FYGmJaZw==
+ dependencies:
+ bl "^4.0.0"
+
+it-tar@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/it-tar/-/it-tar-1.2.2.tgz#8d79863dad27726c781a4bcc491f53c20f2866cf"
+ integrity sha512-M8V4a9I+x/vwXTjqvixcEZbQZHjwDIb8iUQ+D4M2QbhAdNs3WKVSl+45u5/F2XFx6jYMFOGzMVlKNK/uONgNIA==
+ dependencies:
+ bl "^4.0.0"
+ buffer "^5.4.3"
+ iso-constants "^0.1.2"
+ it-concat "^1.0.0"
+ it-reader "^2.0.0"
+ p-defer "^3.0.0"
+
+it-to-stream@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/it-to-stream/-/it-to-stream-0.1.2.tgz#7163151f75b60445e86b8ab1a968666acaacfe7b"
+ integrity sha512-DTB5TJRZG3untmZehcaFN0kGWl2bNv7tnJRgQHAO9QEt8jfvVRrebZtnD5NZd4SCj4WVPjl0LSrugNWE/UaZRQ==
+ dependencies:
+ buffer "^5.6.0"
+ fast-fifo "^1.0.0"
+ get-iterator "^1.0.2"
+ p-defer "^3.0.0"
+ p-fifo "^1.0.0"
+ readable-stream "^3.6.0"
+
+iter-tools@^7.0.2:
+ version "7.1.4"
+ resolved "https://registry.yarnpkg.com/iter-tools/-/iter-tools-7.1.4.tgz#94160bf2c350494ff393f87b9ac96bf029ee656a"
+ integrity sha512-4dHXdiinrNbDxN+vWAv16CW99JvT86QdNrKgpYWnzuZBXqNsGMA/VWxbAn8ZOOFCf3/R32krMdyye89/7keRcg==
+ dependencies:
+ "@babel/runtime" "^7.12.1"
+
+iterall@^1.1.3, iterall@^1.2.1, iterall@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea"
+ integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==
+
+iterate-iterator@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/iterate-iterator/-/iterate-iterator-1.0.2.tgz#551b804c9eaa15b847ea6a7cdc2f5bf1ec150f91"
+ integrity sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==
+
+iterate-value@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/iterate-value/-/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57"
+ integrity sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==
+ dependencies:
+ es-get-iterator "^1.0.2"
+ iterate-iterator "^1.0.1"
+
+jest-get-type@^24.9.0:
+ version "24.9.0"
+ resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e"
+ integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==
+
+jest-get-type@^26.3.0:
+ version "26.3.0"
+ resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0"
+ integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==
+
+jest-haste-map@^24.9.0:
+ version "24.9.0"
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d"
+ integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==
+ dependencies:
+ "@jest/types" "^24.9.0"
+ anymatch "^2.0.0"
+ fb-watchman "^2.0.0"
+ graceful-fs "^4.1.15"
+ invariant "^2.2.4"
+ jest-serializer "^24.9.0"
+ jest-util "^24.9.0"
+ jest-worker "^24.9.0"
+ micromatch "^3.1.10"
+ sane "^4.0.3"
+ walker "^1.0.7"
+ optionalDependencies:
+ fsevents "^1.2.7"
+
+jest-haste-map@^26.5.2:
+ version "26.6.2"
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa"
+ integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==
+ dependencies:
+ "@jest/types" "^26.6.2"
+ "@types/graceful-fs" "^4.1.2"
+ "@types/node" "*"
+ anymatch "^3.0.3"
+ fb-watchman "^2.0.0"
+ graceful-fs "^4.2.4"
+ jest-regex-util "^26.0.0"
+ jest-serializer "^26.6.2"
+ jest-util "^26.6.2"
+ jest-worker "^26.6.2"
+ micromatch "^4.0.2"
+ sane "^4.0.3"
+ walker "^1.0.7"
+ optionalDependencies:
+ fsevents "^2.1.2"
+
+jest-message-util@^24.9.0:
+ version "24.9.0"
+ resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3"
+ integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@jest/test-result" "^24.9.0"
+ "@jest/types" "^24.9.0"
+ "@types/stack-utils" "^1.0.1"
+ chalk "^2.0.1"
+ micromatch "^3.1.10"
+ slash "^2.0.0"
+ stack-utils "^1.0.1"
+
+jest-mock@^24.9.0:
+ version "24.9.0"
+ resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6"
+ integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==
+ dependencies:
+ "@jest/types" "^24.9.0"
+
+jest-regex-util@^26.0.0:
+ version "26.0.0"
+ resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28"
+ integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==
+
+jest-serializer@^24.9.0:
+ version "24.9.0"
+ resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73"
+ integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==
+
+jest-serializer@^26.6.2:
+ version "26.6.2"
+ resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1"
+ integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==
+ dependencies:
+ "@types/node" "*"
+ graceful-fs "^4.2.4"
+
+jest-util@^24.9.0:
+ version "24.9.0"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162"
+ integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==
+ dependencies:
+ "@jest/console" "^24.9.0"
+ "@jest/fake-timers" "^24.9.0"
+ "@jest/source-map" "^24.9.0"
+ "@jest/test-result" "^24.9.0"
+ "@jest/types" "^24.9.0"
+ callsites "^3.0.0"
+ chalk "^2.0.1"
+ graceful-fs "^4.1.15"
+ is-ci "^2.0.0"
+ mkdirp "^0.5.1"
+ slash "^2.0.0"
+ source-map "^0.6.0"
+
+jest-util@^26.6.2:
+ version "26.6.2"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1"
+ integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==
+ dependencies:
+ "@jest/types" "^26.6.2"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ graceful-fs "^4.2.4"
+ is-ci "^2.0.0"
+ micromatch "^4.0.2"
+
+jest-validate@^24.9.0:
+ version "24.9.0"
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab"
+ integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==
+ dependencies:
+ "@jest/types" "^24.9.0"
+ camelcase "^5.3.1"
+ chalk "^2.0.1"
+ jest-get-type "^24.9.0"
+ leven "^3.1.0"
+ pretty-format "^24.9.0"
+
+jest-validate@^26.5.2:
+ version "26.6.2"
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec"
+ integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==
+ dependencies:
+ "@jest/types" "^26.6.2"
+ camelcase "^6.0.0"
+ chalk "^4.0.0"
+ jest-get-type "^26.3.0"
+ leven "^3.1.0"
+ pretty-format "^26.6.2"
+
+jest-worker@^24.9.0:
+ version "24.9.0"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5"
+ integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==
+ dependencies:
+ merge-stream "^2.0.0"
+ supports-color "^6.1.0"
+
+jest-worker@^26.0.0, jest-worker@^26.6.2:
+ version "26.6.2"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed"
+ integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==
+ dependencies:
+ "@types/node" "*"
+ merge-stream "^2.0.0"
+ supports-color "^7.0.0"
+
+jetifier@^1.6.2:
+ version "1.6.8"
+ resolved "https://registry.yarnpkg.com/jetifier/-/jetifier-1.6.8.tgz#e88068697875cbda98c32472902c4d3756247798"
+ integrity sha512-3Zi16h6L5tXDRQJTb221cnRoVG9/9OvreLdLU2/ZjRv/GILL+2Cemt0IKvkowwkDpvouAU1DQPOJ7qaiHeIdrw==
+
+jimp-compact@0.16.1:
+ version "0.16.1"
+ resolved "https://registry.yarnpkg.com/jimp-compact/-/jimp-compact-0.16.1.tgz#9582aea06548a2c1e04dd148d7c3ab92075aefa3"
+ integrity sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==
+
+joi@^17.2.1:
+ version "17.4.2"
+ resolved "https://registry.yarnpkg.com/joi/-/joi-17.4.2.tgz#02f4eb5cf88e515e614830239379dcbbe28ce7f7"
+ integrity sha512-Lm56PP+n0+Z2A2rfRvsfWVDXGEWjXxatPopkQ8qQ5mxCEhwHG+Ettgg5o98FFaxilOxozoa14cFhrE/hOzh/Nw==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+ "@hapi/topo" "^5.0.0"
+ "@sideway/address" "^4.1.0"
+ "@sideway/formula" "^3.0.0"
+ "@sideway/pinpoint" "^2.0.0"
+
+js-sha3@0.5.7, js-sha3@^0.5.7:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7"
+ integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=
+
+js-sha3@0.8.0, js-sha3@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840"
+ integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==
+
+"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+js-tokens@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+ integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
+
+js-yaml@3.13.1:
+ version "3.13.1"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
+ integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+js-yaml@3.14.0:
+ version "3.14.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482"
+ integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+js-yaml@^3.13.1:
+ version "3.14.1"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
+ integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+jsan@^3.1.13:
+ version "3.1.13"
+ resolved "https://registry.yarnpkg.com/jsan/-/jsan-3.1.13.tgz#4de8c7bf8d1cfcd020c313d438f930cec4b91d86"
+ integrity sha512-9kGpCsGHifmw6oJet+y8HaCl14y7qgAsxVdV3pCHDySNR3BfDC30zgkssd7x5LRVAT22dnpbe9JdzzmXZnq9/g==
+
+jsbn@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+ integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
+
+jsc-android@^245459.0.0:
+ version "245459.0.0"
+ resolved "https://registry.yarnpkg.com/jsc-android/-/jsc-android-245459.0.0.tgz#e584258dd0b04c9159a27fb104cd5d491fd202c9"
+ integrity sha512-wkjURqwaB1daNkDi2OYYbsLnIdC/lUM2nPXQKRs5pqEU9chDg435bjvo+LSaHotDENygHQDHe+ntUkkw2gwMtg==
+
+jscodeshift@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.11.0.tgz#4f95039408f3f06b0e39bb4d53bc3139f5330e2f"
+ integrity sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==
+ dependencies:
+ "@babel/core" "^7.1.6"
+ "@babel/parser" "^7.1.6"
+ "@babel/plugin-proposal-class-properties" "^7.1.0"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.1.0"
+ "@babel/plugin-proposal-optional-chaining" "^7.1.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.1.0"
+ "@babel/preset-flow" "^7.0.0"
+ "@babel/preset-typescript" "^7.1.0"
+ "@babel/register" "^7.0.0"
+ babel-core "^7.0.0-bridge.0"
+ colors "^1.1.2"
+ flow-parser "0.*"
+ graceful-fs "^4.2.4"
+ micromatch "^3.1.10"
+ neo-async "^2.5.0"
+ node-dir "^0.1.17"
+ recast "^0.20.3"
+ temp "^0.8.1"
+ write-file-atomic "^2.3.0"
+
+jsdom@^7.0.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-7.2.2.tgz#40b402770c2bda23469096bee91ab675e3b1fc6e"
+ integrity sha1-QLQCdwwr2iNGkJa+6Rq2deOx/G4=
+ dependencies:
+ abab "^1.0.0"
+ acorn "^2.4.0"
+ acorn-globals "^1.0.4"
+ cssom ">= 0.3.0 < 0.4.0"
+ cssstyle ">= 0.2.29 < 0.3.0"
+ escodegen "^1.6.1"
+ nwmatcher ">= 1.3.7 < 2.0.0"
+ parse5 "^1.5.1"
+ request "^2.55.0"
+ sax "^1.1.4"
+ symbol-tree ">= 3.1.0 < 4.0.0"
+ tough-cookie "^2.2.0"
+ webidl-conversions "^2.0.0"
+ whatwg-url-compat "~0.6.5"
+ xml-name-validator ">= 2.0.1 < 3.0.0"
+
+jsesc@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
+ integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s=
+
+jsesc@^2.5.1:
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
+ integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
+
+jsesc@~0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
+ integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
+
+json-buffer@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
+ integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
+
+json-loader@^0.5.4:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d"
+ integrity sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==
+
+json-parse-better-errors@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
+ integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
+
+json-pointer@^0.6.0:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/json-pointer/-/json-pointer-0.6.1.tgz#3c6caa6ac139e2599f5a1659d39852154015054d"
+ integrity sha512-3OvjqKdCBvH41DLpV4iSt6v2XhZXV1bPB4OROuknvUXI7ZQNofieCPkmE26stEJ9zdQuvIxDHCuYhfgxFAAs+Q==
+ dependencies:
+ foreach "^2.0.4"
+
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-schema-traverse@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
+ integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
+
+json-schema-typed@^7.0.3:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/json-schema-typed/-/json-schema-typed-7.0.3.tgz#23ff481b8b4eebcd2ca123b4fa0409e66469a2d9"
+ integrity sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==
+
+json-schema@0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+ integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
+
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+ integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
+
+json-stable-stringify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
+ integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=
+ dependencies:
+ jsonify "~0.0.0"
+
+json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+ integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
+
+json-text-sequence@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/json-text-sequence/-/json-text-sequence-0.1.1.tgz#a72f217dc4afc4629fff5feb304dc1bd51a2f3d2"
+ integrity sha1-py8hfcSvxGKf/1/rME3BvVGi89I=
+ dependencies:
+ delimit-stream "0.1.0"
+
+json-to-ast@^2.0.3:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/json-to-ast/-/json-to-ast-2.1.0.tgz#041a9fcd03c0845036acb670d29f425cea4faaf9"
+ integrity sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==
+ dependencies:
+ code-error-fragment "0.0.230"
+ grapheme-splitter "^1.0.4"
+
+json5@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
+ integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=
+
+json5@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
+ integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
+ dependencies:
+ minimist "^1.2.0"
+
+json5@^2.1.2:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
+ integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
+ dependencies:
+ minimist "^1.2.5"
+
+jsondown@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/jsondown/-/jsondown-1.0.0.tgz#c5cc5cda65f515d2376136a104b5f535534f26e3"
+ integrity sha512-p6XxPaq59aXwcdDQV3ISMA5xk+1z6fJuctcwwSdR9iQgbYOcIrnknNrhcMGG+0FaUfKHGkdDpQNaZrovfBoyOw==
+ dependencies:
+ memdown "1.4.1"
+ mkdirp "0.5.1"
+
+jsonfile@^2.1.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
+ integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug=
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonfile@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
+ integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonfile@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
+ integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
+ dependencies:
+ universalify "^2.0.0"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonify@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
+ integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
+
+jsonpointer@^4.0.1:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.1.0.tgz#501fb89986a2389765ba09e6053299ceb4f2c2cc"
+ integrity sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==
+
+jsprim@^1.2.2:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
+ integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.3.0"
+ json-schema "0.2.3"
+ verror "1.10.0"
+
+keccak256@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/keccak256/-/keccak256-1.0.3.tgz#0a9c0383a9cda753a7351811cf69eaa607043366"
+ integrity sha512-EkF/4twuPm1V/gn75nejOUrKfDUJn87RMLzDWosXF3pXuOvesiSgX35GcmbqzdImCASEkE/WaklWGWSa+Ha5bQ==
+ dependencies:
+ bn.js "^4.11.8"
+ keccak "^3.0.1"
+
+keccak@^3.0.0, keccak@^3.0.1:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0"
+ integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==
+ dependencies:
+ node-addon-api "^2.0.0"
+ node-gyp-build "^4.2.0"
+ readable-stream "^3.6.0"
+
+keypair@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/keypair/-/keypair-1.0.4.tgz#a749a45f388593f3950f18b3757d32a93bd8ce83"
+ integrity sha512-zwhgOhhniaL7oxMgUMKKw5219PWWABMO+dgMnzJOQ2/5L3XJtTJGhW2PEXlxXj9zaccdReZJZ83+4NPhVfNVDg==
+
+keypather@^1.10.2:
+ version "1.10.2"
+ resolved "https://registry.yarnpkg.com/keypather/-/keypather-1.10.2.tgz#e0449632d4b3e516f21cc014ce7c5644fddce614"
+ integrity sha1-4ESWMtSz5RbyHMAUznxWRP3c5hQ=
+ dependencies:
+ "101" "^1.0.0"
+
+keyv@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
+ integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==
+ dependencies:
+ json-buffer "3.0.0"
+
+kind-of@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44"
+ integrity sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=
+
+kind-of@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5"
+ integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=
+ dependencies:
+ is-buffer "^1.0.2"
+
+kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
+ integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
+ integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
+
+kind-of@^6.0.0, kind-of@^6.0.2:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
+ integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+
+klaw@^1.0.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
+ integrity sha1-QIhDO0azsbolnXh4XY6W9zugJDk=
+ optionalDependencies:
+ graceful-fs "^4.1.9"
+
+kleur@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
+ integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
+
+lazy-cache@^0.2.3:
+ version "0.2.7"
+ resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65"
+ integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=
+
+lazy-cache@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
+ integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=
+
+lazy-debug-legacy@0.0.X:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz#537716c0776e4cf79e3ed1b621f7658c2911b1b1"
+ integrity sha1-U3cWwHduTPeePtG2IfdljCkRsbE=
+
+lazystream@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638"
+ integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==
+ dependencies:
+ readable-stream "^2.0.5"
+
+lcid@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
+ integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=
+ dependencies:
+ invert-kv "^1.0.0"
+
+lcid@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
+ integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==
+ dependencies:
+ invert-kv "^2.0.0"
+
+leb128@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/leb128/-/leb128-0.0.5.tgz#84524a86ef7799fb3933ce41345f6490e27ac948"
+ integrity sha512-elbNtfmu3GndZbesVF6+iQAfVjOXW9bM/aax9WwMlABZW+oK9sbAZEXoewaPHmL34sxa8kVwWsru8cNE/yn2gg==
+ dependencies:
+ bn.js "^5.0.0"
+ buffer-pipe "0.0.3"
+
+level-codec@9.0.1:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-9.0.1.tgz#042f4aa85e56d4328ace368c950811ba802b7247"
+ integrity sha512-ajFP0kJ+nyq4i6kptSM+mAvJKLOg1X5FiFPtLG9M5gCEZyBmgDi3FkDrvlMkEzrUn1cWxtvVmrvoS4ASyO/q+Q==
+
+level-codec@9.0.2, level-codec@^9.0.0:
+ version "9.0.2"
+ resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-9.0.2.tgz#fd60df8c64786a80d44e63423096ffead63d8cbc"
+ integrity sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==
+ dependencies:
+ buffer "^5.6.0"
+
+level-concat-iterator@~2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz#1d1009cf108340252cb38c51f9727311193e6263"
+ integrity sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==
+
+level-errors@^2.0.0, level-errors@~2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-2.0.1.tgz#2132a677bf4e679ce029f517c2f17432800c05c8"
+ integrity sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==
+ dependencies:
+ errno "~0.1.1"
+
+level-iterator-stream@~4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz#7ceba69b713b0d7e22fcc0d1f128ccdc8a24f79c"
+ integrity sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==
+ dependencies:
+ inherits "^2.0.4"
+ readable-stream "^3.4.0"
+ xtend "^4.0.2"
+
+level-js@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/level-js/-/level-js-4.0.2.tgz#fa51527fa38b87c4d111b0d0334de47fcda38f21"
+ integrity sha512-PeGjZsyMG4O89KHiez1zoMJxStnkM+oBIqgACjoo5PJqFiSUUm3GNod/KcbqN5ktyZa8jkG7I1T0P2u6HN9lIg==
+ dependencies:
+ abstract-leveldown "~6.0.1"
+ immediate "~3.2.3"
+ inherits "^2.0.3"
+ ltgt "^2.1.2"
+ typedarray-to-buffer "~3.1.5"
+
+level-packager@^5.0.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/level-packager/-/level-packager-5.1.1.tgz#323ec842d6babe7336f70299c14df2e329c18939"
+ integrity sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==
+ dependencies:
+ encoding-down "^6.3.0"
+ levelup "^4.3.2"
+
+level-supports@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-1.0.1.tgz#2f530a596834c7301622521988e2c36bb77d122d"
+ integrity sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==
+ dependencies:
+ xtend "^4.0.2"
+
+level-write-stream@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/level-write-stream/-/level-write-stream-1.0.0.tgz#3f7fbb679a55137c0feb303dee766e12ee13c1dc"
+ integrity sha1-P3+7Z5pVE3wP6zA97nZuEu4Twdw=
+ dependencies:
+ end-stream "~0.1.0"
+
+level@5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/level/-/level-5.0.1.tgz#8528cc1ee37ac413270129a1eab938c610be3ccb"
+ integrity sha512-wcak5OQeA4rURGacqS62R/xNHjCYnJSQDBOlm4KNUGJVE9bWv2B04TclqReYejN+oD65PzD4FsqeWoI5wNC5Lg==
+ dependencies:
+ level-js "^4.0.0"
+ level-packager "^5.0.0"
+ leveldown "^5.0.0"
+ opencollective-postinstall "^2.0.0"
+
+leveldown@5.0.2:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/leveldown/-/leveldown-5.0.2.tgz#c8edc2308c8abf893ffc81e66ab6536111cae92c"
+ integrity sha512-Ib6ygFYBleS8x2gh3C1AkVsdrUShqXpe6jSTnZ6sRycEXKhqVf+xOSkhgSnjidpPzyv0d95LJVFrYQ4NuXAqHA==
+ dependencies:
+ abstract-leveldown "~6.0.0"
+ fast-future "~1.0.2"
+ napi-macros "~1.8.1"
+ node-gyp-build "~3.8.0"
+
+leveldown@^5.0.0:
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/leveldown/-/leveldown-5.6.0.tgz#16ba937bb2991c6094e13ac5a6898ee66d3eee98"
+ integrity sha512-iB8O/7Db9lPaITU1aA2txU/cBEXAt4vWwKQRrrWuS6XDgbP4QZGj9BL2aNbwb002atoQ/lIotJkfyzz+ygQnUQ==
+ dependencies:
+ abstract-leveldown "~6.2.1"
+ napi-macros "~2.0.0"
+ node-gyp-build "~4.1.0"
+
+levelup@4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/levelup/-/levelup-4.0.2.tgz#bcb8d28d0a82ee97f1c6d00f20ea6d32c2803c5b"
+ integrity sha512-cx9PmLENwbGA3svWBEbeO2HazpOSOYSXH4VA+ahVpYyurvD+SDSfURl29VBY2qgyk+Vfy2dJd71SBRckj/EZVA==
+ dependencies:
+ deferred-leveldown "~5.0.0"
+ level-errors "~2.0.0"
+ level-iterator-stream "~4.0.0"
+ xtend "~4.0.0"
+
+levelup@4.4.0, levelup@^4.3.2:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/levelup/-/levelup-4.4.0.tgz#f89da3a228c38deb49c48f88a70fb71f01cafed6"
+ integrity sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==
+ dependencies:
+ deferred-leveldown "~5.3.0"
+ level-errors "~2.0.0"
+ level-iterator-stream "~4.0.0"
+ level-supports "~1.0.0"
+ xtend "~4.0.0"
+
+leven@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
+ integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==
+
+levn@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
+ integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
+ dependencies:
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+
+libp2p-crypto@^0.19.0:
+ version "0.19.7"
+ resolved "https://registry.yarnpkg.com/libp2p-crypto/-/libp2p-crypto-0.19.7.tgz#e96a95bd430e672a695209fe0fbd2bcbd348bc35"
+ integrity sha512-Qb5o/3WFKF2j6mYSt4UBPyi2kbKl3jYV0podBJoJCw70DlpM5Xc+oh3fFY9ToSunu8aSQQ5GY8nutjXgX/uGRA==
+ dependencies:
+ err-code "^3.0.1"
+ is-typedarray "^1.0.0"
+ iso-random-stream "^2.0.0"
+ keypair "^1.0.1"
+ multiformats "^9.4.5"
+ node-forge "^0.10.0"
+ pem-jwk "^2.0.0"
+ protobufjs "^6.11.2"
+ secp256k1 "^4.0.0"
+ uint8arrays "^3.0.0"
+ ursa-optional "^0.10.1"
+
+lines-and-columns@^1.1.6:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
+ integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+
+linked-list@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/linked-list/-/linked-list-0.1.0.tgz#798b0ff97d1b92a4fd08480f55aea4e9d49d37bf"
+ integrity sha1-eYsP+X0bkqT9CEgPVa6k6dSdN78=
+
+load-json-file@^1.0.0, load-json-file@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
+load-json-file@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
+ integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ strip-bom "^3.0.0"
+
+loader-runner@^2.3.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
+ integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
+
+loader-utils@^1.1.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
+ integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^1.0.1"
+
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
+locate-path@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
+ integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
+ dependencies:
+ p-locate "^3.0.0"
+ path-exists "^3.0.0"
+
+locate-path@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
+ integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
+ dependencies:
+ p-locate "^4.1.0"
+
+locate-path@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+ integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+ dependencies:
+ p-locate "^5.0.0"
+
+lodash-es@^4.2.1:
+ version "4.17.21"
+ resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
+ integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
+
+lodash._reinterpolate@^3.0.0, lodash._reinterpolate@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
+ integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
+
+lodash.assign@^4.0.3, lodash.assign@^4.0.6:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
+ integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=
+
+lodash.assignin@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2"
+ integrity sha1-uo31+4QesKPoBEIysOJjqNxqKKI=
+
+lodash.assigninwith@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.assigninwith/-/lodash.assigninwith-4.2.0.tgz#af02c98432ac86d93da695b4be801401971736af"
+ integrity sha1-rwLJhDKshtk9ppW0voAUAZcXNq8=
+
+lodash.clonedeep@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
+ integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=
+
+lodash.debounce@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
+ integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
+
+lodash.escaperegexp@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347"
+ integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=
+
+lodash.flatten@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
+ integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=
+
+lodash.frompairs@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.frompairs/-/lodash.frompairs-4.0.1.tgz#bc4e5207fa2757c136e573614e9664506b2b1bd2"
+ integrity sha1-vE5SB/onV8E25XNhTpZkUGsrG9I=
+
+lodash.isequal@^4.0.0, lodash.isequal@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
+ integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
+
+lodash.isstring@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
+ integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=
+
+lodash.keys@^4.0.0, lodash.keys@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205"
+ integrity sha1-oIYCrBLk+4P5H8H7ejYKTZujUgU=
+
+lodash.merge@^4.6.2:
+ version "4.6.2"
+ resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
+ integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+
+lodash.omit@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60"
+ integrity sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=
+
+lodash.partition@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.partition/-/lodash.partition-4.6.0.tgz#a38e46b73469e0420b0da1212e66d414be364ba4"
+ integrity sha1-o45GtzRp4EILDaEhLmbUFL42S6Q=
+
+lodash.pick@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
+ integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=
+
+lodash.rest@^4.0.0:
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/lodash.rest/-/lodash.rest-4.0.5.tgz#954ef75049262038c96d1fc98b28fdaf9f0772aa"
+ integrity sha1-lU73UEkmIDjJbR/Jiyj9r58Hcqo=
+
+lodash.sortby@^4.7.0:
+ version "4.7.0"
+ resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
+ integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
+
+lodash.sum@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/lodash.sum/-/lodash.sum-4.0.2.tgz#ad90e397965d803d4f1ff7aa5b2d0197f3b4637b"
+ integrity sha1-rZDjl5ZdgD1PH/eqWy0Bl/O0Y3s=
+
+lodash.template@4.2.4:
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.2.4.tgz#d053c19e8e74e38d965bf4fb495d80f109e7f7a4"
+ integrity sha1-0FPBno50442WW/T7SV2A8Qnn96Q=
+ dependencies:
+ lodash._reinterpolate "~3.0.0"
+ lodash.assigninwith "^4.0.0"
+ lodash.keys "^4.0.0"
+ lodash.rest "^4.0.0"
+ lodash.templatesettings "^4.0.0"
+ lodash.tostring "^4.0.0"
+
+lodash.template@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
+ integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==
+ dependencies:
+ lodash._reinterpolate "^3.0.0"
+ lodash.templatesettings "^4.0.0"
+
+lodash.templatesettings@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33"
+ integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==
+ dependencies:
+ lodash._reinterpolate "^3.0.0"
+
+lodash.throttle@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
+ integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=
+
+lodash.tostring@^4.0.0:
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/lodash.tostring/-/lodash.tostring-4.1.4.tgz#560c27d1f8eadde03c2cce198fef5c031d8298fb"
+ integrity sha1-Vgwn0fjq3eA8LM4Zj+9cAx2CmPs=
+
+lodash.without@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac"
+ integrity sha1-PNRXSgC2e643OpS3SHcmQFB7eqw=
+
+lodash.xor@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.xor/-/lodash.xor-4.5.0.tgz#4d48ed7e98095b0632582ba714d3ff8ae8fb1db6"
+ integrity sha1-TUjtfpgJWwYyWCunFNP/iuj7HbY=
+
+lodash.zipwith@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.zipwith/-/lodash.zipwith-4.2.0.tgz#afacf03fd2f384af29e263c3c6bda3b80e3f51fd"
+ integrity sha1-r6zwP9LzhK8p4mPDxr2juA4/Uf0=
+
+lodash@4.17.21, lodash@^4.1.0, lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.3.0:
+ version "4.17.21"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+log-symbols@2.2.0, log-symbols@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
+ integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==
+ dependencies:
+ chalk "^2.0.1"
+
+log-symbols@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920"
+ integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==
+ dependencies:
+ chalk "^4.0.0"
+
+logkitty@^0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/logkitty/-/logkitty-0.7.1.tgz#8e8d62f4085a826e8d38987722570234e33c6aa7"
+ integrity sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==
+ dependencies:
+ ansi-fragments "^0.2.1"
+ dayjs "^1.8.15"
+ yargs "^15.1.0"
+
+loglevel@^1.6.6, loglevel@^1.6.7, loglevel@^1.6.8, loglevel@^1.7.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114"
+ integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==
+
+long@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
+ integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
+
+longest@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
+ integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=
+
+loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
+ integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
+ dependencies:
+ js-tokens "^3.0.0 || ^4.0.0"
+
+lower-case-first@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1"
+ integrity sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=
+ dependencies:
+ lower-case "^1.1.2"
+
+lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
+ integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
+
+lower-case@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28"
+ integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==
+ dependencies:
+ tslib "^2.0.3"
+
+lowercase-keys@^1.0.0, lowercase-keys@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
+ integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
+
+lowercase-keys@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
+ integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
+
+lru-cache@^4.0.1:
+ version "4.1.5"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
+ integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
+ dependencies:
+ pseudomap "^1.0.2"
+ yallist "^2.1.2"
+
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+ dependencies:
+ yallist "^4.0.0"
+
+ltgt@2.2.1, ltgt@^2.1.2, ltgt@~2.2.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5"
+ integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=
+
+make-dir@^2.0.0, make-dir@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
+ integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
+ dependencies:
+ pify "^4.0.1"
+ semver "^5.6.0"
+
+make-error@^1.1.1:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
+ integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
+
+makeerror@1.0.12:
+ version "1.0.12"
+ resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a"
+ integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==
+ dependencies:
+ tmpl "1.0.5"
+
+map-age-cleaner@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
+ integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==
+ dependencies:
+ p-defer "^1.0.0"
+
+map-cache@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
+ integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
+
+map-stream@0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.0.6.tgz#d2ef4eb811a28644c7a8989985c69c2fdd496827"
+ integrity sha1-0u9OuBGihkTHqJiZhcacL91JaCc=
+
+map-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
+ integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
+ dependencies:
+ object-visit "^1.0.0"
+
+marked@0.3.19:
+ version "0.3.19"
+ resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790"
+ integrity sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==
+
+math-random@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c"
+ integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==
+
+md5-file@^3.2.3:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/md5-file/-/md5-file-3.2.3.tgz#f9bceb941eca2214a4c0727f5e700314e770f06f"
+ integrity sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==
+ dependencies:
+ buffer-alloc "^1.1.0"
+
+md5.js@^1.3.4:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
+ integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+ safe-buffer "^5.1.2"
+
+mdn-data@2.0.14:
+ version "2.0.14"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50"
+ integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
+
+mdn-data@2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
+ integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==
+
+media-typer@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+ integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
+
+mem@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76"
+ integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=
+ dependencies:
+ mimic-fn "^1.0.0"
+
+mem@^4.0.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178"
+ integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==
+ dependencies:
+ map-age-cleaner "^0.1.1"
+ mimic-fn "^2.0.0"
+ p-is-promise "^2.0.0"
+
+memdown@1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/memdown/-/memdown-1.4.1.tgz#b4e4e192174664ffbae41361aa500f3119efe215"
+ integrity sha1-tOThkhdGZP+65BNhqlAPMRnv4hU=
+ dependencies:
+ abstract-leveldown "~2.7.1"
+ functional-red-black-tree "^1.0.1"
+ immediate "^3.2.3"
+ inherits "~2.0.1"
+ ltgt "~2.2.0"
+ safe-buffer "~5.1.1"
+
+memory-fs@^0.4.0, memory-fs@~0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
+ integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
+ dependencies:
+ errno "^0.1.3"
+ readable-stream "^2.0.1"
+
+memorystream@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2"
+ integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI=
+
+merge-deep@^3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.3.tgz#1a2b2ae926da8b2ae93a0ac15d90cd1922766003"
+ integrity sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==
+ dependencies:
+ arr-union "^3.1.0"
+ clone-deep "^0.2.4"
+ kind-of "^3.0.2"
+
+merge-descriptors@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
+ integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
+
+merge-options@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-2.0.0.tgz#36ca5038badfc3974dbde5e58ba89d3df80882c3"
+ integrity sha512-S7xYIeWHl2ZUKF7SDeBhGg6rfv5bKxVBdk95s/I7wVF8d+hjLSztJ/B271cnUiF6CAFduEQ5Zn3HYwAjT16DlQ==
+ dependencies:
+ is-plain-obj "^2.0.0"
+
+merge-stream@^1.0.0, merge-stream@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
+ integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=
+ dependencies:
+ readable-stream "^2.0.1"
+
+merge-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+
+merge2@^1.3.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+meros@1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/meros/-/meros-1.1.4.tgz#c17994d3133db8b23807f62bec7f0cb276cfd948"
+ integrity sha512-E9ZXfK9iQfG9s73ars9qvvvbSIkJZF5yOo9j4tcwM5tN8mUKfj/EKN5PzOr3ZH0y5wL7dLAHw3RVEfpQV9Q7VQ==
+
+methods@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+ integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
+
+metro-babel-register@0.59.0:
+ version "0.59.0"
+ resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.59.0.tgz#2bcff65641b36794cf083ba732fbc46cf870fb43"
+ integrity sha512-JtWc29erdsXO/V3loenXKw+aHUXgj7lt0QPaZKPpctLLy8kcEpI/8pfXXgVK9weXICCpCnYtYncIosAyzh0xjg==
+ dependencies:
+ "@babel/core" "^7.0.0"
+ "@babel/plugin-proposal-class-properties" "^7.0.0"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0"
+ "@babel/plugin-proposal-optional-chaining" "^7.0.0"
+ "@babel/plugin-transform-flow-strip-types" "^7.0.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.0.0"
+ "@babel/register" "^7.0.0"
+ escape-string-regexp "^1.0.5"
+
+metro-babel-register@0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.64.0.tgz#1a2d23f68da8b8ee42e78dca37ad21a5f4d3647d"
+ integrity sha512-Kf6YvE3kIRumGnjK0Q9LqGDIdnsX9eFGtNBmBuCVDuB9wGGA/5CgX8We8W7Y44dz1RGTcHJRhfw5iGg+pwC3aQ==
+ dependencies:
+ "@babel/core" "^7.0.0"
+ "@babel/plugin-proposal-class-properties" "^7.0.0"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0"
+ "@babel/plugin-proposal-optional-chaining" "^7.0.0"
+ "@babel/plugin-transform-flow-strip-types" "^7.0.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.0.0"
+ "@babel/register" "^7.0.0"
+ escape-string-regexp "^1.0.5"
+
+metro-babel-transformer@0.59.0:
+ version "0.59.0"
+ resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.59.0.tgz#dda99c75d831b00142c42c020c51c103b29f199d"
+ integrity sha512-fdZJl8rs54GVFXokxRdD7ZrQ1TJjxWzOi/xSP25VR3E8tbm3nBZqS+/ylu643qSr/IueABR+jrlqAyACwGEf6w==
+ dependencies:
+ "@babel/core" "^7.0.0"
+ metro-source-map "0.59.0"
+
+metro-babel-transformer@0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.64.0.tgz#a21f8a989a5ea60c1109456e21bd4d9374194ea0"
+ integrity sha512-itZaxKTgmKGEZWxNzbSZBc22NngrMZzoUNuU92aHSTGkYi2WH4XlvzEHsstmIKHMsRVKl75cA+mNmgk4gBFJKw==
+ dependencies:
+ "@babel/core" "^7.0.0"
+ metro-source-map "0.64.0"
+ nullthrows "^1.1.1"
+
+metro-cache-key@0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.64.0.tgz#98d0a94332453c4c52b74f72c07cc62a5c264c4f"
+ integrity sha512-O9B65G8L/fopck45ZhdRosyVZdMtUQuX5mBWEC1NRj02iWBIUPLmYMjrunqIe8vHipCMp3DtTCm/65IlBmO8jg==
+
+metro-cache@0.59.0:
+ version "0.59.0"
+ resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.59.0.tgz#ef3c055f276933979b731455dc8317d7a66f0f2d"
+ integrity sha512-ryWNkSnpyADfRpHGb8BRhQ3+k8bdT/bsxMH2O0ntlZYZ188d8nnYWmxbRvFmEzToJxe/ol4uDw0tJFAaQsN8KA==
+ dependencies:
+ jest-serializer "^24.9.0"
+ metro-core "0.59.0"
+ mkdirp "^0.5.1"
+ rimraf "^2.5.4"
+
+metro-cache@0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.64.0.tgz#a769503e12521d9e9d95ce5840ffb2efdb4e8703"
+ integrity sha512-QvGfxe/1QQYM9XOlR8W1xqE9eHDw/AgJIgYGn/TxZxBu9Zga+Rgs1omeSZju45D8w5VWgMr83ma5kACgzvOecg==
+ dependencies:
+ metro-core "0.64.0"
+ mkdirp "^0.5.1"
+ rimraf "^2.5.4"
+
+metro-config@0.59.0, metro-config@^0.59.0:
+ version "0.59.0"
+ resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.59.0.tgz#9844e388069321dd7403e49f0d495a81f9aa0fef"
+ integrity sha512-MDsknFG9vZ4Nb5VR6OUDmGHaWz6oZg/FtE3up1zVBKPVRTXE1Z+k7zypnPtMXjMh3WHs/Sy4+wU1xnceE/zdnA==
+ dependencies:
+ cosmiconfig "^5.0.5"
+ jest-validate "^24.9.0"
+ metro "0.59.0"
+ metro-cache "0.59.0"
+ metro-core "0.59.0"
+
+metro-config@0.64.0, metro-config@^0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.64.0.tgz#b634fa05cffd06b1e50e4339c200f90a42924afb"
+ integrity sha512-QhM4asnX5KhlRWaugwVGNNXhX0Z85u5nK0UQ/A90bBb4xWyXqUe20e788VtdA75rkQiiI6wXTCIHWT0afbnjwQ==
+ dependencies:
+ cosmiconfig "^5.0.5"
+ jest-validate "^26.5.2"
+ metro "0.64.0"
+ metro-cache "0.64.0"
+ metro-core "0.64.0"
+ metro-runtime "0.64.0"
+
+metro-core@0.59.0, metro-core@^0.59.0:
+ version "0.59.0"
+ resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.59.0.tgz#958cde3fe5c8cd84a78e1899af801ad69e9c83b1"
+ integrity sha512-kb5LKvV5r2pqMEzGyTid8ai2mIjW13NMduQ8oBmfha7/EPTATcTQ//s+bkhAs1toQD8vqVvjAb0cPNjWQEmcmQ==
+ dependencies:
+ jest-haste-map "^24.9.0"
+ lodash.throttle "^4.1.1"
+ metro-resolver "0.59.0"
+ wordwrap "^1.0.0"
+
+metro-core@0.64.0, metro-core@^0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.64.0.tgz#7616b27acfe7baa476f6cd6bd9e70ae64fa62541"
+ integrity sha512-v8ZQ5j72EaUwamQ8pLfHlOHTyp7SbdazvHPzFGDpHnwIQqIT0Bw3Syg8R4regTlVG3ngpeSEAi005UITljmMcQ==
+ dependencies:
+ jest-haste-map "^26.5.2"
+ lodash.throttle "^4.1.1"
+ metro-resolver "0.64.0"
+
+metro-hermes-compiler@0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.64.0.tgz#e6043d7aa924e5b2be99bd3f602e693685d15386"
+ integrity sha512-CLAjVDWGAoGhbi2ZyPHnH5YDdfrDIx6+tzFWfHGIMTZkYBXsYta9IfYXBV8lFb6BIbrXLjlXZAOoosknetMPOA==
+
+metro-inspector-proxy@0.59.0:
+ version "0.59.0"
+ resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.59.0.tgz#39d1390772d13767fc595be9a1a7074e2425cf8e"
+ integrity sha512-hPeAuQcofTOH0F+2GEZqWkvkVY1/skezSSlMocDQDaqds+Kw6JgdA7FlZXxnKmQ/jYrWUzff/pl8SUCDwuYthQ==
+ dependencies:
+ connect "^3.6.5"
+ debug "^2.2.0"
+ ws "^1.1.5"
+ yargs "^14.2.0"
+
+metro-inspector-proxy@0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.64.0.tgz#9a481b3f49773d5418e028178efec68f861bec88"
+ integrity sha512-KywbH3GNSz9Iqw4UH3smgaV2dBHHYMISeN7ORntDL/G+xfgPc6vt13d+zFb907YpUcXj5N0vdoiAHI5V/0y8IA==
+ dependencies:
+ connect "^3.6.5"
+ debug "^2.2.0"
+ ws "^1.1.5"
+ yargs "^15.3.1"
+
+metro-minify-uglify@0.59.0:
+ version "0.59.0"
+ resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.59.0.tgz#6491876308d878742f7b894d7fca4af356886dd5"
+ integrity sha512-7IzVgCVWZMymgZ/quieg/9v5EQ8QmZWAgDc86Zp9j0Vy6tQTjUn6jlU+YAKW3mfMEjMr6iIUzCD8YklX78tFAw==
+ dependencies:
+ uglify-es "^3.1.9"
+
+metro-minify-uglify@0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.64.0.tgz#da6ab4dda030e3211f5924e7f41ed308d466068f"
+ integrity sha512-DRwRstqXR5qfte9Nuwoov5dRXxL7fJeVlO5fGyOajWeO3+AgPjvjXh/UcLJqftkMWTPGUFuzAD5/7JC5v5FLWw==
+ dependencies:
+ uglify-es "^3.1.9"
+
+metro-react-native-babel-preset@0.59.0:
+ version "0.59.0"
+ resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.59.0.tgz#20e020bc6ac9849e1477de1333d303ed42aba225"
+ integrity sha512-BoO6ncPfceIDReIH8pQ5tQptcGo5yRWQXJGVXfANbiKLq4tfgdZB1C1e2rMUJ6iypmeJU9dzl+EhPmIFKtgREg==
+ dependencies:
+ "@babel/plugin-proposal-class-properties" "^7.0.0"
+ "@babel/plugin-proposal-export-default-from" "^7.0.0"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0"
+ "@babel/plugin-proposal-object-rest-spread" "^7.0.0"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.0.0"
+ "@babel/plugin-proposal-optional-chaining" "^7.0.0"
+ "@babel/plugin-syntax-dynamic-import" "^7.0.0"
+ "@babel/plugin-syntax-export-default-from" "^7.0.0"
+ "@babel/plugin-syntax-flow" "^7.2.0"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0"
+ "@babel/plugin-syntax-optional-chaining" "^7.0.0"
+ "@babel/plugin-transform-arrow-functions" "^7.0.0"
+ "@babel/plugin-transform-block-scoping" "^7.0.0"
+ "@babel/plugin-transform-classes" "^7.0.0"
+ "@babel/plugin-transform-computed-properties" "^7.0.0"
+ "@babel/plugin-transform-destructuring" "^7.0.0"
+ "@babel/plugin-transform-exponentiation-operator" "^7.0.0"
+ "@babel/plugin-transform-flow-strip-types" "^7.0.0"
+ "@babel/plugin-transform-for-of" "^7.0.0"
+ "@babel/plugin-transform-function-name" "^7.0.0"
+ "@babel/plugin-transform-literals" "^7.0.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.0.0"
+ "@babel/plugin-transform-object-assign" "^7.0.0"
+ "@babel/plugin-transform-parameters" "^7.0.0"
+ "@babel/plugin-transform-react-display-name" "^7.0.0"
+ "@babel/plugin-transform-react-jsx" "^7.0.0"
+ "@babel/plugin-transform-react-jsx-self" "^7.0.0"
+ "@babel/plugin-transform-react-jsx-source" "^7.0.0"
+ "@babel/plugin-transform-regenerator" "^7.0.0"
+ "@babel/plugin-transform-runtime" "^7.0.0"
+ "@babel/plugin-transform-shorthand-properties" "^7.0.0"
+ "@babel/plugin-transform-spread" "^7.0.0"
+ "@babel/plugin-transform-sticky-regex" "^7.0.0"
+ "@babel/plugin-transform-template-literals" "^7.0.0"
+ "@babel/plugin-transform-typescript" "^7.5.0"
+ "@babel/plugin-transform-unicode-regex" "^7.0.0"
+ "@babel/template" "^7.0.0"
+ react-refresh "^0.4.0"
+
+metro-react-native-babel-preset@0.64.0, metro-react-native-babel-preset@~0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.64.0.tgz#76861408681dfda3c1d962eb31a8994918c976f8"
+ integrity sha512-HcZ0RWQRuJfpPiaHyFQJzcym+/dDIVUPwUAXWoub/C4GkGu+mPjp8vqK6g0FxokCnnI2TK0gZTza2IDfiNNscQ==
+ dependencies:
+ "@babel/core" "^7.0.0"
+ "@babel/plugin-proposal-class-properties" "^7.0.0"
+ "@babel/plugin-proposal-export-default-from" "^7.0.0"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0"
+ "@babel/plugin-proposal-object-rest-spread" "^7.0.0"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.0.0"
+ "@babel/plugin-proposal-optional-chaining" "^7.0.0"
+ "@babel/plugin-syntax-dynamic-import" "^7.0.0"
+ "@babel/plugin-syntax-export-default-from" "^7.0.0"
+ "@babel/plugin-syntax-flow" "^7.2.0"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0"
+ "@babel/plugin-syntax-optional-chaining" "^7.0.0"
+ "@babel/plugin-transform-arrow-functions" "^7.0.0"
+ "@babel/plugin-transform-block-scoping" "^7.0.0"
+ "@babel/plugin-transform-classes" "^7.0.0"
+ "@babel/plugin-transform-computed-properties" "^7.0.0"
+ "@babel/plugin-transform-destructuring" "^7.0.0"
+ "@babel/plugin-transform-exponentiation-operator" "^7.0.0"
+ "@babel/plugin-transform-flow-strip-types" "^7.0.0"
+ "@babel/plugin-transform-for-of" "^7.0.0"
+ "@babel/plugin-transform-function-name" "^7.0.0"
+ "@babel/plugin-transform-literals" "^7.0.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.0.0"
+ "@babel/plugin-transform-object-assign" "^7.0.0"
+ "@babel/plugin-transform-parameters" "^7.0.0"
+ "@babel/plugin-transform-react-display-name" "^7.0.0"
+ "@babel/plugin-transform-react-jsx" "^7.0.0"
+ "@babel/plugin-transform-react-jsx-self" "^7.0.0"
+ "@babel/plugin-transform-react-jsx-source" "^7.0.0"
+ "@babel/plugin-transform-regenerator" "^7.0.0"
+ "@babel/plugin-transform-runtime" "^7.0.0"
+ "@babel/plugin-transform-shorthand-properties" "^7.0.0"
+ "@babel/plugin-transform-spread" "^7.0.0"
+ "@babel/plugin-transform-sticky-regex" "^7.0.0"
+ "@babel/plugin-transform-template-literals" "^7.0.0"
+ "@babel/plugin-transform-typescript" "^7.5.0"
+ "@babel/plugin-transform-unicode-regex" "^7.0.0"
+ "@babel/template" "^7.0.0"
+ react-refresh "^0.4.0"
+
+metro-react-native-babel-transformer@0.59.0, metro-react-native-babel-transformer@^0.59.0:
+ version "0.59.0"
+ resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.59.0.tgz#9b3dfd6ad35c6ef37fc4ce4d20a2eb67fabbb4be"
+ integrity sha512-1O3wrnMq4NcPQ1asEcl9lRDn/t+F1Oef6S9WaYVIKEhg9m/EQRGVrrTVP+R6B5Eeaj3+zNKbzM8Dx/NWy1hUbQ==
+ dependencies:
+ "@babel/core" "^7.0.0"
+ babel-preset-fbjs "^3.3.0"
+ metro-babel-transformer "0.59.0"
+ metro-react-native-babel-preset "0.59.0"
+ metro-source-map "0.59.0"
+
+metro-react-native-babel-transformer@0.64.0, metro-react-native-babel-transformer@^0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.64.0.tgz#eafef756972f20efdc51bd5361d55f8598355623"
+ integrity sha512-K1sHO3ODBFCr7uEiCQ4RvVr+cQg0EHQF8ChVPnecGh/WDD8udrTq9ECwB0dRfMjAvlsHtRUlJm6ZSI8UPgum2w==
+ dependencies:
+ "@babel/core" "^7.0.0"
+ babel-preset-fbjs "^3.3.0"
+ metro-babel-transformer "0.64.0"
+ metro-react-native-babel-preset "0.64.0"
+ metro-source-map "0.64.0"
+ nullthrows "^1.1.1"
+
+metro-resolver@0.59.0, metro-resolver@^0.59.0:
+ version "0.59.0"
+ resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.59.0.tgz#fbc9d7c95f094c52807877d0011feffb9e896fad"
+ integrity sha512-lbgiumnwoVosffEI96z0FGuq1ejTorHAj3QYUPmp5dFMfitRxLP7Wm/WP9l4ZZjIptxTExsJwuEff1SLRCPD9w==
+ dependencies:
+ absolute-path "^0.0.0"
+
+metro-resolver@0.64.0, metro-resolver@^0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.64.0.tgz#21126b44f31346ac2ce0b06b77ef65e8c9e2294a"
+ integrity sha512-cJ26Id8Zf+HmS/1vFwu71K3u7ep/+HeXXAJIeVDYf+niE7AWB9FijyMtAlQgbD8elWqv1leJCnQ/xHRFBfGKYA==
+ dependencies:
+ absolute-path "^0.0.0"
+
+metro-runtime@0.64.0, metro-runtime@^0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.64.0.tgz#cdaa1121d91041bf6345f2a69eb7c2fb289eff7b"
+ integrity sha512-m7XbWOaIOeFX7YcxUhmnOi6Pg8EaeL89xyZ+quZyZVF1aNoTr4w8FfbKxvijpjsytKHIZtd+43m2Wt5JrqyQmQ==
+
+metro-source-map@0.59.0:
+ version "0.59.0"
+ resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.59.0.tgz#e9beb9fc51bfb4e060f95820cf1508fc122d23f7"
+ integrity sha512-0w5CmCM+ybSqXIjqU4RiK40t4bvANL6lafabQ2GP2XD3vSwkLY+StWzCtsb4mPuyi9R/SgoLBel+ZOXHXAH0eQ==
+ dependencies:
+ "@babel/traverse" "^7.0.0"
+ "@babel/types" "^7.0.0"
+ invariant "^2.2.4"
+ metro-symbolicate "0.59.0"
+ ob1 "0.59.0"
+ source-map "^0.5.6"
+ vlq "^1.0.0"
+
+metro-source-map@0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.64.0.tgz#4310e17c3d4539c6369688022494ad66fa4d39a1"
+ integrity sha512-OCG2rtcp5cLEGYvAbfkl6mEc0J2FPRP4/UCEly+juBk7hawS9bCBMBfhJm/HIsvY1frk6nT2Vsl1O8YBbwyx2g==
+ dependencies:
+ "@babel/traverse" "^7.0.0"
+ "@babel/types" "^7.0.0"
+ invariant "^2.2.4"
+ metro-symbolicate "0.64.0"
+ nullthrows "^1.1.1"
+ ob1 "0.64.0"
+ source-map "^0.5.6"
+ vlq "^1.0.0"
+
+metro-symbolicate@0.59.0:
+ version "0.59.0"
+ resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.59.0.tgz#fc7f93957a42b02c2bfc57ed1e8f393f5f636a54"
+ integrity sha512-asLaF2A7rndrToGFIknL13aiohwPJ95RKHf0NM3hP/nipiLDoMzXT6ZnQvBqDxkUKyP+51AI75DMtb+Wcyw4Bw==
+ dependencies:
+ invariant "^2.2.4"
+ metro-source-map "0.59.0"
+ source-map "^0.5.6"
+ through2 "^2.0.1"
+ vlq "^1.0.0"
+
+metro-symbolicate@0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.64.0.tgz#405c21438ab553c29f6841da52ca76ee87bb06ac"
+ integrity sha512-qIi+YRrDWnLVmydj6gwidYLPaBsakZRibGWSspuXgHAxOI3UuLwlo4dpQ73Et0gyHjI7ZvRMRY8JPiOntf9AQQ==
+ dependencies:
+ invariant "^2.2.4"
+ metro-source-map "0.64.0"
+ nullthrows "^1.1.1"
+ source-map "^0.5.6"
+ through2 "^2.0.1"
+ vlq "^1.0.0"
+
+metro-transform-plugins@0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.64.0.tgz#41d3dce0f2966bbd79fea1ecff61bcc8a00e4665"
+ integrity sha512-iTIRBD/wBI98plfxj8jAoNUUXfXLNlyvcjPtshhpGvdwu9pzQilGfnDnOaaK+vbITcOk9w5oQectXyJwAqTr1A==
+ dependencies:
+ "@babel/core" "^7.0.0"
+ "@babel/generator" "^7.5.0"
+ "@babel/template" "^7.0.0"
+ "@babel/traverse" "^7.0.0"
+ nullthrows "^1.1.1"
+
+metro-transform-worker@0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.64.0.tgz#f94429b2c42b13cb1c93be4c2e25e97f2d27ca60"
+ integrity sha512-wegRtK8GyLF6IPZRBJp+zsORgA4iX0h1DRpknyAMDCtSbJ4VU2xV/AojteOgAsDvY3ucAGsvfuZLNDJHUdUNHQ==
+ dependencies:
+ "@babel/core" "^7.0.0"
+ "@babel/generator" "^7.5.0"
+ "@babel/parser" "^7.0.0"
+ "@babel/types" "^7.0.0"
+ babel-preset-fbjs "^3.3.0"
+ metro "0.64.0"
+ metro-babel-transformer "0.64.0"
+ metro-cache "0.64.0"
+ metro-cache-key "0.64.0"
+ metro-hermes-compiler "0.64.0"
+ metro-source-map "0.64.0"
+ metro-transform-plugins "0.64.0"
+ nullthrows "^1.1.1"
+
+metro@0.59.0, metro@^0.59.0:
+ version "0.59.0"
+ resolved "https://registry.yarnpkg.com/metro/-/metro-0.59.0.tgz#64a87cd61357814a4f279518e0781b1eab5934b8"
+ integrity sha512-OpVgYXyuTvouusFZQJ/UYKEbwfLmialrSCUUTGTFaBor6UMUHZgXPYtK86LzesgMqRc8aiuTQVO78iKW2Iz3wg==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/core" "^7.0.0"
+ "@babel/generator" "^7.5.0"
+ "@babel/parser" "^7.0.0"
+ "@babel/plugin-external-helpers" "^7.0.0"
+ "@babel/template" "^7.0.0"
+ "@babel/traverse" "^7.0.0"
+ "@babel/types" "^7.0.0"
+ absolute-path "^0.0.0"
+ async "^2.4.0"
+ babel-preset-fbjs "^3.3.0"
+ buffer-crc32 "^0.2.13"
+ chalk "^2.4.1"
+ ci-info "^2.0.0"
+ concat-stream "^1.6.0"
+ connect "^3.6.5"
+ debug "^2.2.0"
+ denodeify "^1.2.1"
+ error-stack-parser "^2.0.6"
+ eventemitter3 "^3.0.0"
+ fbjs "^1.0.0"
+ fs-extra "^1.0.0"
+ graceful-fs "^4.1.3"
+ image-size "^0.6.0"
+ invariant "^2.2.4"
+ jest-haste-map "^24.9.0"
+ jest-worker "^24.9.0"
+ json-stable-stringify "^1.0.1"
+ lodash.throttle "^4.1.1"
+ merge-stream "^1.0.1"
+ metro-babel-register "0.59.0"
+ metro-babel-transformer "0.59.0"
+ metro-cache "0.59.0"
+ metro-config "0.59.0"
+ metro-core "0.59.0"
+ metro-inspector-proxy "0.59.0"
+ metro-minify-uglify "0.59.0"
+ metro-react-native-babel-preset "0.59.0"
+ metro-resolver "0.59.0"
+ metro-source-map "0.59.0"
+ metro-symbolicate "0.59.0"
+ mime-types "2.1.11"
+ mkdirp "^0.5.1"
+ node-fetch "^2.2.0"
+ nullthrows "^1.1.1"
+ resolve "^1.5.0"
+ rimraf "^2.5.4"
+ serialize-error "^2.1.0"
+ source-map "^0.5.6"
+ strip-ansi "^4.0.0"
+ temp "0.8.3"
+ throat "^4.1.0"
+ wordwrap "^1.0.0"
+ ws "^1.1.5"
+ xpipe "^1.0.5"
+ yargs "^14.2.0"
+
+metro@0.64.0, metro@^0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/metro/-/metro-0.64.0.tgz#0091a856cfbcc94dd576da563eee466e96186195"
+ integrity sha512-G2OC08Rzfs0kqnSEuKo2yZxR+/eNUpA93Ru45c60uN0Dw3HPrDi+ZBipgFftC6iLE0l+6hu8roFFIofotWxybw==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/core" "^7.0.0"
+ "@babel/generator" "^7.5.0"
+ "@babel/parser" "^7.0.0"
+ "@babel/template" "^7.0.0"
+ "@babel/traverse" "^7.0.0"
+ "@babel/types" "^7.0.0"
+ absolute-path "^0.0.0"
+ accepts "^1.3.7"
+ async "^2.4.0"
+ chalk "^4.0.0"
+ ci-info "^2.0.0"
+ connect "^3.6.5"
+ debug "^2.2.0"
+ denodeify "^1.2.1"
+ error-stack-parser "^2.0.6"
+ fs-extra "^1.0.0"
+ graceful-fs "^4.1.3"
+ image-size "^0.6.0"
+ invariant "^2.2.4"
+ jest-haste-map "^26.5.2"
+ jest-worker "^26.0.0"
+ lodash.throttle "^4.1.1"
+ metro-babel-register "0.64.0"
+ metro-babel-transformer "0.64.0"
+ metro-cache "0.64.0"
+ metro-cache-key "0.64.0"
+ metro-config "0.64.0"
+ metro-core "0.64.0"
+ metro-hermes-compiler "0.64.0"
+ metro-inspector-proxy "0.64.0"
+ metro-minify-uglify "0.64.0"
+ metro-react-native-babel-preset "0.64.0"
+ metro-resolver "0.64.0"
+ metro-runtime "0.64.0"
+ metro-source-map "0.64.0"
+ metro-symbolicate "0.64.0"
+ metro-transform-plugins "0.64.0"
+ metro-transform-worker "0.64.0"
+ mime-types "^2.1.27"
+ mkdirp "^0.5.1"
+ node-fetch "^2.2.0"
+ nullthrows "^1.1.1"
+ rimraf "^2.5.4"
+ serialize-error "^2.1.0"
+ source-map "^0.5.6"
+ strip-ansi "^6.0.0"
+ temp "0.8.3"
+ throat "^5.0.0"
+ ws "^1.1.5"
+ yargs "^15.3.1"
+
+micromatch@^2.3.7:
+ version "2.3.11"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
+ integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=
+ dependencies:
+ arr-diff "^2.0.0"
+ array-unique "^0.2.1"
+ braces "^1.8.2"
+ expand-brackets "^0.1.4"
+ extglob "^0.3.1"
+ filename-regex "^2.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.1"
+ kind-of "^3.0.2"
+ normalize-path "^2.0.1"
+ object.omit "^2.0.0"
+ parse-glob "^3.0.4"
+ regex-cache "^0.4.2"
+
+micromatch@^3.1.10, micromatch@^3.1.4:
+ version "3.1.10"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
+ integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ braces "^2.3.1"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ extglob "^2.0.4"
+ fragment-cache "^0.2.1"
+ kind-of "^6.0.2"
+ nanomatch "^1.2.9"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.2"
+
+micromatch@^4.0.2, micromatch@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
+ integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
+ dependencies:
+ braces "^3.0.1"
+ picomatch "^2.2.3"
+
+miller-rabin@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
+ integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
+ dependencies:
+ bn.js "^4.0.0"
+ brorand "^1.0.1"
+
+mime-db@1.51.0, "mime-db@>= 1.43.0 < 2":
+ version "1.51.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c"
+ integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==
+
+mime-db@~1.23.0:
+ version "1.23.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.23.0.tgz#a31b4070adaea27d732ea333740a64d0ec9a6659"
+ integrity sha1-oxtAcK2uon1zLqMzdApk0OyaZlk=
+
+mime-types@2.1.11:
+ version "2.1.11"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.11.tgz#c259c471bda808a85d6cd193b430a5fae4473b3c"
+ integrity sha1-wlnEcb2oCKhdbNGTtDCl+uRHOzw=
+ dependencies:
+ mime-db "~1.23.0"
+
+mime-types@^2.1.12, mime-types@^2.1.16, mime-types@^2.1.27, mime-types@~2.1.19, mime-types@~2.1.24:
+ version "2.1.34"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24"
+ integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==
+ dependencies:
+ mime-db "1.51.0"
+
+mime@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+
+mime@^2.4.1, mime@^2.4.4:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367"
+ integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
+
+mimic-fn@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
+ integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
+
+mimic-fn@^2.0.0, mimic-fn@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+mimic-fn@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74"
+ integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==
+
+mimic-response@^1.0.0, mimic-response@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
+ integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
+
+min-document@^2.19.0:
+ version "2.19.0"
+ resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
+ integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=
+ dependencies:
+ dom-walk "^0.1.0"
+
+min-indent@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
+ integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
+
+minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
+ integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
+
+minimalistic-crypto-utils@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
+ integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
+
+minimatch@*, "minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimist@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
+ integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
+
+minimist@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
+ integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
+
+minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
+ integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+
+minipass@^2.6.0, minipass@^2.9.0:
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
+ integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==
+ dependencies:
+ safe-buffer "^5.1.2"
+ yallist "^3.0.0"
+
+minizlib@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
+ integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==
+ dependencies:
+ minipass "^2.9.0"
+
+mixin-deep@^1.2.0:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
+ integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
+ dependencies:
+ for-in "^1.0.2"
+ is-extendable "^1.0.1"
+
+mixin-object@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e"
+ integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=
+ dependencies:
+ for-in "^0.1.3"
+ is-extendable "^0.1.1"
+
+mkdirp-promise@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1"
+ integrity sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=
+ dependencies:
+ mkdirp "*"
+
+mkdirp@*:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
+ integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
+mkdirp@0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
+ integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
+ dependencies:
+ minimist "0.0.8"
+
+mkdirp@0.5.4:
+ version "0.5.4"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.4.tgz#fd01504a6797ec5c9be81ff43d204961ed64a512"
+ integrity sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==
+ dependencies:
+ minimist "^1.2.5"
+
+mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.0, mkdirp@~0.5.1:
+ version "0.5.5"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
+ integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
+ dependencies:
+ minimist "^1.2.5"
+
+mocha@8.1.2:
+ version "8.1.2"
+ resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.1.2.tgz#d67fad13300e4f5cd48135a935ea566f96caf827"
+ integrity sha512-I8FRAcuACNMLQn3lS4qeWLxXqLvGf6r2CaLstDpZmMUUSmvW6Cnm1AuHxgbc7ctZVRcfwspCRbDHymPsi3dkJw==
+ dependencies:
+ ansi-colors "4.1.1"
+ browser-stdout "1.3.1"
+ chokidar "3.4.2"
+ debug "4.1.1"
+ diff "4.0.2"
+ escape-string-regexp "4.0.0"
+ find-up "5.0.0"
+ glob "7.1.6"
+ growl "1.10.5"
+ he "1.2.0"
+ js-yaml "3.14.0"
+ log-symbols "4.0.0"
+ minimatch "3.0.4"
+ ms "2.1.2"
+ object.assign "4.1.0"
+ promise.allsettled "1.0.2"
+ serialize-javascript "4.0.0"
+ strip-json-comments "3.0.1"
+ supports-color "7.1.0"
+ which "2.0.2"
+ wide-align "1.1.3"
+ workerpool "6.0.0"
+ yargs "13.3.2"
+ yargs-parser "13.1.2"
+ yargs-unparser "1.6.1"
+
+mocha@^6.2.2:
+ version "6.2.3"
+ resolved "https://registry.yarnpkg.com/mocha/-/mocha-6.2.3.tgz#e648432181d8b99393410212664450a4c1e31912"
+ integrity sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==
+ dependencies:
+ ansi-colors "3.2.3"
+ browser-stdout "1.3.1"
+ debug "3.2.6"
+ diff "3.5.0"
+ escape-string-regexp "1.0.5"
+ find-up "3.0.0"
+ glob "7.1.3"
+ growl "1.10.5"
+ he "1.2.0"
+ js-yaml "3.13.1"
+ log-symbols "2.2.0"
+ minimatch "3.0.4"
+ mkdirp "0.5.4"
+ ms "2.1.1"
+ node-environment-flags "1.0.5"
+ object.assign "4.1.0"
+ strip-json-comments "2.0.1"
+ supports-color "6.0.0"
+ which "1.3.1"
+ wide-align "1.1.3"
+ yargs "13.3.2"
+ yargs-parser "13.1.2"
+ yargs-unparser "1.6.0"
+
+mock-fs@^4.1.0:
+ version "4.14.0"
+ resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18"
+ integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==
+
+module@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/module/-/module-1.2.5.tgz#b503eb06cdc13473f56818426974cde7ec59bf15"
+ integrity sha1-tQPrBs3BNHP1aBhCaXTN5+xZvxU=
+ dependencies:
+ chalk "1.1.3"
+ concat-stream "1.5.1"
+ lodash.template "4.2.4"
+ map-stream "0.0.6"
+ tildify "1.2.0"
+ vinyl-fs "2.4.3"
+ yargs "4.6.0"
+
+moment@^2.29.1:
+ version "2.29.1"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
+ integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+
+ms@2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
+ integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
+
+ms@2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+ms@^2.1.1:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+multiaddr-to-uri@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/multiaddr-to-uri/-/multiaddr-to-uri-6.0.0.tgz#8f08a75c6eeb2370d5d24b77b8413e3f0fa9bcc0"
+ integrity sha512-OjpkVHOXEmIKMO8WChzzQ7aZQcSQX8squxmvtDbRpy7/QNmJ3Z7jv6qyD74C28QtaeNie8O8ngW2AkeiMmKP7A==
+ dependencies:
+ multiaddr "^8.0.0"
+
+multiaddr@^8.0.0, multiaddr@^8.1.2:
+ version "8.1.2"
+ resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-8.1.2.tgz#74060ff8636ba1c01b2cf0ffd53950b852fa9b1f"
+ integrity sha512-r13IzW8+Sv9zab9Gt8RPMIN2WkptIPq99EpAzg4IbJ/zTELhiEwXWr9bAmEatSCI4j/LSA6ESJzvz95JZ+ZYXQ==
+ dependencies:
+ cids "^1.0.0"
+ class-is "^1.1.0"
+ dns-over-http-resolver "^1.0.0"
+ err-code "^2.0.3"
+ is-ip "^3.1.0"
+ multibase "^3.0.0"
+ uint8arrays "^1.1.0"
+ varint "^5.0.0"
+
+multibase@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b"
+ integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==
+ dependencies:
+ base-x "^3.0.8"
+ buffer "^5.5.0"
+
+multibase@^3.0.0, multibase@^3.1.0:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/multibase/-/multibase-3.1.2.tgz#59314e1e2c35d018db38e4c20bb79026827f0f2f"
+ integrity sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==
+ dependencies:
+ "@multiformats/base-x" "^4.0.1"
+ web-encoding "^1.0.6"
+
+multibase@^4.0.1:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/multibase/-/multibase-4.0.6.tgz#6e624341483d6123ca1ede956208cb821b440559"
+ integrity sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==
+ dependencies:
+ "@multiformats/base-x" "^4.0.1"
+
+multibase@~0.6.0:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b"
+ integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==
+ dependencies:
+ base-x "^3.0.8"
+ buffer "^5.5.0"
+
+multicodec@^0.5.5:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd"
+ integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==
+ dependencies:
+ varint "^5.0.0"
+
+multicodec@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f"
+ integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==
+ dependencies:
+ buffer "^5.6.0"
+ varint "^5.0.0"
+
+multicodec@^2.0.0, multicodec@^2.0.1:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-2.1.3.tgz#b9850635ad4e2a285a933151b55b4a2294152a5d"
+ integrity sha512-0tOH2Gtio39uO41o+2xl9UhRkCWxU5ZmZSbFCh/OjGzkWJI8e6lkN/s4Mj1YfyWoBod+2+S3W+6wO6nhkwN8pA==
+ dependencies:
+ uint8arrays "1.1.0"
+ varint "^6.0.0"
+
+multicodec@^3.0.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-3.2.1.tgz#82de3254a0fb163a107c1aab324f2a91ef51efb2"
+ integrity sha512-+expTPftro8VAW8kfvcuNNNBgb9gPeNYV9dn+z1kJRWF2vih+/S79f2RVeIwmrJBUJ6NT9IUPWnZDQvegEh5pw==
+ dependencies:
+ uint8arrays "^3.0.0"
+ varint "^6.0.0"
+
+multiformats@^9.4.2, multiformats@^9.4.5:
+ version "9.4.14"
+ resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.4.14.tgz#535452892777f5b316685c9f00d5bf6923bebc95"
+ integrity sha512-X1wtOySaguYL7ua87Gv4+cuvFL3Qi+mpHNcJnzNoyK1NmHy8SfyBIQ1S1KYQoEjXaYoriN+5TP9f4iBJUOQf3A==
+
+multihashes@3.1.2, multihashes@^3.0.1:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-3.1.2.tgz#ffa5e50497aceb7911f7b4a3b6cada9b9730edfc"
+ integrity sha512-AP4IoV/YzkNrfbQKZE3OMPibrmy350OmCd6cJkwyM8oExaXIlOY4UnOOVSQtAEuq/LR01XfXKCESidzZvSwHCQ==
+ dependencies:
+ multibase "^3.1.0"
+ uint8arrays "^2.0.5"
+ varint "^6.0.0"
+
+multihashes@^0.4.15, multihashes@~0.4.15:
+ version "0.4.21"
+ resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5"
+ integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==
+ dependencies:
+ buffer "^5.5.0"
+ multibase "^0.7.0"
+ varint "^5.0.0"
+
+multihashes@^4.0.1, multihashes@^4.0.2:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-4.0.3.tgz#426610539cd2551edbf533adeac4c06b3b90fb05"
+ integrity sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA==
+ dependencies:
+ multibase "^4.0.1"
+ uint8arrays "^3.0.0"
+ varint "^5.0.2"
+
+multihashing-async@^2.0.0:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/multihashing-async/-/multihashing-async-2.1.4.tgz#26dce2ec7a40f0e7f9e732fc23ca5f564d693843"
+ integrity sha512-sB1MiQXPSBTNRVSJc2zM157PXgDtud2nMFUEIvBrsq5Wv96sUclMRK/ecjoP1T/W61UJBqt4tCTwMkUpt2Gbzg==
+ dependencies:
+ blakejs "^1.1.0"
+ err-code "^3.0.0"
+ js-sha3 "^0.8.0"
+ multihashes "^4.0.1"
+ murmurhash3js-revisited "^3.0.0"
+ uint8arrays "^3.0.0"
+
+murmurhash3js-revisited@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz#6bd36e25de8f73394222adc6e41fa3fac08a5869"
+ integrity sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g==
+
+mute-stream@0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
+ integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
+
+mz@^2.7.0:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
+ integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==
+ dependencies:
+ any-promise "^1.0.0"
+ object-assign "^4.0.1"
+ thenify-all "^1.0.0"
+
+nan@^2.12.1, nan@^2.13.2, nan@^2.14.2:
+ version "2.15.0"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee"
+ integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==
+
+nano-base32@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/nano-base32/-/nano-base32-1.0.1.tgz#ba548c879efcfb90da1c4d9e097db4a46c9255ef"
+ integrity sha1-ulSMh578+5DaHE2eCX20pGySVe8=
+
+nano-json-stream-parser@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f"
+ integrity sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=
+
+nanoid@^2.0.0:
+ version "2.1.11"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280"
+ integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==
+
+nanoid@^3.1.12, nanoid@^3.1.3:
+ version "3.1.30"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362"
+ integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==
+
+nanomatch@^1.2.9:
+ version "1.2.13"
+ resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
+ integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ fragment-cache "^0.2.1"
+ is-windows "^1.0.2"
+ kind-of "^6.0.2"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+napi-macros@~1.8.1:
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-1.8.2.tgz#299265c1d8aa401351ad0675107d751228c03eda"
+ integrity sha512-Tr0DNY4RzTaBG2W2m3l7ZtFuJChTH6VZhXVhkGGjF/4cZTt+i8GcM9ozD+30Lmr4mDoZ5Xx34t2o4GJqYWDGcg==
+
+napi-macros@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.0.0.tgz#2b6bae421e7b96eb687aa6c77a7858640670001b"
+ integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==
+
+native-abort-controller@0.0.3, native-abort-controller@~0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/native-abort-controller/-/native-abort-controller-0.0.3.tgz#4c528a6c9c7d3eafefdc2c196ac9deb1a5edf2f8"
+ integrity sha512-YIxU5nWqSHG1Xbu3eOu3pdFRD882ivQpIcu6AiPVe2oSVoRbfYW63DVkZm3g1gHiMtZSvZzF6THSzTGEBYl8YA==
+ dependencies:
+ globalthis "^1.0.1"
+
+native-abort-controller@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/native-abort-controller/-/native-abort-controller-1.0.4.tgz#39920155cc0c18209ff93af5bc90be856143f251"
+ integrity sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==
+
+native-fetch@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/native-fetch/-/native-fetch-2.0.1.tgz#319d53741a7040def92d5dc8ea5fe9416b1fad89"
+ integrity sha512-gv4Bea+ga9QdXINurpkEqun3ap3vnB+WYoe4c8ddqUYEH7B2h6iD39RF8uVN7OwmSfMY3RDxkvBnoI4e2/vLXQ==
+ dependencies:
+ globalthis "^1.0.1"
+
+native-fetch@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/native-fetch/-/native-fetch-3.0.0.tgz#06ccdd70e79e171c365c75117959cf4fe14a09bb"
+ integrity sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==
+
+needle@^2.2.1:
+ version "2.9.1"
+ resolved "https://registry.yarnpkg.com/needle/-/needle-2.9.1.tgz#22d1dffbe3490c2b83e301f7709b6736cd8f2684"
+ integrity sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==
+ dependencies:
+ debug "^3.2.6"
+ iconv-lite "^0.4.4"
+ sax "^1.2.4"
+
+negotiator@0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
+ integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
+
+neo-async@^2.5.0:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
+ integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
+
+neodoc@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/neodoc/-/neodoc-2.0.2.tgz#ad00b30b9758379dcd3cf752a0659bacbab2c4fb"
+ integrity sha512-NAppJ0YecKWdhSXFYCHbo6RutiX8vOt/Jo3l46mUg6pQlpJNaqc5cGxdrW2jITQm5JIYySbFVPDl3RrREXNyPw==
+ dependencies:
+ ansi-regex "^2.0.0"
+
+next-tick@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
+ integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
+
+nice-try@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
+ integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
+
+no-case@^2.2.0, no-case@^2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
+ integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==
+ dependencies:
+ lower-case "^1.1.1"
+
+no-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d"
+ integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==
+ dependencies:
+ lower-case "^2.0.2"
+ tslib "^2.0.3"
+
+nocache@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/nocache/-/nocache-2.1.0.tgz#120c9ffec43b5729b1d5de88cd71aa75a0ba491f"
+ integrity sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q==
+
+node-addon-api@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32"
+ integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==
+
+node-dir@^0.1.17:
+ version "0.1.17"
+ resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5"
+ integrity sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=
+ dependencies:
+ minimatch "^3.0.2"
+
+node-environment-flags@1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.5.tgz#fa930275f5bf5dae188d6192b24b4c8bbac3d76a"
+ integrity sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==
+ dependencies:
+ object.getownpropertydescriptors "^2.0.3"
+ semver "^5.7.0"
+
+node-fetch@2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.4.1.tgz#b2e38f1117b8acbedbe0524f041fb3177188255d"
+ integrity sha512-P9UbpFK87NyqBZzUuDBDz4f6Yiys8xm8j7ACDbi6usvFm6KItklQUKjeoqTrYS/S1k6I8oaOC2YLLDr/gg26Mw==
+
+node-fetch@2.6.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
+ integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
+
+node-fetch@2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
+ integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
+
+node-fetch@^1.0.1:
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef"
+ integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==
+ dependencies:
+ encoding "^0.1.11"
+ is-stream "^1.0.1"
+
+node-fetch@^2.2.0, node-fetch@^2.6.0, node-fetch@^2.6.1:
+ version "2.6.6"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89"
+ integrity sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==
+ dependencies:
+ whatwg-url "^5.0.0"
+
+node-forge@^0.10.0:
+ version "0.10.0"
+ resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3"
+ integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==
+
+node-gyp-build@^4.2.0, node-gyp-build@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3"
+ integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==
+
+node-gyp-build@~3.8.0:
+ version "3.8.0"
+ resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-3.8.0.tgz#0f57efeb1971f404dfcbfab975c284de7c70f14a"
+ integrity sha512-bYbpIHyRqZ7sVWXxGpz8QIRug5JZc/hzZH4GbdT9HTZi6WmKCZ8GLvP8OZ9TTiIBvwPFKgtGrlWQSXDAvYdsPw==
+
+node-gyp-build@~4.1.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.1.1.tgz#d7270b5d86717068d114cc57fff352f96d745feb"
+ integrity sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==
+
+node-int64@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
+ integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=
+
+node-interval-tree@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/node-interval-tree/-/node-interval-tree-1.3.3.tgz#15ffb904cde08270214acace8dc7653e89ae32b7"
+ integrity sha512-K9vk96HdTK5fEipJwxSvIIqwTqr4e3HRJeJrNxBSeVMNSC/JWARRaX7etOLOuTmrRMeOI/K5TCJu3aWIwZiNTw==
+ dependencies:
+ shallowequal "^1.0.2"
+
+node-libs-browser@^2.0.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
+ integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
+ dependencies:
+ assert "^1.1.1"
+ browserify-zlib "^0.2.0"
+ buffer "^4.3.0"
+ console-browserify "^1.1.0"
+ constants-browserify "^1.0.0"
+ crypto-browserify "^3.11.0"
+ domain-browser "^1.1.1"
+ events "^3.0.0"
+ https-browserify "^1.0.0"
+ os-browserify "^0.3.0"
+ path-browserify "0.0.1"
+ process "^0.11.10"
+ punycode "^1.2.4"
+ querystring-es3 "^0.2.0"
+ readable-stream "^2.3.3"
+ stream-browserify "^2.0.1"
+ stream-http "^2.7.2"
+ string_decoder "^1.0.0"
+ timers-browserify "^2.0.4"
+ tty-browserify "0.0.0"
+ url "^0.11.0"
+ util "^0.11.0"
+ vm-browserify "^1.0.1"
+
+node-libs-react-native@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/node-libs-react-native/-/node-libs-react-native-1.2.1.tgz#c9fd1d1b2cd2573d3e75633cea8bccd53b334f24"
+ integrity sha512-2LkPntNVa5MInMxtP7fW9F/uGo7KZCURI5/YoNn9/qOGIQpxEqnsndQWAPipsw8+ZVrIxPGkKEgJ2sSdvz0NKQ==
+ dependencies:
+ assert "^1.4.1"
+ base-64 "^0.1.0"
+ browserify-zlib "^0.2.0"
+ buffer "^6.0.3"
+ console-browserify "^1.1.0"
+ constants-browserify "^1.0.0"
+ domain-browser "^1.1.1"
+ events "^1.0.0"
+ https-browserify "^1.0.0"
+ os-browserify "^0.3.0"
+ path-browserify "0.0.0"
+ process "^0.11.0"
+ punycode "^2.1.0"
+ querystring-es3 "^0.2.0"
+ react-native-crypto "^2.0.1"
+ react-native-randombytes "^3.5.1"
+ readable-stream "^2.2.9"
+ stream-http "^2.3.1"
+ string_decoder "^1.0.3"
+ timers-browserify "^2.0.2"
+ tty-browserify "0.0.0"
+ url "^0.11.0"
+ util "^0.10.3"
+
+node-modules-regexp@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
+ integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=
+
+node-pre-gyp@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz#db1f33215272f692cd38f03238e3e9b47c5dd054"
+ integrity sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==
+ dependencies:
+ detect-libc "^1.0.2"
+ mkdirp "^0.5.1"
+ needle "^2.2.1"
+ nopt "^4.0.1"
+ npm-packlist "^1.1.6"
+ npmlog "^4.0.2"
+ rc "^1.2.7"
+ rimraf "^2.6.1"
+ semver "^5.3.0"
+ tar "^4"
+
+node-releases@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5"
+ integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==
+
+node-stream-zip@^1.9.1:
+ version "1.15.0"
+ resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.15.0.tgz#158adb88ed8004c6c49a396b50a6a5de3bca33ea"
+ integrity sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==
+
+nofilter@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz#78d6f4b6a613e7ced8b015cec534625f7667006e"
+ integrity sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==
+
+noop-fn@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/noop-fn/-/noop-fn-1.0.0.tgz#5f33d47f13d2150df93e0cb036699e982f78ffbf"
+ integrity sha1-XzPUfxPSFQ35PgywNmmemC94/78=
+
+nopt@^4.0.1:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48"
+ integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==
+ dependencies:
+ abbrev "1"
+ osenv "^0.1.4"
+
+normalize-css-color@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/normalize-css-color/-/normalize-css-color-1.0.2.tgz#02991e97cccec6623fe573afbbf0de6a1f3e9f8d"
+ integrity sha1-Apkel8zOxmI/5XOvu/Deah8+n40=
+
+normalize-package-data@^2.3.2:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
+ integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
+ dependencies:
+ hosted-git-info "^2.1.4"
+ resolve "^1.10.0"
+ semver "2 || 3 || 4 || 5"
+ validate-npm-package-license "^3.0.1"
+
+normalize-path@^2.0.1, normalize-path@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
+ dependencies:
+ remove-trailing-separator "^1.0.1"
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+ integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+normalize-url@^4.1.0:
+ version "4.5.1"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
+ integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==
+
+npm-bundled@^1.0.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1"
+ integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==
+ dependencies:
+ npm-normalize-package-bin "^1.0.1"
+
+npm-normalize-package-bin@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
+ integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
+
+npm-packlist@^1.1.6:
+ version "1.4.8"
+ resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e"
+ integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==
+ dependencies:
+ ignore-walk "^3.0.1"
+ npm-bundled "^1.0.1"
+ npm-normalize-package-bin "^1.0.1"
+
+npm-run-path@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
+ integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
+ dependencies:
+ path-key "^2.0.0"
+
+npmlog@^4.0.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
+ integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
+ dependencies:
+ are-we-there-yet "~1.1.2"
+ console-control-strings "~1.1.0"
+ gauge "~2.7.3"
+ set-blocking "~2.0.0"
+
+nth-check@^1.0.2, nth-check@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
+ integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==
+ dependencies:
+ boolbase "~1.0.0"
+
+nth-check@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2"
+ integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==
+ dependencies:
+ boolbase "^1.0.0"
+
+nullthrows@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1"
+ integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==
+
+number-is-nan@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+ integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
+
+number-to-bn@1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0"
+ integrity sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=
+ dependencies:
+ bn.js "4.11.6"
+ strip-hex-prefix "1.0.0"
+
+numeral@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/numeral/-/numeral-2.0.6.tgz#4ad080936d443c2561aed9f2197efffe25f4e506"
+ integrity sha1-StCAk21EPCVhrtnyGX7//iX05QY=
+
+"nwmatcher@>= 1.3.7 < 2.0.0":
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.4.tgz#2285631f34a95f0d0395cd900c96ed39b58f346e"
+ integrity sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==
+
+oauth-sign@~0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
+ integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
+
+ob1@0.59.0:
+ version "0.59.0"
+ resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.59.0.tgz#ee103619ef5cb697f2866e3577da6f0ecd565a36"
+ integrity sha512-opXMTxyWJ9m68ZglCxwo0OPRESIC/iGmKFPXEXzMZqsVIrgoRXOHmoMDkQzz4y3irVjbyPJRAh5pI9fd0MJTFQ==
+
+ob1@0.64.0:
+ version "0.64.0"
+ resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.64.0.tgz#f254a55a53ca395c4f9090e28a85483eac5eba19"
+ integrity sha512-CO1N+5dhvy+MoAwxz8+fymEUcwsT4a+wHhrHFb02LppcJdHxgcBWviwEhUwKOD2kLMQ7ijrrzybOqpGcqEtvpQ==
+
+object-assign@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
+ integrity sha1-ejs9DpgGPUP0wD8uiubNUahog6A=
+
+object-assign@^4, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+ integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
+
+object-copy@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
+ integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
+ dependencies:
+ copy-descriptor "^0.1.0"
+ define-property "^0.2.5"
+ kind-of "^3.0.3"
+
+object-inspect@^1.11.0, object-inspect@^1.9.0:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1"
+ integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==
+
+object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+ integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+object-path@^0.11.4:
+ version "0.11.8"
+ resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.8.tgz#ed002c02bbdd0070b78a27455e8ae01fc14d4742"
+ integrity sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==
+
+object-visit@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
+ integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
+ dependencies:
+ isobject "^3.0.0"
+
+object.assign@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
+ integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
+ dependencies:
+ define-properties "^1.1.2"
+ function-bind "^1.1.1"
+ has-symbols "^1.0.0"
+ object-keys "^1.0.11"
+
+object.assign@^4.1.0, object.assign@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
+ integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
+ dependencies:
+ call-bind "^1.0.0"
+ define-properties "^1.1.3"
+ has-symbols "^1.0.1"
+ object-keys "^1.1.1"
+
+object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0, object.getownpropertydescriptors@^2.1.1:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e"
+ integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.1"
+
+object.omit@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
+ integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=
+ dependencies:
+ for-own "^0.1.4"
+ is-extendable "^0.1.1"
+
+object.pick@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
+ integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
+ dependencies:
+ isobject "^3.0.1"
+
+object.values@^1.1.0:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac"
+ integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+ es-abstract "^1.19.1"
+
+oboe@2.1.5:
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.5.tgz#5554284c543a2266d7a38f17e073821fbde393cd"
+ integrity sha1-VVQoTFQ6ImbXo48X4HOCH73jk80=
+ dependencies:
+ http-https "^1.0.0"
+
+on-finished@~2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
+ integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
+ dependencies:
+ ee-first "1.1.1"
+
+on-headers@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
+ integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
+
+once@^1.3.0, once@^1.3.1, once@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+ dependencies:
+ wrappy "1"
+
+onetime@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
+ dependencies:
+ mimic-fn "^1.0.0"
+
+onetime@^5.1.0, onetime@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
+ integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
+ dependencies:
+ mimic-fn "^2.1.0"
+
+open@^6.2.0:
+ version "6.4.0"
+ resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9"
+ integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==
+ dependencies:
+ is-wsl "^1.1.0"
+
+opencollective-postinstall@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
+ integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==
+
+optimism@^0.16.1:
+ version "0.16.1"
+ resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.16.1.tgz#7c8efc1f3179f18307b887e18c15c5b7133f6e7d"
+ integrity sha512-64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg==
+ dependencies:
+ "@wry/context" "^0.6.0"
+ "@wry/trie" "^0.3.0"
+
+optionator@^0.8.1:
+ version "0.8.3"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
+ integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
+ dependencies:
+ deep-is "~0.1.3"
+ fast-levenshtein "~2.0.6"
+ levn "~0.3.0"
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+ word-wrap "~1.2.3"
+
+options@>=0.0.5:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
+ integrity sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=
+
+ora@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318"
+ integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==
+ dependencies:
+ chalk "^2.4.2"
+ cli-cursor "^2.1.0"
+ cli-spinners "^2.0.0"
+ log-symbols "^2.2.0"
+ strip-ansi "^5.2.0"
+ wcwidth "^1.0.1"
+
+ordered-read-streams@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b"
+ integrity sha1-cTfmmzKYuzQiR6G77jiByA4v14s=
+ dependencies:
+ is-stream "^1.0.1"
+ readable-stream "^2.0.1"
+
+original-require@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/original-require/-/original-require-1.0.1.tgz#0f130471584cd33511c5ec38c8d59213f9ac5e20"
+ integrity sha1-DxMEcVhM0zURxew4yNWSE/msXiA=
+
+os-browserify@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
+ integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
+
+os-homedir@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+ integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
+
+os-locale@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
+ integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=
+ dependencies:
+ lcid "^1.0.0"
+
+os-locale@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2"
+ integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==
+ dependencies:
+ execa "^0.7.0"
+ lcid "^1.0.0"
+ mem "^1.1.0"
+
+os-locale@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
+ integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==
+ dependencies:
+ execa "^1.0.0"
+ lcid "^2.0.0"
+ mem "^4.0.0"
+
+os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
+
+osenv@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
+ integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.0"
+
+p-cancelable@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa"
+ integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==
+
+p-cancelable@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
+ integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
+
+p-defer@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
+ integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=
+
+p-defer@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83"
+ integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==
+
+p-fifo@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-fifo/-/p-fifo-1.0.0.tgz#e29d5cf17c239ba87f51dde98c1d26a9cfe20a63"
+ integrity sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==
+ dependencies:
+ fast-fifo "^1.0.0"
+ p-defer "^3.0.0"
+
+p-finally@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+ integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
+
+p-is-promise@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
+ integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
+
+p-limit@3.1.0, p-limit@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+ integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+ dependencies:
+ yocto-queue "^0.1.0"
+
+p-limit@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
+ integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
+ dependencies:
+ p-try "^1.0.0"
+
+p-limit@^2.0.0, p-limit@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
+ integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
+ dependencies:
+ p-try "^2.0.0"
+
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
+ dependencies:
+ p-limit "^1.1.0"
+
+p-locate@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
+ integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
+ dependencies:
+ p-limit "^2.0.0"
+
+p-locate@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
+ integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+ dependencies:
+ p-limit "^2.2.0"
+
+p-locate@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+ integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+ dependencies:
+ p-limit "^3.0.2"
+
+p-timeout@^1.1.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386"
+ integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=
+ dependencies:
+ p-finally "^1.0.0"
+
+p-try@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+ integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
+
+p-try@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
+ integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+
+pako@~1.0.5:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
+ integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
+
+param-case@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
+ integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc=
+ dependencies:
+ no-case "^2.2.0"
+
+paramap-it@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/paramap-it/-/paramap-it-0.1.1.tgz#dad5963c003315c0993b84402a9c08f8c36e80d9"
+ integrity sha512-3uZmCAN3xCw7Am/4ikGzjjR59aNMJVXGSU7CjG2Z6DfOAdhnLdCOd0S0m1sTkN4ov9QhlE3/jkzyu953hq0uwQ==
+ dependencies:
+ event-iterator "^1.0.0"
+
+parse-asn1@^5.0.0, parse-asn1@^5.1.5:
+ version "5.1.6"
+ resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4"
+ integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==
+ dependencies:
+ asn1.js "^5.2.0"
+ browserify-aes "^1.0.0"
+ evp_bytestokey "^1.0.0"
+ pbkdf2 "^3.0.3"
+ safe-buffer "^5.1.1"
+
+parse-code-context@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/parse-code-context/-/parse-code-context-1.0.0.tgz#718c295c593d0d19a37f898473268cc75e98de1e"
+ integrity sha512-OZQaqKaQnR21iqhlnPfVisFjBWjhnMl5J9MgbP8xC+EwoVqbXrq78lp+9Zb3ahmLzrIX5Us/qbvBnaS3hkH6OA==
+
+parse-duration@^0.4.4:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/parse-duration/-/parse-duration-0.4.4.tgz#11c0f51a689e97d06c57bd772f7fda7dc013243c"
+ integrity sha512-KbAJuYGUhZkB9gotDiKLnZ7Z3VTacK3fgwmDdB6ZVDtJbMBT6MfLga0WJaYpPDu0mzqT0NgHtHDt5PY4l0nidg==
+
+parse-glob@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
+ integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw=
+ dependencies:
+ glob-base "^0.3.0"
+ is-dotfile "^1.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.0"
+
+parse-headers@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.4.tgz#9eaf2d02bed2d1eff494331ce3df36d7924760bf"
+ integrity sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==
+
+parse-json@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
+ dependencies:
+ error-ex "^1.2.0"
+
+parse-json@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
+ integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
+ dependencies:
+ error-ex "^1.3.1"
+ json-parse-better-errors "^1.0.1"
+
+parse-node-version@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b"
+ integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==
+
+parse-passwd@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
+ integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
+
+parse-png@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/parse-png/-/parse-png-2.1.0.tgz#2a42ad719fedf90f81c59ebee7ae59b280d6b338"
+ integrity sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==
+ dependencies:
+ pngjs "^3.3.0"
+
+parse5-htmlparser2-tree-adapter@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6"
+ integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==
+ dependencies:
+ parse5 "^6.0.1"
+
+parse5@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94"
+ integrity sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=
+
+parse5@^3.0.1:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c"
+ integrity sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==
+ dependencies:
+ "@types/node" "*"
+
+parse5@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
+ integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==
+
+parseurl@^1.3.2, parseurl@~1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
+ integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
+
+pascal-case@^2.0.0, pascal-case@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e"
+ integrity sha1-LVeNNFX2YNpl7KGO+VtODekSdh4=
+ dependencies:
+ camel-case "^3.0.0"
+ upper-case-first "^1.1.0"
+
+pascal-case@^3.1.1, pascal-case@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb"
+ integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==
+ dependencies:
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+
+pascalcase@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
+ integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
+
+path-browserify@0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
+ integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=
+
+path-browserify@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
+ integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
+
+path-browserify@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd"
+ integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
+
+path-case@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5"
+ integrity sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU=
+ dependencies:
+ no-case "^2.2.0"
+
+path-dirname@^1.0.0, path-dirname@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
+ integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
+
+path-exists@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+ integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=
+ dependencies:
+ pinkie-promise "^2.0.0"
+
+path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+ integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
+
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+
+path-key@^2.0.0, path-key@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+ integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
+
+path-parse@^1.0.6:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+path-to-regexp@0.1.7:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
+ integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
+
+path-type@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+path-type@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
+ integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=
+ dependencies:
+ pify "^2.0.0"
+
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
+pathval@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d"
+ integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==
+
+pbkdf2@3.0.8:
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.8.tgz#2f8abf16ebecc82277945d748aba1d78761f61e2"
+ integrity sha1-L4q/FuvsyCJ3lF10irodeHYfYeI=
+ dependencies:
+ create-hmac "^1.1.2"
+
+pbkdf2@^3.0.17, pbkdf2@^3.0.3, pbkdf2@^3.0.9:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075"
+ integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==
+ dependencies:
+ create-hash "^1.1.2"
+ create-hmac "^1.1.4"
+ ripemd160 "^2.0.1"
+ safe-buffer "^5.0.1"
+ sha.js "^2.4.8"
+
+peer-id@^0.14.1:
+ version "0.14.8"
+ resolved "https://registry.yarnpkg.com/peer-id/-/peer-id-0.14.8.tgz#667c6bedc8ab313c81376f6aca0baa2140266fab"
+ integrity sha512-GpuLpob/9FrEFvyZrKKsISEkaBYsON2u0WtiawLHj1ii6ewkoeRiSDFLyIefYhw0jGvQoeoZS05jaT52X7Bvig==
+ dependencies:
+ cids "^1.1.5"
+ class-is "^1.1.0"
+ libp2p-crypto "^0.19.0"
+ minimist "^1.2.5"
+ multihashes "^4.0.2"
+ protobufjs "^6.10.2"
+ uint8arrays "^2.0.5"
+
+pem-jwk@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/pem-jwk/-/pem-jwk-2.0.0.tgz#1c5bb264612fc391340907f5c1de60c06d22f085"
+ integrity sha512-rFxu7rVoHgQ5H9YsP50dDWf0rHjreVA2z0yPiWr5WdH/UHb29hKtF7h6l8vNd1cbYR1t0QL+JKhW55a2ZV4KtA==
+ dependencies:
+ asn1.js "^5.0.1"
+
+performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+ integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+
+picocolors@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
+ integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
+ integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
+
+pify@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+ integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
+
+pify@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
+ integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
+
+pinkie-promise@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o=
+ dependencies:
+ pinkie "^2.0.0"
+
+pinkie@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+ integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
+
+pirates@^4.0.0, pirates@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87"
+ integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==
+ dependencies:
+ node-modules-regexp "^1.0.0"
+
+pkg-conf@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-1.1.3.tgz#378e56d6fd13e88bfb6f4a25df7a83faabddba5b"
+ integrity sha1-N45W1v0T6Iv7b0ol33qD+qvduls=
+ dependencies:
+ find-up "^1.0.0"
+ load-json-file "^1.1.0"
+ object-assign "^4.0.1"
+ symbol "^0.2.1"
+
+pkg-dir@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
+ integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
+ dependencies:
+ find-up "^3.0.0"
+
+pkg-up@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5"
+ integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==
+ dependencies:
+ find-up "^3.0.0"
+
+plist@^3.0.1, plist@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe"
+ integrity sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==
+ dependencies:
+ base64-js "^1.5.1"
+ xmlbuilder "^9.0.7"
+
+plugin-error@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-0.1.2.tgz#3b9bb3335ccf00f425e07437e19276967da47ace"
+ integrity sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=
+ dependencies:
+ ansi-cyan "^0.1.1"
+ ansi-red "^0.1.1"
+ arr-diff "^1.0.1"
+ arr-union "^2.0.1"
+ extend-shallow "^1.1.2"
+
+pluralize@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1"
+ integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==
+
+pngjs@^3.3.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
+ integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
+
+pngjs@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb"
+ integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==
+
+posix-character-classes@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
+ integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
+
+pouchdb-abstract-mapreduce@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-abstract-mapreduce/-/pouchdb-abstract-mapreduce-7.2.2.tgz#dd1b10a83f8d24361dce9aaaab054614b39f766f"
+ integrity sha512-7HWN/2yV2JkwMnGnlp84lGvFtnm0Q55NiBUdbBcaT810+clCGKvhssBCrXnmwShD1SXTwT83aszsgiSfW+SnBA==
+ dependencies:
+ pouchdb-binary-utils "7.2.2"
+ pouchdb-collate "7.2.2"
+ pouchdb-collections "7.2.2"
+ pouchdb-errors "7.2.2"
+ pouchdb-fetch "7.2.2"
+ pouchdb-mapreduce-utils "7.2.2"
+ pouchdb-md5 "7.2.2"
+ pouchdb-utils "7.2.2"
+
+pouchdb-adapter-leveldb-core@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-adapter-leveldb-core/-/pouchdb-adapter-leveldb-core-7.2.2.tgz#e0aa6a476e2607d7ae89f4a803c9fba6e6d05a8a"
+ integrity sha512-K9UGf1Ivwe87mjrMqN+1D07tO/DfU7ariVDrGffuOjvl+3BcvUF25IWrxsBObd4iPOYCH7NVQWRpojhBgxULtQ==
+ dependencies:
+ argsarray "0.0.1"
+ buffer-from "1.1.1"
+ double-ended-queue "2.1.0-0"
+ levelup "4.4.0"
+ pouchdb-adapter-utils "7.2.2"
+ pouchdb-binary-utils "7.2.2"
+ pouchdb-collections "7.2.2"
+ pouchdb-errors "7.2.2"
+ pouchdb-json "7.2.2"
+ pouchdb-md5 "7.2.2"
+ pouchdb-merge "7.2.2"
+ pouchdb-utils "7.2.2"
+ sublevel-pouchdb "7.2.2"
+ through2 "3.0.2"
+
+pouchdb-adapter-memory@^7.1.1:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-adapter-memory/-/pouchdb-adapter-memory-7.2.2.tgz#c0ec2e87928d516ca9d1b5badc7269df6f95e5ea"
+ integrity sha512-9o+zdItPEq7rIrxdkUxgsLNaZkDJAGEqqoYgeYdrHidOCZnlhxhX3g7/R/HcpDKC513iEPqJWDJQSfeT6nVKkw==
+ dependencies:
+ memdown "1.4.1"
+ pouchdb-adapter-leveldb-core "7.2.2"
+ pouchdb-utils "7.2.2"
+
+pouchdb-adapter-node-websql@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pouchdb-adapter-node-websql/-/pouchdb-adapter-node-websql-7.0.0.tgz#64ad88dd45b23578e454bf3032a3a79f9d1e4008"
+ integrity sha512-fNaOMO8bvMrRTSfmH4RSLSpgnKahRcCA7Z0jg732PwRbGvvMdGbreZwvKPPD1fg2tm2ZwwiXWK2G3+oXyoqZYw==
+ dependencies:
+ pouchdb-adapter-websql-core "7.0.0"
+ pouchdb-utils "7.0.0"
+ websql "1.0.0"
+
+pouchdb-adapter-utils@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pouchdb-adapter-utils/-/pouchdb-adapter-utils-7.0.0.tgz#1ac8d34481911e0e9a9bf51024610a2e7351dc80"
+ integrity sha512-UWKPC6jkz6mHUzZefrU7P5X8ZGvBC8LSNZ7BIp0hWvJE6c20cnpDwedTVDpZORcCbVJpDmFOHBYnOqEIblPtbA==
+ dependencies:
+ pouchdb-binary-utils "7.0.0"
+ pouchdb-collections "7.0.0"
+ pouchdb-errors "7.0.0"
+ pouchdb-md5 "7.0.0"
+ pouchdb-merge "7.0.0"
+ pouchdb-utils "7.0.0"
+
+pouchdb-adapter-utils@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-adapter-utils/-/pouchdb-adapter-utils-7.2.2.tgz#c64426447d9044ba31517a18500d6d2d28abd47d"
+ integrity sha512-2CzZkTyTyHZkr3ePiWFMTiD5+56lnembMjaTl8ohwegM0+hYhRyJux0biAZafVxgIL4gnCUC4w2xf6WVztzKdg==
+ dependencies:
+ pouchdb-binary-utils "7.2.2"
+ pouchdb-collections "7.2.2"
+ pouchdb-errors "7.2.2"
+ pouchdb-md5 "7.2.2"
+ pouchdb-merge "7.2.2"
+ pouchdb-utils "7.2.2"
+
+pouchdb-adapter-websql-core@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pouchdb-adapter-websql-core/-/pouchdb-adapter-websql-core-7.0.0.tgz#27b3e404159538e515b2567baa7869f90caac16c"
+ integrity sha512-NyMaH0bl20SdJdOCzd+fwXo8JZ15a48/MAwMcIbXzsRHE4DjFNlRcWAcjUP6uN4Ezc+Gx+r2tkBBMf71mIz1Aw==
+ dependencies:
+ pouchdb-adapter-utils "7.0.0"
+ pouchdb-binary-utils "7.0.0"
+ pouchdb-collections "7.0.0"
+ pouchdb-errors "7.0.0"
+ pouchdb-json "7.0.0"
+ pouchdb-merge "7.0.0"
+ pouchdb-utils "7.0.0"
+
+pouchdb-binary-utils@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pouchdb-binary-utils/-/pouchdb-binary-utils-7.0.0.tgz#cb71a288b09572a231f6bab1b4aed201c4d219a7"
+ integrity sha512-yUktdOPIPvOVouCjJN3uop+bCcpdPwePrLm9eUAZNgEYnUFu0njdx7Q0WRsZ7UJ6l75HinL5ZHk4bnvEt86FLw==
+ dependencies:
+ buffer-from "1.1.0"
+
+pouchdb-binary-utils@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-binary-utils/-/pouchdb-binary-utils-7.2.2.tgz#0690b348052c543b1e67f032f47092ca82bcb10e"
+ integrity sha512-shacxlmyHbUrNfE6FGYpfyAJx7Q0m91lDdEAaPoKZM3SzAmbtB1i+OaDNtYFztXjJl16yeudkDb3xOeokVL3Qw==
+ dependencies:
+ buffer-from "1.1.1"
+
+pouchdb-collate@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-collate/-/pouchdb-collate-7.2.2.tgz#fc261f5ef837c437e3445fb0abc3f125d982c37c"
+ integrity sha512-/SMY9GGasslknivWlCVwXMRMnQ8myKHs4WryQ5535nq1Wj/ehpqWloMwxEQGvZE1Sda3LOm7/5HwLTcB8Our+w==
+
+pouchdb-collections@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pouchdb-collections/-/pouchdb-collections-7.0.0.tgz#fd1f632337dc6301b0ff8649732ca79204e41780"
+ integrity sha512-DaoUr/vU24Q3gM6ghj0va9j/oBanPwkbhkvnqSyC3Dm5dgf5pculNxueLF9PKMo3ycApoWzHMh6N2N8KJbDU2Q==
+
+pouchdb-collections@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-collections/-/pouchdb-collections-7.2.2.tgz#aeed77f33322429e3f59d59ea233b48ff0e68572"
+ integrity sha512-6O9zyAYlp3UdtfneiMYuOCWdUCQNo2bgdjvNsMSacQX+3g8WvIoFQCYJjZZCpTttQGb+MHeRMr8m2U95lhJTew==
+
+pouchdb-debug@^7.1.1:
+ version "7.2.1"
+ resolved "https://registry.yarnpkg.com/pouchdb-debug/-/pouchdb-debug-7.2.1.tgz#f5f869f6113c12ccb97cddf5b0a32b6e0e67e961"
+ integrity sha512-eP3ht/AKavLF2RjTzBM6S9gaI2/apcW6xvaKRQhEdOfiANqerFuksFqHCal3aikVQuDO+cB/cw+a4RyJn/glBw==
+ dependencies:
+ debug "3.1.0"
+
+pouchdb-errors@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pouchdb-errors/-/pouchdb-errors-7.0.0.tgz#4e2a5a8b82af20cbe5f9970ca90b7ec74563caa0"
+ integrity sha512-dTusY8nnTw4HIztCrNl7AoGgwvS1bVf/3/97hDaGc4ytn72V9/4dK8kTqlimi3UpaurohYRnqac0SGXYP8vgXA==
+ dependencies:
+ inherits "2.0.3"
+
+pouchdb-errors@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-errors/-/pouchdb-errors-7.2.2.tgz#80d811d65c766c9d20b755c6e6cc123f8c3c4792"
+ integrity sha512-6GQsiWc+7uPfgEHeavG+7wuzH3JZW29Dnrvz8eVbDFE50kVFxNDVm3EkYHskvo5isG7/IkOx7PV7RPTA3keG3g==
+ dependencies:
+ inherits "2.0.4"
+
+pouchdb-fetch@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-fetch/-/pouchdb-fetch-7.2.2.tgz#492791236d60c899d7e9973f9aca0d7b9cc02230"
+ integrity sha512-lUHmaG6U3zjdMkh8Vob9GvEiRGwJfXKE02aZfjiVQgew+9SLkuOxNw3y2q4d1B6mBd273y1k2Lm0IAziRNxQnA==
+ dependencies:
+ abort-controller "3.0.0"
+ fetch-cookie "0.10.1"
+ node-fetch "2.6.0"
+
+pouchdb-find@^7.0.0:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-find/-/pouchdb-find-7.2.2.tgz#1227afdd761812d508fe0794b3e904518a721089"
+ integrity sha512-BmFeFVQ0kHmDehvJxNZl9OmIztCjPlZlVSdpijuFbk/Fi1EFPU1BAv3kLC+6DhZuOqU/BCoaUBY9sn66pPY2ag==
+ dependencies:
+ pouchdb-abstract-mapreduce "7.2.2"
+ pouchdb-collate "7.2.2"
+ pouchdb-errors "7.2.2"
+ pouchdb-fetch "7.2.2"
+ pouchdb-md5 "7.2.2"
+ pouchdb-selector-core "7.2.2"
+ pouchdb-utils "7.2.2"
+
+pouchdb-json@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pouchdb-json/-/pouchdb-json-7.0.0.tgz#d9860f66f27a359ac6e4b24da4f89b6909f37530"
+ integrity sha512-w0bNRu/7VmmCrFWMYAm62n30wvJJUT2SokyzeTyj3hRohj4GFwTRg1mSZ+iAmxgRKOFE8nzZstLG/WAB4Ymjew==
+ dependencies:
+ vuvuzela "1.0.3"
+
+pouchdb-json@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-json/-/pouchdb-json-7.2.2.tgz#b939be24b91a7322e9a24b8880a6e21514ec5e1f"
+ integrity sha512-3b2S2ynN+aoB7aCNyDZc/4c0IAdx/ir3nsHB+/RrKE9cM3QkQYbnnE3r/RvOD1Xvr6ji/KOCBie+Pz/6sxoaug==
+ dependencies:
+ vuvuzela "1.0.3"
+
+pouchdb-mapreduce-utils@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-mapreduce-utils/-/pouchdb-mapreduce-utils-7.2.2.tgz#13a46a3cc2a3f3b8e24861da26966904f2963146"
+ integrity sha512-rAllb73hIkU8rU2LJNbzlcj91KuulpwQu804/F6xF3fhZKC/4JQMClahk+N/+VATkpmLxp1zWmvmgdlwVU4HtQ==
+ dependencies:
+ argsarray "0.0.1"
+ inherits "2.0.4"
+ pouchdb-collections "7.2.2"
+ pouchdb-utils "7.2.2"
+
+pouchdb-md5@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pouchdb-md5/-/pouchdb-md5-7.0.0.tgz#935dc6bb507a5f3978fb653ca5790331bae67c96"
+ integrity sha512-yaSJKhLA3QlgloKUQeb2hLdT3KmUmPfoYdryfwHZuPTpXIRKTnMQTR9qCIRUszc0ruBpDe53DRslCgNUhAyTNQ==
+ dependencies:
+ pouchdb-binary-utils "7.0.0"
+ spark-md5 "3.0.0"
+
+pouchdb-md5@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-md5/-/pouchdb-md5-7.2.2.tgz#415401acc5a844112d765bd1fb4e5d9f38fb0838"
+ integrity sha512-c/RvLp2oSh8PLAWU5vFBnp6ejJABIdKqboZwRRUrWcfGDf+oyX8RgmJFlYlzMMOh4XQLUT1IoaDV8cwlsuryZw==
+ dependencies:
+ pouchdb-binary-utils "7.2.2"
+ spark-md5 "3.0.1"
+
+pouchdb-merge@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pouchdb-merge/-/pouchdb-merge-7.0.0.tgz#9f476ce7e32aae56904ad770ae8a1dfe14b57547"
+ integrity sha512-tci5u6NpznQhGcPv4ho1h0miky9rs+ds/T9zQ9meQeDZbUojXNaX1Jxsb0uYEQQ+HMqdcQs3Akdl0/u0mgwPGg==
+
+pouchdb-merge@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-merge/-/pouchdb-merge-7.2.2.tgz#940d85a2b532d6a93a6cab4b250f5648511bcc16"
+ integrity sha512-6yzKJfjIchBaS7Tusuk8280WJdESzFfQ0sb4jeMUNnrqs4Cx3b0DIEOYTRRD9EJDM+je7D3AZZ4AT0tFw8gb4A==
+
+pouchdb-selector-core@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-selector-core/-/pouchdb-selector-core-7.2.2.tgz#264d7436a8c8ac3801f39960e79875ef7f3879a0"
+ integrity sha512-XYKCNv9oiNmSXV5+CgR9pkEkTFqxQGWplnVhO3W9P154H08lU0ZoNH02+uf+NjZ2kjse7Q1fxV4r401LEcGMMg==
+ dependencies:
+ pouchdb-collate "7.2.2"
+ pouchdb-utils "7.2.2"
+
+pouchdb-utils@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/pouchdb-utils/-/pouchdb-utils-7.0.0.tgz#48bfced6665b8f5a2b2d2317e2aa57635ed1e88e"
+ integrity sha512-1bnoX1KdZYHv9wicDIFdO0PLiVIMzNDUBUZ/yOJZ+6LW6niQCB8aCv09ZztmKfSQcU5nnN3fe656tScBgP6dOQ==
+ dependencies:
+ argsarray "0.0.1"
+ clone-buffer "1.0.0"
+ immediate "3.0.6"
+ inherits "2.0.3"
+ pouchdb-collections "7.0.0"
+ pouchdb-errors "7.0.0"
+ pouchdb-md5 "7.0.0"
+ uuid "3.2.1"
+
+pouchdb-utils@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/pouchdb-utils/-/pouchdb-utils-7.2.2.tgz#c17c4788f1d052b0daf4ef8797bbc4aaa3945aa4"
+ integrity sha512-XmeM5ioB4KCfyB2MGZXu1Bb2xkElNwF1qG+zVFbQsKQij0zvepdOUfGuWvLRHxTOmt4muIuSOmWZObZa3NOgzQ==
+ dependencies:
+ argsarray "0.0.1"
+ clone-buffer "1.0.0"
+ immediate "3.3.0"
+ inherits "2.0.4"
+ pouchdb-collections "7.2.2"
+ pouchdb-errors "7.2.2"
+ pouchdb-md5 "7.2.2"
+ uuid "8.1.0"
+
+pouchdb@7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/pouchdb/-/pouchdb-7.1.1.tgz#f5f8dcd1fc440fb76651cb26f6fc5d97a39cd6ce"
+ integrity sha512-8bXWclixNJZqokvxGHRsG19zehSJiaZaz4dVYlhXhhUctz7gMcNTElHjPBzBdZlKKvt9aFDndmXN1VVE53Co8g==
+ dependencies:
+ argsarray "0.0.1"
+ buffer-from "1.1.0"
+ clone-buffer "1.0.0"
+ double-ended-queue "2.1.0-0"
+ fetch-cookie "0.7.0"
+ immediate "3.0.6"
+ inherits "2.0.3"
+ level "5.0.1"
+ level-codec "9.0.1"
+ level-write-stream "1.0.0"
+ leveldown "5.0.2"
+ levelup "4.0.2"
+ ltgt "2.2.1"
+ node-fetch "2.4.1"
+ readable-stream "1.0.33"
+ spark-md5 "3.0.0"
+ through2 "3.0.1"
+ uuid "3.2.1"
+ vuvuzela "1.0.3"
+
+prelude-ls@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+ integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
+
+prepend-http@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+ integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
+
+prepend-http@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
+ integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
+
+preserve@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+ integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
+
+prettier-plugin-solidity@1.0.0-alpha.59:
+ version "1.0.0-alpha.59"
+ resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-alpha.59.tgz#b0cf82fb068537d152d0bc417588d08e952a56c6"
+ integrity sha512-6cE0SWaiYCBoJY4clCfsbWlEEOU4K42Ny6Tg4Jwprgts/q+AVfYnPQ5coRs7zIjYzc4RVspifYPeh+oAg8RpLw==
+ dependencies:
+ "@solidity-parser/parser" "^0.8.1"
+ dir-to-object "^2.0.0"
+ emoji-regex "^9.0.0"
+ escape-string-regexp "^4.0.0"
+ extract-comments "^1.1.0"
+ prettier "^2.0.5"
+ semver "^7.3.2"
+ string-width "^4.2.0"
+
+prettier@^2.0.5, prettier@^2.1.2:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c"
+ integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==
+
+pretty-format@^24.9.0:
+ version "24.9.0"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9"
+ integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==
+ dependencies:
+ "@jest/types" "^24.9.0"
+ ansi-regex "^4.0.0"
+ ansi-styles "^3.2.0"
+ react-is "^16.8.4"
+
+pretty-format@^25.1.0, pretty-format@^25.2.0:
+ version "25.5.0"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a"
+ integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==
+ dependencies:
+ "@jest/types" "^25.5.0"
+ ansi-regex "^5.0.0"
+ ansi-styles "^4.0.0"
+ react-is "^16.12.0"
+
+pretty-format@^26.4.0, pretty-format@^26.5.2, pretty-format@^26.6.2:
+ version "26.6.2"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93"
+ integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==
+ dependencies:
+ "@jest/types" "^26.6.2"
+ ansi-regex "^5.0.0"
+ ansi-styles "^4.0.0"
+ react-is "^17.0.1"
+
+printj@~1.1.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222"
+ integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==
+
+process-nextick-args@~1.0.6:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
+ integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=
+
+process-nextick-args@~2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+ integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+
+process@^0.11.0, process@^0.11.10, process@^0.11.9:
+ version "0.11.10"
+ resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
+ integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
+
+promise.allsettled@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.2.tgz#d66f78fbb600e83e863d893e98b3d4376a9c47c9"
+ integrity sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg==
+ dependencies:
+ array.prototype.map "^1.0.1"
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+ function-bind "^1.1.1"
+ iterate-value "^1.0.0"
+
+promise@^7.1.1:
+ version "7.3.1"
+ resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
+ integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==
+ dependencies:
+ asap "~2.0.3"
+
+promise@^8.0.3:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e"
+ integrity sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==
+ dependencies:
+ asap "~2.0.6"
+
+prompts@^2.4.0:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
+ integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
+ dependencies:
+ kleur "^3.0.3"
+ sisteransi "^1.0.5"
+
+prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2:
+ version "15.7.2"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
+ integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
+ dependencies:
+ loose-envify "^1.4.0"
+ object-assign "^4.1.1"
+ react-is "^16.8.1"
+
+protobufjs@^6.10.2, protobufjs@^6.11.2:
+ version "6.11.2"
+ resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.2.tgz#de39fabd4ed32beaa08e9bb1e30d08544c1edf8b"
+ integrity sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==
+ dependencies:
+ "@protobufjs/aspromise" "^1.1.2"
+ "@protobufjs/base64" "^1.1.2"
+ "@protobufjs/codegen" "^2.0.4"
+ "@protobufjs/eventemitter" "^1.1.0"
+ "@protobufjs/fetch" "^1.1.0"
+ "@protobufjs/float" "^1.0.2"
+ "@protobufjs/inquire" "^1.1.0"
+ "@protobufjs/path" "^1.1.2"
+ "@protobufjs/pool" "^1.1.0"
+ "@protobufjs/utf8" "^1.1.0"
+ "@types/long" "^4.0.1"
+ "@types/node" ">=13.7.0"
+ long "^4.0.0"
+
+protocol-buffers-schema@^3.3.1:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz#77bc75a48b2ff142c1ad5b5b90c94cd0fa2efd03"
+ integrity sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==
+
+protons@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/protons/-/protons-2.0.3.tgz#94f45484d04b66dfedc43ad3abff1e8907994bb2"
+ integrity sha512-j6JikP/H7gNybNinZhAHMN07Vjr1i4lVupg598l4I9gSTjJqOvKnwjzYX2PzvBTSVf2eZ2nWv4vG+mtW8L6tpA==
+ dependencies:
+ protocol-buffers-schema "^3.3.1"
+ signed-varint "^2.0.1"
+ uint8arrays "^3.0.0"
+ varint "^5.0.0"
+
+proxy-addr@~2.0.5:
+ version "2.0.7"
+ resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
+ integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
+ dependencies:
+ forwarded "0.2.0"
+ ipaddr.js "1.9.1"
+
+prr@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
+ integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
+
+pseudomap@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+ integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
+
+psl@^1.1.28, psl@^1.1.33:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
+ integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
+
+public-encrypt@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
+ integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
+ dependencies:
+ bn.js "^4.1.0"
+ browserify-rsa "^4.0.0"
+ create-hash "^1.1.0"
+ parse-asn1 "^5.0.0"
+ randombytes "^2.0.1"
+ safe-buffer "^5.1.2"
+
+pump@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+ integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
+punycode@1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
+ integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
+
+punycode@2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d"
+ integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=
+
+punycode@^1.2.4:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+ integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
+
+punycode@^2.1.0, punycode@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+ integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
+pure-rand@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-5.0.0.tgz#87f5bdabeadbd8904e316913a5c0b8caac517b37"
+ integrity sha512-lD2/y78q+7HqBx2SaT6OT4UcwtvXNRfEpzYEzl0EQ+9gZq2Qi3fa0HDnYPeqQwhlHJFBUhT7AO3mLU3+8bynHA==
+
+q@^1.1.2:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
+ integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
+
+qs@6.7.0:
+ version "6.7.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
+ integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
+
+qs@^6.5.0:
+ version "6.10.1"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a"
+ integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==
+ dependencies:
+ side-channel "^1.0.4"
+
+qs@~6.5.2:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
+ integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
+
+query-string@^5.0.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb"
+ integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==
+ dependencies:
+ decode-uri-component "^0.2.0"
+ object-assign "^4.1.0"
+ strict-uri-encode "^1.0.0"
+
+querystring-es3@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
+ integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
+
+querystring@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
+ integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
+
+querystring@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd"
+ integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==
+
+querystringify@^2.1.1:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
+ integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
+
+queue-microtask@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+ integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
+randomatic@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed"
+ integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==
+ dependencies:
+ is-number "^4.0.0"
+ kind-of "^6.0.0"
+ math-random "^1.0.1"
+
+randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+ integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+ dependencies:
+ safe-buffer "^5.1.0"
+
+randomfill@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
+ integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
+ dependencies:
+ randombytes "^2.0.5"
+ safe-buffer "^5.1.0"
+
+range-parser@~1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
+ integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
+
+raw-body@2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
+ integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
+ dependencies:
+ bytes "3.1.0"
+ http-errors "1.7.2"
+ iconv-lite "0.4.24"
+ unpipe "1.0.0"
+
+rc@^1.2.7:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
+ integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
+ dependencies:
+ deep-extend "^0.6.0"
+ ini "~1.3.0"
+ minimist "^1.2.0"
+ strip-json-comments "~2.0.1"
+
+react-devtools-core@^4.6.0:
+ version "4.21.0"
+ resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.21.0.tgz#a54c9a0fd7261491e616d6c87d1869e011d8521d"
+ integrity sha512-clGWwJHV5MHwTwYyKc+7FZHwzdbzrD2/AoZSkicUcr6YLc3Za9a9FaLhccWDHfjQ+ron9yzNhDT6Tv+FiPkD3g==
+ dependencies:
+ shell-quote "^1.6.1"
+ ws "^7"
+
+react-dom@17.0.1:
+ version "17.0.1"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.1.tgz#1de2560474ec9f0e334285662ede52dbc5426fc6"
+ integrity sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+ scheduler "^0.20.1"
+
+react-fast-compare@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9"
+ integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==
+
+react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4:
+ version "16.13.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
+ integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+
+react-is@^17.0.1:
+ version "17.0.2"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
+ integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
+
+react-native-codegen@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.6.tgz#b3173faa879cf71bfade8d030f9c4698388f6909"
+ integrity sha512-cMvrUelD81wiPitEPiwE/TCNscIVauXxmt4NTGcy18HrUd0WRWXfYzAQGXm0eI87u3NMudNhqFj2NISJenxQHg==
+ dependencies:
+ flow-parser "^0.121.0"
+ jscodeshift "^0.11.0"
+ nullthrows "^1.1.1"
+
+react-native-crypto@^2.0.1:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/react-native-crypto/-/react-native-crypto-2.2.0.tgz#c999ed7c96064f830e1f958687f53d0c44025770"
+ integrity sha512-eZu9Y8pa8BN9FU2pIex7MLRAi+Cd1Y6bsxfiufKh7sfraAACJvjQTeW7/zcQAT93WMfM+D0OVk+bubvkrbrUkw==
+ dependencies:
+ browserify-cipher "^1.0.0"
+ browserify-sign "^4.0.4"
+ create-ecdh "^4.0.0"
+ create-hash "^1.1.0"
+ create-hmac "^1.1.0"
+ diffie-hellman "^5.0.0"
+ inherits "^2.0.1"
+ pbkdf2 "3.0.8"
+ public-encrypt "^4.0.0"
+ randomfill "^1.0.3"
+
+react-native-loading-spinner-overlay@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/react-native-loading-spinner-overlay/-/react-native-loading-spinner-overlay-2.0.0.tgz#30934b6f07cb39711020d6b422a02a2a56763a73"
+ integrity sha512-V38M+N1Wk9GlpbfrD6znsJA1K2+09b3naxq3UjDjqNTA3MOBfj4W87alKSI3P+4ZawczQASTv2fTzhEQ7Z+SVA==
+ dependencies:
+ prop-types "^15.6.2"
+
+react-native-randombytes@^3.5.1:
+ version "3.6.1"
+ resolved "https://registry.yarnpkg.com/react-native-randombytes/-/react-native-randombytes-3.6.1.tgz#cac578093b5ca38e3e085becffdc6cbcf6f0d654"
+ integrity sha512-qxkwMbOZ0Hff1V7VqpaWrR6ItkA+oF6bnI79Qp9F3Tk8WBsdKDi6m1mi3dEdFWePoRLrhJ2L03rU0yabst1tVw==
+ dependencies:
+ buffer "^4.9.1"
+ sjcl "^1.0.3"
+
+react-native-safe-area-context@^3.3.2:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-3.3.2.tgz#9549a2ce580f2374edb05e49d661258d1b8bcaed"
+ integrity sha512-yOwiiPJ1rk+/nfK13eafbpW6sKW0jOnsRem2C1LPJjM3tfTof6hlvV5eWHATye3XOpu2cJ7N+HdkUvUDGwFD2Q==
+
+react-native-svg-transformer@^0.14.3:
+ version "0.14.3"
+ resolved "https://registry.yarnpkg.com/react-native-svg-transformer/-/react-native-svg-transformer-0.14.3.tgz#43c8e176f5a11f16f39b87a64018e0ac090ffbdb"
+ integrity sha512-agDGdMeeBAsWEgg/u7mjtR2Z3c8smGCLep/n3svwifut9dpswZCP+bSIrU8ekg6RNtxAJL+eGJbWjJ38vWxw6g==
+ dependencies:
+ "@svgr/core" "^4.3.3"
+ "@svgr/plugin-svgo" "^4.3.1"
+ path-dirname "^1.0.2"
+ semver "^5.6.0"
+
+react-native-svg@^12.1.1:
+ version "12.1.1"
+ resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-12.1.1.tgz#5f292410b8bcc07bbc52b2da7ceb22caf5bcaaee"
+ integrity sha512-NIAJ8jCnXGCqGWXkkJ1GTzO4a3Md5at5sagYV8Vh4MXYnL4z5Rh428Wahjhh+LIjx40EE5xM5YtwyJBqOIba2Q==
+ dependencies:
+ css-select "^2.1.0"
+ css-tree "^1.0.0-alpha.39"
+
+react-native-tcp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/react-native-tcp/-/react-native-tcp-4.0.0.tgz#142f519798cc41cc3bb39ad45e2970a8643ef461"
+ integrity sha512-68lSq2qns6P33yH7vYuiU5rV7xEiNuA2GYIStFlMvF/uEKDHL53MDgQLC2alKEU9JAHfmB8uUmcu3QQSGkaoig==
+ dependencies:
+ base64-js "0.0.8"
+ buffer "^5.0.0"
+ events "^1.0.2"
+ ip-regex "^1.0.3"
+ process "^0.11.9"
+ util "^0.10.3"
+
+react-native-web@0.17.1:
+ version "0.17.1"
+ resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.17.1.tgz#90d473c89dd99b88bc9830b2a9fcdd2fc5f04902"
+ integrity sha512-lUnn+2O8ynQ6/gJKylSxm7DLi2vHw6AujdDV1+LSa8Epe1bYFJNUcJTEhJf0jNYUFGOujzMtuG8Mkz3HdWTkag==
+ dependencies:
+ array-find-index "^1.0.2"
+ create-react-class "^15.7.0"
+ fbjs "^3.0.0"
+ hyphenate-style-name "^1.0.4"
+ inline-style-prefixer "^6.0.0"
+ normalize-css-color "^1.0.2"
+ prop-types "^15.6.0"
+
+react-native@0.64.3:
+ version "0.64.3"
+ resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.64.3.tgz#40db6385963b4b17325f9cc86dd19132394b03fc"
+ integrity sha512-2OEU74U0Ek1/WeBzPbg6XDsCfjF/9fhrNX/5TFgEiBKd5mNc9LOZ/OlMmkb7iues/ZZ/oc51SbEfLRQdcW0fVw==
+ dependencies:
+ "@jest/create-cache-key-function" "^26.5.0"
+ "@react-native-community/cli" "^5.0.1-alpha.1"
+ "@react-native-community/cli-platform-android" "^5.0.1-alpha.1"
+ "@react-native-community/cli-platform-ios" "^5.0.1-alpha.1"
+ "@react-native/assets" "1.0.0"
+ "@react-native/normalize-color" "1.0.0"
+ "@react-native/polyfills" "1.0.0"
+ abort-controller "^3.0.0"
+ anser "^1.4.9"
+ base64-js "^1.1.2"
+ event-target-shim "^5.0.1"
+ hermes-engine "~0.7.0"
+ invariant "^2.2.4"
+ jsc-android "^245459.0.0"
+ metro-babel-register "0.64.0"
+ metro-react-native-babel-transformer "0.64.0"
+ metro-runtime "0.64.0"
+ metro-source-map "0.64.0"
+ nullthrows "^1.1.1"
+ pretty-format "^26.5.2"
+ promise "^8.0.3"
+ prop-types "^15.7.2"
+ react-devtools-core "^4.6.0"
+ react-native-codegen "^0.0.6"
+ react-refresh "^0.4.0"
+ regenerator-runtime "^0.13.2"
+ scheduler "^0.20.1"
+ shelljs "^0.8.4"
+ stacktrace-parser "^0.1.3"
+ use-subscription "^1.0.0"
+ whatwg-fetch "^3.0.0"
+ ws "^6.1.4"
+
+react-native@^0.63.4:
+ version "0.63.4"
+ resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.63.4.tgz#2210fdd404c94a5fa6b423c6de86f8e48810ec36"
+ integrity sha512-I4kM8kYO2mWEYUFITMcpRulcy4/jd+j9T6PbIzR0FuMcz/xwd+JwHoLPa1HmCesvR1RDOw9o4D+OFLwuXXfmGw==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ "@react-native-community/cli" "^4.10.0"
+ "@react-native-community/cli-platform-android" "^4.10.0"
+ "@react-native-community/cli-platform-ios" "^4.10.0"
+ abort-controller "^3.0.0"
+ anser "^1.4.9"
+ base64-js "^1.1.2"
+ event-target-shim "^5.0.1"
+ fbjs "^1.0.0"
+ fbjs-scripts "^1.1.0"
+ hermes-engine "~0.5.0"
+ invariant "^2.2.4"
+ jsc-android "^245459.0.0"
+ metro-babel-register "0.59.0"
+ metro-react-native-babel-transformer "0.59.0"
+ metro-source-map "0.59.0"
+ nullthrows "^1.1.1"
+ pretty-format "^24.9.0"
+ promise "^8.0.3"
+ prop-types "^15.7.2"
+ react-devtools-core "^4.6.0"
+ react-refresh "^0.4.0"
+ regenerator-runtime "^0.13.2"
+ scheduler "0.19.1"
+ stacktrace-parser "^0.1.3"
+ use-subscription "^1.0.0"
+ whatwg-fetch "^3.0.0"
+
+react-refresh@^0.4.0:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.3.tgz#966f1750c191672e76e16c2efa569150cc73ab53"
+ integrity sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==
+
+react@17.0.1:
+ version "17.0.1"
+ resolved "https://registry.yarnpkg.com/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127"
+ integrity sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+
+read-pkg-up@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=
+ dependencies:
+ find-up "^1.0.0"
+ read-pkg "^1.0.0"
+
+read-pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
+ integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^2.0.0"
+
+read-pkg@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
+read-pkg@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
+ integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=
+ dependencies:
+ load-json-file "^2.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^2.0.0"
+
+readable-stream@1.0.33:
+ version "1.0.33"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.33.tgz#3a360dd66c1b1d7fd4705389860eda1d0f61126c"
+ integrity sha1-OjYN1mwbHX/UcFOJhg7aHQ9hEmw=
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+readable-stream@1.1:
+ version "1.1.13"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e"
+ integrity sha1-9u73ZPUUyJ4rniMUanW6EGdW0j4=
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+readable-stream@1.1.14:
+ version "1.1.14"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
+ integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+"readable-stream@2 || 3", readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
+ integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+"readable-stream@>=1.0.33-1 <1.1.0-0":
+ version "1.0.34"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
+ integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
+ version "2.3.7"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
+ integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+readable-stream@~0.0.2:
+ version "0.0.4"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-0.0.4.tgz#f32d76e3fb863344a548d79923007173665b3b8d"
+ integrity sha1-8y124/uGM0SlSNeZIwBxc2ZbO40=
+
+readable-stream@~2.0.0:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
+ integrity sha1-j5A0HmilPMySh4jaz80Rs265t44=
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "~1.0.0"
+ process-nextick-args "~1.0.6"
+ string_decoder "~0.10.x"
+ util-deprecate "~1.0.1"
+
+readdirp@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
+ integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
+ dependencies:
+ graceful-fs "^4.1.11"
+ micromatch "^3.1.10"
+ readable-stream "^2.0.2"
+
+readdirp@~3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada"
+ integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==
+ dependencies:
+ picomatch "^2.2.1"
+
+readdirp@~3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+ integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+ dependencies:
+ picomatch "^2.2.1"
+
+recast@^0.20.3:
+ version "0.20.5"
+ resolved "https://registry.yarnpkg.com/recast/-/recast-0.20.5.tgz#8e2c6c96827a1b339c634dd232957d230553ceae"
+ integrity sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==
+ dependencies:
+ ast-types "0.14.2"
+ esprima "~4.0.0"
+ source-map "~0.6.1"
+ tslib "^2.0.1"
+
+receptacle@^1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/receptacle/-/receptacle-1.3.2.tgz#a7994c7efafc7a01d0e2041839dab6c4951360d2"
+ integrity sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==
+ dependencies:
+ ms "^2.1.1"
+
+rechoir@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
+ integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
+ dependencies:
+ resolve "^1.1.6"
+
+redux-devtools-core@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/redux-devtools-core/-/redux-devtools-core-0.2.1.tgz#4e43cbe590a1f18c13ee165d2d42e0bc77a164d8"
+ integrity sha512-RAGOxtUFdr/1USAvxrWd+Gq/Euzgw7quCZlO5TgFpDfG7rB5tMhZUrNyBjpzgzL2yMk0eHnPYIGm7NkIfRzHxQ==
+ dependencies:
+ get-params "^0.1.2"
+ jsan "^3.1.13"
+ lodash "^4.17.11"
+ nanoid "^2.0.0"
+ remotedev-serialize "^0.1.8"
+
+redux-devtools-instrument@^1.9.4:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/redux-devtools-instrument/-/redux-devtools-instrument-1.10.0.tgz#036caf79fa1e5f25ec4bae38a9af4f08c69e323a"
+ integrity sha512-X8JRBCzX2ADSMp+iiV7YQ8uoTNyEm0VPFPd4T854coz6lvRiBrFSqAr9YAS2n8Kzxx8CJQotR0QF9wsMM+3DvA==
+ dependencies:
+ lodash "^4.17.19"
+ symbol-observable "^1.2.0"
+
+redux-saga@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-1.0.0.tgz#acb8b3ed9180fecbe75f342011d75af3ac11045b"
+ integrity sha512-GvJWs/SzMvEQgeaw6sRMXnS2FghlvEGsHiEtTLpJqc/FHF3I5EE/B+Hq5lyHZ8LSoT2r/X/46uWvkdCnK9WgHA==
+ dependencies:
+ "@redux-saga/core" "^1.0.0"
+
+redux@^3.7.2:
+ version "3.7.2"
+ resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b"
+ integrity sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==
+ dependencies:
+ lodash "^4.2.1"
+ lodash-es "^4.2.1"
+ loose-envify "^1.1.0"
+ symbol-observable "^1.0.3"
+
+redux@^4.0.4:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/redux/-/redux-4.1.2.tgz#140f35426d99bb4729af760afcf79eaaac407104"
+ integrity sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw==
+ dependencies:
+ "@babel/runtime" "^7.9.2"
+
+regenerate-unicode-properties@^9.0.0:
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326"
+ integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==
+ dependencies:
+ regenerate "^1.4.2"
+
+regenerate@^1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
+ integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
+
+regenerator-runtime@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+ integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
+
+regenerator-runtime@^0.13.2, regenerator-runtime@^0.13.4:
+ version "0.13.9"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
+ integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
+
+regenerator-transform@^0.14.2:
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4"
+ integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==
+ dependencies:
+ "@babel/runtime" "^7.8.4"
+
+regex-cache@^0.4.2:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
+ integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==
+ dependencies:
+ is-equal-shallow "^0.1.3"
+
+regex-not@^1.0.0, regex-not@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
+ integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
+ dependencies:
+ extend-shallow "^3.0.2"
+ safe-regex "^1.1.0"
+
+regexpu-core@^4.7.1:
+ version "4.8.0"
+ resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0"
+ integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==
+ dependencies:
+ regenerate "^1.4.2"
+ regenerate-unicode-properties "^9.0.0"
+ regjsgen "^0.5.2"
+ regjsparser "^0.7.0"
+ unicode-match-property-ecmascript "^2.0.0"
+ unicode-match-property-value-ecmascript "^2.0.0"
+
+regjsgen@^0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733"
+ integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==
+
+regjsparser@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968"
+ integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==
+ dependencies:
+ jsesc "~0.5.0"
+
+relay-compiler@12.0.0:
+ version "12.0.0"
+ resolved "https://registry.yarnpkg.com/relay-compiler/-/relay-compiler-12.0.0.tgz#9f292d483fb871976018704138423a96c8a45439"
+ integrity sha512-SWqeSQZ+AMU/Cr7iZsHi1e78Z7oh00I5SvR092iCJq79aupqJ6Ds+I1Pz/Vzo5uY5PY0jvC4rBJXzlIN5g9boQ==
+ dependencies:
+ "@babel/core" "^7.14.0"
+ "@babel/generator" "^7.14.0"
+ "@babel/parser" "^7.14.0"
+ "@babel/runtime" "^7.0.0"
+ "@babel/traverse" "^7.14.0"
+ "@babel/types" "^7.0.0"
+ babel-preset-fbjs "^3.4.0"
+ chalk "^4.0.0"
+ fb-watchman "^2.0.0"
+ fbjs "^3.0.0"
+ glob "^7.1.1"
+ immutable "~3.7.6"
+ invariant "^2.2.4"
+ nullthrows "^1.1.1"
+ relay-runtime "12.0.0"
+ signedsource "^1.0.0"
+ yargs "^15.3.1"
+
+relay-runtime@12.0.0:
+ version "12.0.0"
+ resolved "https://registry.yarnpkg.com/relay-runtime/-/relay-runtime-12.0.0.tgz#1e039282bdb5e0c1b9a7dc7f6b9a09d4f4ff8237"
+ integrity sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==
+ dependencies:
+ "@babel/runtime" "^7.0.0"
+ fbjs "^3.0.0"
+ invariant "^2.2.4"
+
+remote-redux-devtools@^0.5.12:
+ version "0.5.16"
+ resolved "https://registry.yarnpkg.com/remote-redux-devtools/-/remote-redux-devtools-0.5.16.tgz#95b1a4a1988147ca04f3368f3573b661748b3717"
+ integrity sha512-xZ2D1VRIWzat5nsvcraT6fKEX9Cfi+HbQBCwzNnUAM8Uicm/anOc60XGalcaDPrVmLug7nhDl2nimEa3bL3K9w==
+ dependencies:
+ jsan "^3.1.13"
+ querystring "^0.2.0"
+ redux-devtools-core "^0.2.1"
+ redux-devtools-instrument "^1.9.4"
+ rn-host-detect "^1.1.5"
+ socketcluster-client "^14.2.1"
+
+remotedev-serialize@^0.1.8:
+ version "0.1.9"
+ resolved "https://registry.yarnpkg.com/remotedev-serialize/-/remotedev-serialize-0.1.9.tgz#5e67e05cbca75d408d769d057dc59d0f56cd2c43"
+ integrity sha512-5tFdZg9mSaAWTv6xmQ7HtHjKMLSFQFExEZOtJe10PLsv1wb7cy7kYHtBvTYRro27/3fRGEcQBRNKSaixOpb69w==
+ dependencies:
+ jsan "^3.1.13"
+
+remove-trailing-separator@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+ integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
+
+repeat-element@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9"
+ integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==
+
+repeat-string@^1.5.2, repeat-string@^1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+ integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
+
+repeating@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
+ dependencies:
+ is-finite "^1.0.0"
+
+replace-ext@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924"
+ integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=
+
+request@^2.55.0, request@^2.79.0:
+ version "2.88.2"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
+ integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.8.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.6"
+ extend "~3.0.2"
+ forever-agent "~0.6.1"
+ form-data "~2.3.2"
+ har-validator "~5.1.3"
+ http-signature "~1.2.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.19"
+ oauth-sign "~0.9.0"
+ performance-now "^2.1.0"
+ qs "~6.5.2"
+ safe-buffer "^5.1.2"
+ tough-cookie "~2.5.0"
+ tunnel-agent "^0.6.0"
+ uuid "^3.3.2"
+
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+ integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+
+require-from-string@^1.1.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418"
+ integrity sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=
+
+require-from-string@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
+ integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
+
+require-main-filename@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
+ integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=
+
+require-main-filename@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
+ integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
+
+requires-port@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
+ integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
+
+reselect-tree@^1.3.4:
+ version "1.3.4"
+ resolved "https://registry.yarnpkg.com/reselect-tree/-/reselect-tree-1.3.4.tgz#449629728e2dc79bf0602571ec8859ac34737089"
+ integrity sha512-1OgNq1IStyJFqIqOoD3k3Ge4SsYCMP9W88VQOfvgyLniVKLfvbYO1Vrl92SyEK5021MkoBX6tWb381VxTDyPBQ==
+ dependencies:
+ debug "^3.1.0"
+ esdoc "^1.0.4"
+ json-pointer "^0.6.0"
+ reselect "^4.0.0"
+ source-map-support "^0.5.3"
+
+reselect@^4.0.0:
+ version "4.1.4"
+ resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.4.tgz#66df0aff41b6ee0f51e2cc17cfaf2c1995916f32"
+ integrity sha512-i1LgXw8DKSU5qz1EV0ZIKz4yIUHJ7L3bODh+Da6HmVSm9vdL/hG7IpbgzQ3k2XSirzf8/eI7OMEs81gb1VV2fQ==
+
+reset@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/reset/-/reset-0.1.0.tgz#9fc7314171995ae6cb0b7e58b06ce7522af4bafb"
+ integrity sha1-n8cxQXGZWubLC35YsGznUir0uvs=
+
+resolve-dir@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
+ integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=
+ dependencies:
+ expand-tilde "^2.0.0"
+ global-modules "^1.0.0"
+
+resolve-from@5.0.0, resolve-from@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
+ integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+
+resolve-from@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
+ integrity sha1-six699nWiBvItuZTM17rywoYh0g=
+
+resolve-url@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
+ integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
+
+resolve@^1.1.6, resolve@^1.10.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.5.0:
+ version "1.20.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
+ integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
+ dependencies:
+ is-core-module "^2.2.0"
+ path-parse "^1.0.6"
+
+responselike@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
+ integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=
+ dependencies:
+ lowercase-keys "^1.0.0"
+
+restore-cursor@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
+ dependencies:
+ onetime "^2.0.0"
+ signal-exit "^3.0.2"
+
+restore-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
+ integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
+ dependencies:
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+
+ret@~0.1.10:
+ version "0.1.15"
+ resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+ integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
+
+retimer@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/retimer/-/retimer-2.0.0.tgz#e8bd68c5e5a8ec2f49ccb5c636db84c04063bbca"
+ integrity sha512-KLXY85WkEq2V2bKex/LOO1ViXVn2KGYe4PYysAdYdjmraYIUsVkXu8O4am+8+5UbaaGl1qho4aqAAPHNQ4GSbg==
+
+retry@0.13.1:
+ version "0.13.1"
+ resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658"
+ integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==
+
+reusify@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+ integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
+right-align@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
+ integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8=
+ dependencies:
+ align-text "^0.1.1"
+
+rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
+ integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
+ dependencies:
+ glob "^7.1.3"
+
+rimraf@~2.2.6:
+ version "2.2.8"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582"
+ integrity sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=
+
+rimraf@~2.6.2:
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
+ integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
+ dependencies:
+ glob "^7.1.3"
+
+ripemd160-min@0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/ripemd160-min/-/ripemd160-min-0.0.6.tgz#a904b77658114474d02503e819dcc55853b67e62"
+ integrity sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A==
+
+ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
+ integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+
+rlp@^2.0.0, rlp@^2.2.3, rlp@^2.2.4:
+ version "2.2.7"
+ resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf"
+ integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==
+ dependencies:
+ bn.js "^5.2.0"
+
+rn-host-detect@^1.1.5:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/rn-host-detect/-/rn-host-detect-1.2.0.tgz#8b0396fc05631ec60c1cb8789e5070cdb04d0da0"
+ integrity sha512-btNg5kzHcjZZ7t7mvvV/4wNJ9e3MPgrWivkRgWURzXL0JJ0pwWlU4zrbmdlz3HHzHOxhBhHB4D+/dbMFfu4/4A==
+
+rpc-websockets@^5.3.1:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-5.3.1.tgz#678ca24315e4fe34a5f42ac7c2744764c056eb08"
+ integrity sha512-rIxEl1BbXRlIA9ON7EmY/2GUM7RLMy8zrUPTiLPFiYnYOz0I3PXfCmDDrge5vt4pW4oIcAXBDvgZuJ1jlY5+VA==
+ dependencies:
+ "@babel/runtime" "^7.8.7"
+ assert-args "^1.2.1"
+ babel-runtime "^6.26.0"
+ circular-json "^0.5.9"
+ eventemitter3 "^3.1.2"
+ uuid "^3.4.0"
+ ws "^5.2.2"
+
+rsvp@^4.8.4:
+ version "4.8.5"
+ resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734"
+ integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==
+
+run-async@^2.2.0:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
+ integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
+
+run-parallel@^1.1.9:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+ integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ dependencies:
+ queue-microtask "^1.2.2"
+
+run@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/run/-/run-1.4.0.tgz#e17d9e9043ab2fe17776cb299e1237f38f0b4ffa"
+ integrity sha1-4X2ekEOrL+F3dsspnhI3848LT/o=
+ dependencies:
+ minimatch "*"
+
+rx-lite-aggregates@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
+ integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=
+ dependencies:
+ rx-lite "*"
+
+rx-lite@*, rx-lite@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
+ integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=
+
+rxjs@6:
+ version "6.6.7"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
+ integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
+ dependencies:
+ tslib "^1.9.0"
+
+safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+safe-regex@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
+ integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
+ dependencies:
+ ret "~0.1.10"
+
+"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+sane@^4.0.3:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded"
+ integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==
+ dependencies:
+ "@cnakazawa/watch" "^1.0.3"
+ anymatch "^2.0.0"
+ capture-exit "^2.0.0"
+ exec-sh "^0.3.2"
+ execa "^1.0.0"
+ fb-watchman "^2.0.0"
+ micromatch "^3.1.4"
+ minimist "^1.1.1"
+ walker "~1.0.5"
+
+sax@>=0.6.0, sax@^1.1.4, sax@^1.2.1, sax@^1.2.4, sax@~1.2.4:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
+ integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
+
+sc-channel@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/sc-channel/-/sc-channel-1.2.0.tgz#d9209f3a91e3fa694c66b011ce55c4ad8c3087d9"
+ integrity sha512-M3gdq8PlKg0zWJSisWqAsMmTVxYRTpVRqw4CWAdKBgAfVKumFcTjoCV0hYu7lgUXccCtCD8Wk9VkkE+IXCxmZA==
+ dependencies:
+ component-emitter "1.2.1"
+
+sc-errors@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/sc-errors/-/sc-errors-2.0.1.tgz#3af2d934dfd82116279a4b2c1552c1e021ddcb03"
+ integrity sha512-JoVhq3Ud+3Ujv2SIG7W0XtjRHsrNgl6iXuHHsh0s+Kdt5NwI6N2EGAZD4iteitdDv68ENBkpjtSvN597/wxPSQ==
+
+sc-formatter@^3.0.1:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/sc-formatter/-/sc-formatter-3.0.2.tgz#9abdb14e71873ce7157714d3002477bbdb33c4e6"
+ integrity sha512-9PbqYBpCq+OoEeRQ3QfFIGE6qwjjBcd2j7UjgDlhnZbtSnuGgHdcRklPKYGuYFH82V/dwd+AIpu8XvA1zqTd+A==
+
+scheduler@0.19.1:
+ version "0.19.1"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196"
+ integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+
+scheduler@^0.20.1:
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91"
+ integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==
+ dependencies:
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+
+scrypt-async@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/scrypt-async/-/scrypt-async-2.0.1.tgz#4318dae48a8b7cc3b8fe05f75f4164a7d973d25d"
+ integrity sha512-wHR032jldwZNy7Tzrfu7RccOgGf8r5hyDMSP2uV6DpLiBUsR8JsDcx/in73o2UGVVrH5ivRFdNsFPcjtl3LErQ==
+
+scrypt-js@2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16"
+ integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==
+
+scrypt-js@3.0.1, scrypt-js@^3.0.0, scrypt-js@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312"
+ integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==
+
+secp256k1@^4.0.0, secp256k1@^4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.2.tgz#15dd57d0f0b9fdb54ac1fa1694f40e5e9a54f4a1"
+ integrity sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==
+ dependencies:
+ elliptic "^6.5.2"
+ node-addon-api "^2.0.0"
+ node-gyp-build "^4.2.0"
+
+seedrandom@^3.0.5:
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.5.tgz#54edc85c95222525b0c7a6f6b3543d8e0b3aa0a7"
+ integrity sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==
+
+"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+ integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
+semver@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
+ integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
+
+semver@7.3.2:
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
+ integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
+
+semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+ integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+
+semver@^7.3.2, semver@^7.3.4, semver@^7.3.5:
+ version "7.3.5"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
+ integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
+ dependencies:
+ lru-cache "^6.0.0"
+
+send@0.17.1:
+ version "0.17.1"
+ resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
+ integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
+ dependencies:
+ debug "2.6.9"
+ depd "~1.1.2"
+ destroy "~1.0.4"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ fresh "0.5.2"
+ http-errors "~1.7.2"
+ mime "1.6.0"
+ ms "2.1.1"
+ on-finished "~2.3.0"
+ range-parser "~1.2.1"
+ statuses "~1.5.0"
+
+sentence-case@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-2.1.1.tgz#1f6e2dda39c168bf92d13f86d4a918933f667ed4"
+ integrity sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ=
+ dependencies:
+ no-case "^2.2.0"
+ upper-case-first "^1.1.2"
+
+serialize-error@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a"
+ integrity sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=
+
+serialize-javascript@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa"
+ integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==
+ dependencies:
+ randombytes "^2.1.0"
+
+serve-static@1.14.1, serve-static@^1.13.1:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
+ integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
+ dependencies:
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ parseurl "~1.3.3"
+ send "0.17.1"
+
+servify@^0.1.12:
+ version "0.1.12"
+ resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95"
+ integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==
+ dependencies:
+ body-parser "^1.16.0"
+ cors "^2.8.1"
+ express "^4.14.0"
+ request "^2.79.0"
+ xhr "^2.3.3"
+
+set-blocking@^2.0.0, set-blocking@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+ integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
+
+set-value@^2.0.0, set-value@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
+ integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-extendable "^0.1.1"
+ is-plain-object "^2.0.3"
+ split-string "^3.0.1"
+
+setimmediate@1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f"
+ integrity sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=
+
+setimmediate@^1.0.4, setimmediate@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+ integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
+
+setprototypeof@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
+ integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
+
+setprototypeof@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
+ integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
+
+sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8:
+ version "2.4.11"
+ resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
+ integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+sha3@^2.1.1:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/sha3/-/sha3-2.1.4.tgz#000fac0fe7c2feac1f48a25e7a31b52a6492cc8f"
+ integrity sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg==
+ dependencies:
+ buffer "6.0.3"
+
+shallow-clone@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060"
+ integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=
+ dependencies:
+ is-extendable "^0.1.1"
+ kind-of "^2.0.1"
+ lazy-cache "^0.2.3"
+ mixin-object "^2.0.1"
+
+shallow-clone@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
+ integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==
+ dependencies:
+ kind-of "^6.0.2"
+
+shallowequal@^1.0.2:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
+ integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
+
+shebang-command@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
+ dependencies:
+ shebang-regex "^1.0.0"
+
+shebang-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+ integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
+
+shell-quote@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767"
+ integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=
+ dependencies:
+ array-filter "~0.0.0"
+ array-map "~0.0.0"
+ array-reduce "~0.0.0"
+ jsonify "~0.0.0"
+
+shell-quote@^1.6.1:
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123"
+ integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==
+
+shelljs@^0.8.4:
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2"
+ integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==
+ dependencies:
+ glob "^7.0.0"
+ interpret "^1.0.0"
+ rechoir "^0.6.2"
+
+side-channel@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
+ integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
+ dependencies:
+ call-bind "^1.0.0"
+ get-intrinsic "^1.0.2"
+ object-inspect "^1.9.0"
+
+signal-exit@^3.0.0, signal-exit@^3.0.2:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af"
+ integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==
+
+signed-varint@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/signed-varint/-/signed-varint-2.0.1.tgz#50a9989da7c98c2c61dad119bc97470ef8528129"
+ integrity sha1-UKmYnafJjCxh2tEZvJdHDvhSgSk=
+ dependencies:
+ varint "~5.0.0"
+
+signedsource@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/signedsource/-/signedsource-1.0.0.tgz#1ddace4981798f93bd833973803d80d52e93ad6a"
+ integrity sha1-HdrOSYF5j5O9gzlzgD2A1S6TrWo=
+
+simple-concat@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
+ integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
+
+simple-get@^2.7.0:
+ version "2.8.1"
+ resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.1.tgz#0e22e91d4575d87620620bc91308d57a77f44b5d"
+ integrity sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==
+ dependencies:
+ decompress-response "^3.3.0"
+ once "^1.3.1"
+ simple-concat "^1.0.0"
+
+simple-plist@^1.0.0, simple-plist@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.3.0.tgz#f451997663eafd8ea6bad353a01caf49ef186d43"
+ integrity sha512-uYWpeGFtZtVt2NhG4AHgpwx323zxD85x42heMJBan1qAiqqozIlaGrwrEt6kRjXWRWIXsuV1VLCvVmZan2B5dg==
+ dependencies:
+ bplist-creator "0.1.0"
+ bplist-parser "0.3.0"
+ plist "^3.0.4"
+
+simple-swizzle@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
+ integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
+ dependencies:
+ is-arrayish "^0.3.1"
+
+sisteransi@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
+ integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
+
+sjcl@^1.0.3:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/sjcl/-/sjcl-1.0.8.tgz#f2ec8d7dc1f0f21b069b8914a41a8f236b0e252a"
+ integrity sha512-LzIjEQ0S0DpIgnxMEayM1rq9aGwGRG4OnZhCdjx7glTaJtf4zRfpg87ImfjSJjoW9vKpagd82McDOwbRT5kQKQ==
+
+slash@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
+ integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
+
+slash@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
+slice-ansi@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
+ integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
+ dependencies:
+ ansi-styles "^3.2.0"
+ astral-regex "^1.0.0"
+ is-fullwidth-code-point "^2.0.0"
+
+slugify@^1.3.4:
+ version "1.6.3"
+ resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.3.tgz#325aec50871acfb17976f2d3cb09ee1e7ab563be"
+ integrity sha512-1MPyqnIhgiq+/0iDJyqSJHENdnH5MMIlgJIBxmkRMzTNKlS/QsN5dXsB+MdDq4E6w0g9jFA4XOTRkVDjDae/2w==
+
+snake-case@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f"
+ integrity sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8=
+ dependencies:
+ no-case "^2.2.0"
+
+snapdragon-node@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
+ integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
+ dependencies:
+ define-property "^1.0.0"
+ isobject "^3.0.0"
+ snapdragon-util "^3.0.1"
+
+snapdragon-util@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
+ integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
+ dependencies:
+ kind-of "^3.2.0"
+
+snapdragon@^0.8.1:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
+ integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
+ dependencies:
+ base "^0.11.1"
+ debug "^2.2.0"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ map-cache "^0.2.2"
+ source-map "^0.5.6"
+ source-map-resolve "^0.5.0"
+ use "^3.1.0"
+
+socketcluster-client@^14.2.1:
+ version "14.3.2"
+ resolved "https://registry.yarnpkg.com/socketcluster-client/-/socketcluster-client-14.3.2.tgz#c0d245233b114a4972857dc81049c710b7691fb7"
+ integrity sha512-xDtgW7Ss0ARlfhx53bJ5GY5THDdEOeJnT+/C9Rmrj/vnZr54xeiQfrCZJbcglwe732nK3V+uZq87IvrRl7Hn4g==
+ dependencies:
+ buffer "^5.2.1"
+ clone "2.1.1"
+ component-emitter "1.2.1"
+ linked-list "0.1.0"
+ querystring "0.2.0"
+ sc-channel "^1.2.0"
+ sc-errors "^2.0.1"
+ sc-formatter "^3.0.1"
+ uuid "3.2.1"
+ ws "^7.5.0"
+
+solc@^0.4.20:
+ version "0.4.26"
+ resolved "https://registry.yarnpkg.com/solc/-/solc-0.4.26.tgz#5390a62a99f40806b86258c737c1cf653cc35cb5"
+ integrity sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==
+ dependencies:
+ fs-extra "^0.30.0"
+ memorystream "^0.3.1"
+ require-from-string "^1.1.0"
+ semver "^5.3.0"
+ yargs "^4.7.1"
+
+source-list-map@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
+ integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
+
+source-map-resolve@^0.5.0, source-map-resolve@^0.5.2:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
+ integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==
+ dependencies:
+ atob "^2.1.2"
+ decode-uri-component "^0.2.0"
+ resolve-url "^0.2.1"
+ source-map-url "^0.4.0"
+ urix "^0.1.0"
+
+source-map-support@0.5.12:
+ version "0.5.12"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599"
+ integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
+source-map-support@^0.5.16, source-map-support@^0.5.17, source-map-support@^0.5.19, source-map-support@^0.5.3:
+ version "0.5.21"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
+ integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
+source-map-url@^0.4.0:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56"
+ integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==
+
+source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+ integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
+
+source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+source-map@^0.7.3:
+ version "0.7.3"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
+ integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
+
+spark-md5@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/spark-md5/-/spark-md5-3.0.0.tgz#3722227c54e2faf24b1dc6d933cc144e6f71bfef"
+ integrity sha1-NyIifFTi+vJLHcbZM8wUTm9xv+8=
+
+spark-md5@3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/spark-md5/-/spark-md5-3.0.1.tgz#83a0e255734f2ab4e5c466e5a2cfc9ba2aa2124d"
+ integrity sha512-0tF3AGSD1ppQeuffsLDIOWlKUd3lS92tFxcsrh5Pe3ZphhnoK+oXIBTzOAThZCiuINZLvpiLH/1VS1/ANEJVig==
+
+spdx-correct@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
+ integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==
+ dependencies:
+ spdx-expression-parse "^3.0.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-exceptions@^2.1.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
+ integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
+
+spdx-expression-parse@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
+ integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
+ dependencies:
+ spdx-exceptions "^2.1.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-license-ids@^3.0.0:
+ version "3.0.11"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95"
+ integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==
+
+spinnies@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/spinnies/-/spinnies-0.5.1.tgz#6ac88455d9117c7712d52898a02c969811819a7e"
+ integrity sha512-WpjSXv9NQz0nU3yCT9TFEOfpFrXADY9C5fG6eAJqixLhvTX1jP3w92Y8IE5oafIe42nlF9otjhllnXN/QCaB3A==
+ dependencies:
+ chalk "^2.4.2"
+ cli-cursor "^3.0.0"
+ strip-ansi "^5.2.0"
+
+split-string@^3.0.1, split-string@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
+ integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
+ dependencies:
+ extend-shallow "^3.0.0"
+
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
+
+sqlite3@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-4.2.0.tgz#49026d665e9fc4f922e56fb9711ba5b4c85c4901"
+ integrity sha512-roEOz41hxui2Q7uYnWsjMOTry6TcNUNmp8audCx18gF10P2NknwdpF+E+HKvz/F2NvPKGGBF4NGc+ZPQ+AABwg==
+ dependencies:
+ nan "^2.12.1"
+ node-pre-gyp "^0.11.0"
+
+sshpk@^1.7.0:
+ version "1.16.1"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
+ integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ bcrypt-pbkdf "^1.0.0"
+ dashdash "^1.12.0"
+ ecc-jsbn "~0.1.1"
+ getpass "^0.1.1"
+ jsbn "~0.1.0"
+ safer-buffer "^2.0.2"
+ tweetnacl "~0.14.0"
+
+stable@^0.1.8:
+ version "0.1.8"
+ resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
+ integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
+
+stack-utils@^1.0.1:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b"
+ integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==
+ dependencies:
+ escape-string-regexp "^2.0.0"
+
+stackframe@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303"
+ integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==
+
+stacktrace-parser@^0.1.3:
+ version "0.1.10"
+ resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a"
+ integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==
+ dependencies:
+ type-fest "^0.7.1"
+
+static-extend@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
+ integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
+ dependencies:
+ define-property "^0.2.5"
+ object-copy "^0.1.0"
+
+"statuses@>= 1.5.0 < 2", statuses@~1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
+ integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
+
+stoppable@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/stoppable/-/stoppable-1.1.0.tgz#32da568e83ea488b08e4d7ea2c3bcc9d75015d5b"
+ integrity sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==
+
+stream-browserify@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
+ integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==
+ dependencies:
+ inherits "~2.0.1"
+ readable-stream "^2.0.2"
+
+stream-browserify@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f"
+ integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==
+ dependencies:
+ inherits "~2.0.4"
+ readable-stream "^3.5.0"
+
+stream-buffers@2.2.x:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4"
+ integrity sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=
+
+stream-http@^2.3.1, stream-http@^2.7.2:
+ version "2.8.3"
+ resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
+ integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==
+ dependencies:
+ builtin-status-codes "^3.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.3.6"
+ to-arraybuffer "^1.0.0"
+ xtend "^4.0.0"
+
+stream-shift@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
+ integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
+
+stream-to-it@^0.2.0, stream-to-it@^0.2.2:
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/stream-to-it/-/stream-to-it-0.2.4.tgz#d2fd7bfbd4a899b4c0d6a7e6a533723af5749bd0"
+ integrity sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==
+ dependencies:
+ get-iterator "^1.0.2"
+
+streamsearch@0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a"
+ integrity sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=
+
+strict-uri-encode@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
+ integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
+
+string-width@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ strip-ansi "^3.0.0"
+
+"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+ integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^4.0.0"
+
+"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+string-width@^3.0.0, string-width@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
+ integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
+ dependencies:
+ emoji-regex "^7.0.1"
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^5.1.0"
+
+string.prototype.trimend@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
+ integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+
+string.prototype.trimstart@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed"
+ integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==
+ dependencies:
+ call-bind "^1.0.2"
+ define-properties "^1.1.3"
+
+string_decoder@^1.0.0, string_decoder@^1.0.3, string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+string_decoder@~0.10.x:
+ version "0.10.31"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+ integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+ dependencies:
+ safe-buffer "~5.1.0"
+
+strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
+ dependencies:
+ ansi-regex "^2.0.0"
+
+strip-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
+ dependencies:
+ ansi-regex "^3.0.0"
+
+strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
+ integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
+ dependencies:
+ ansi-regex "^4.1.0"
+
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
+strip-bom-stream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee"
+ integrity sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=
+ dependencies:
+ first-chunk-stream "^1.0.0"
+ strip-bom "^2.0.0"
+
+strip-bom@2.X, strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
+ dependencies:
+ is-utf8 "^0.2.0"
+
+strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+ integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
+
+strip-eof@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
+ integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
+
+strip-hex-prefix@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f"
+ integrity sha1-DF8VX+8RUTczd96du1iNoFUA428=
+ dependencies:
+ is-hex-prefixed "1.0.0"
+
+strip-indent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
+ integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=
+
+strip-json-comments@2.0.1, strip-json-comments@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+ integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
+
+strip-json-comments@3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7"
+ integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==
+
+sublevel-pouchdb@7.2.2:
+ version "7.2.2"
+ resolved "https://registry.yarnpkg.com/sublevel-pouchdb/-/sublevel-pouchdb-7.2.2.tgz#49e46cd37883bf7ff5006d7c5b9bcc7bcc1f422f"
+ integrity sha512-y5uYgwKDgXVyPZceTDGWsSFAhpSddY29l9PJbXqMJLfREdPmQTY8InpatohlEfCXX7s1LGcrfYAhxPFZaJOLnQ==
+ dependencies:
+ inherits "2.0.4"
+ level-codec "9.0.2"
+ ltgt "2.2.1"
+ readable-stream "1.1.14"
+
+subscriptions-transport-ws@^0.9.18, subscriptions-transport-ws@^0.9.19:
+ version "0.9.19"
+ resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.19.tgz#10ca32f7e291d5ee8eb728b9c02e43c52606cdcf"
+ integrity sha512-dxdemxFFB0ppCLg10FTtRqH/31FNRL1y1BQv8209MK5I4CwALb7iihQg+7p65lFcIl8MHatINWBLOqpgU4Kyyw==
+ dependencies:
+ backo2 "^1.0.2"
+ eventemitter3 "^3.1.0"
+ iterall "^1.2.1"
+ symbol-observable "^1.0.4"
+ ws "^5.2.0 || ^6.0.0 || ^7.0.0"
+
+sucrase@^3.20.0:
+ version "3.20.3"
+ resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.20.3.tgz#424f1e75b77f955724b06060f1ae708f5f0935cf"
+ integrity sha512-azqwq0/Bs6RzLAdb4dXxsCgMtAaD2hzmUr4UhSfsxO46JFPAwMnnb441B/qsudZiS6Ylea3JXZe3Q497lsgXzQ==
+ dependencies:
+ commander "^4.0.0"
+ glob "7.1.6"
+ lines-and-columns "^1.1.6"
+ mz "^2.7.0"
+ pirates "^4.0.1"
+ ts-interface-checker "^0.1.9"
+
+sudo-prompt@^9.0.0:
+ version "9.2.1"
+ resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-9.2.1.tgz#77efb84309c9ca489527a4e749f287e6bdd52afd"
+ integrity sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==
+
+super-split@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/super-split/-/super-split-1.1.0.tgz#43b3ba719155f4d43891a32729d59b213d9155fc"
+ integrity sha512-I4bA5mgcb6Fw5UJ+EkpzqXfiuvVGS/7MuND+oBxNFmxu3ugLNrdIatzBLfhFRMVMLxgSsRy+TjIktgkF9RFSNQ==
+
+supports-color@6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a"
+ integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==
+ dependencies:
+ has-flag "^3.0.0"
+
+supports-color@7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
+ integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-color@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+ integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
+
+supports-color@^4.2.1:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
+ integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=
+ dependencies:
+ has-flag "^2.0.0"
+
+supports-color@^5.3.0:
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+ dependencies:
+ has-flag "^3.0.0"
+
+supports-color@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
+ integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
+ dependencies:
+ has-flag "^3.0.0"
+
+supports-color@^7.0.0, supports-color@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+ dependencies:
+ has-flag "^4.0.0"
+
+svg-parser@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5"
+ integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==
+
+svgo@^1.2.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167"
+ integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==
+ dependencies:
+ chalk "^2.4.1"
+ coa "^2.0.2"
+ css-select "^2.0.0"
+ css-select-base-adapter "^0.1.1"
+ css-tree "1.0.0-alpha.37"
+ csso "^4.0.2"
+ js-yaml "^3.13.1"
+ mkdirp "~0.5.1"
+ object.values "^1.1.0"
+ sax "~1.2.4"
+ stable "^0.1.8"
+ unquote "~1.1.1"
+ util.promisify "~1.0.0"
+
+swap-case@^1.1.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3"
+ integrity sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=
+ dependencies:
+ lower-case "^1.1.1"
+ upper-case "^1.1.1"
+
+swarm-js@^0.1.40:
+ version "0.1.40"
+ resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.40.tgz#b1bc7b6dcc76061f6c772203e004c11997e06b99"
+ integrity sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==
+ dependencies:
+ bluebird "^3.5.0"
+ buffer "^5.0.5"
+ eth-lib "^0.1.26"
+ fs-extra "^4.0.2"
+ got "^7.1.0"
+ mime-types "^2.1.16"
+ mkdirp-promise "^5.0.1"
+ mock-fs "^4.1.0"
+ setimmediate "^1.0.5"
+ tar "^4.0.2"
+ xhr-request "^1.0.1"
+
+symbol-observable@^1.0.3, symbol-observable@^1.0.4, symbol-observable@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
+ integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
+
+symbol-observable@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205"
+ integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==
+
+"symbol-tree@>= 3.1.0 < 4.0.0":
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
+ integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
+
+symbol@^0.2.1:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/symbol/-/symbol-0.2.3.tgz#3b9873b8a901e47c6efe21526a3ac372ef28bbc7"
+ integrity sha1-O5hzuKkB5Hxu/iFSajrDcu8ou8c=
+
+sync-fetch@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/sync-fetch/-/sync-fetch-0.3.0.tgz#77246da949389310ad978ab26790bb05f88d1335"
+ integrity sha512-dJp4qg+x4JwSEW1HibAuMi0IIrBI3wuQr2GimmqB7OXR50wmwzfdusG+p39R9w3R6aFtZ2mzvxvWKQ3Bd/vx3g==
+ dependencies:
+ buffer "^5.7.0"
+ node-fetch "^2.6.1"
+
+taffydb@2.7.3:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.7.3.tgz#2ad37169629498fca5bc84243096d3cde0ec3a34"
+ integrity sha1-KtNxaWKUmPylvIQkMJbTzeDsOjQ=
+
+tapable@^0.2.7:
+ version "0.2.9"
+ resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.9.tgz#af2d8bbc9b04f74ee17af2b4d9048f807acd18a8"
+ integrity sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==
+
+tar@^4, tar@^4.0.2:
+ version "4.4.19"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3"
+ integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==
+ dependencies:
+ chownr "^1.1.4"
+ fs-minipass "^1.2.7"
+ minipass "^2.9.0"
+ minizlib "^1.3.3"
+ mkdirp "^0.5.5"
+ safe-buffer "^5.2.1"
+ yallist "^3.1.1"
+
+temp-dir@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d"
+ integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=
+
+temp@0.8.3:
+ version "0.8.3"
+ resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59"
+ integrity sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=
+ dependencies:
+ os-tmpdir "^1.0.0"
+ rimraf "~2.2.6"
+
+temp@^0.8.1:
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2"
+ integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==
+ dependencies:
+ rimraf "~2.6.2"
+
+tempy@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.3.0.tgz#6f6c5b295695a16130996ad5ab01a8bd726e8bf8"
+ integrity sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==
+ dependencies:
+ temp-dir "^1.0.0"
+ type-fest "^0.3.1"
+ unique-string "^1.0.0"
+
+testrpc@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/testrpc/-/testrpc-0.0.1.tgz#83e2195b1f5873aec7be1af8cbe6dcf39edb7aed"
+ integrity sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==
+
+thenify-all@^1.0.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
+ integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=
+ dependencies:
+ thenify ">= 3.1.0 < 4"
+
+"thenify@>= 3.1.0 < 4":
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f"
+ integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==
+ dependencies:
+ any-promise "^1.0.0"
+
+throat@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
+ integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=
+
+throat@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b"
+ integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==
+
+through2-filter@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec"
+ integrity sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=
+ dependencies:
+ through2 "~2.0.0"
+ xtend "~4.0.0"
+
+through2-filter@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254"
+ integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==
+ dependencies:
+ through2 "~2.0.0"
+ xtend "~4.0.0"
+
+through2@2.X, through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.0:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
+ integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
+ dependencies:
+ readable-stream "~2.3.6"
+ xtend "~4.0.1"
+
+through2@3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a"
+ integrity sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==
+ dependencies:
+ readable-stream "2 || 3"
+
+through2@3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4"
+ integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==
+ dependencies:
+ inherits "^2.0.4"
+ readable-stream "2 || 3"
+
+through2@^0.6.0:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48"
+ integrity sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=
+ dependencies:
+ readable-stream ">=1.0.33-1 <1.1.0-0"
+ xtend ">=4.0.0 <4.1.0-0"
+
+through@^2.3.6:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
+
+tildify@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a"
+ integrity sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=
+ dependencies:
+ os-homedir "^1.0.0"
+
+time-stamp@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3"
+ integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=
+
+timed-out@^4.0.0, timed-out@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
+ integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=
+
+timeout-abort-controller@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/timeout-abort-controller/-/timeout-abort-controller-1.1.1.tgz#2c3c3c66f13c783237987673c276cbd7a9762f29"
+ integrity sha512-BsF9i3NAJag6T0ZEjki9j654zoafI2X6ayuNd6Tp8+Ul6Tr5s4jo973qFeiWrRSweqvskC+AHDKUmIW4b7pdhQ==
+ dependencies:
+ abort-controller "^3.0.0"
+ retimer "^2.0.0"
+
+timers-browserify@^2.0.2, timers-browserify@^2.0.4:
+ version "2.0.12"
+ resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee"
+ integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==
+ dependencies:
+ setimmediate "^1.0.4"
+
+tiny-queue@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/tiny-queue/-/tiny-queue-0.2.1.tgz#25a67f2c6e253b2ca941977b5ef7442ef97a6046"
+ integrity sha1-JaZ/LG4lOyypQZd7XvdELvl6YEY=
+
+tiny-secp256k1@^1.1.3:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz#7e224d2bee8ab8283f284e40e6b4acb74ffe047c"
+ integrity sha512-FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA==
+ dependencies:
+ bindings "^1.3.0"
+ bn.js "^4.11.8"
+ create-hmac "^1.1.7"
+ elliptic "^6.4.0"
+ nan "^2.13.2"
+
+title-case@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa"
+ integrity sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o=
+ dependencies:
+ no-case "^2.2.0"
+ upper-case "^1.0.3"
+
+tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
+ dependencies:
+ os-tmpdir "~1.0.2"
+
+tmpl@1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
+ integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
+
+to-absolute-glob@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f"
+ integrity sha1-HN+kcqnvUMI57maZm2YsoOs5k38=
+ dependencies:
+ extend-shallow "^2.0.1"
+
+to-arraybuffer@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
+ integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
+
+to-data-view@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/to-data-view/-/to-data-view-1.1.0.tgz#08d6492b0b8deb9b29bdf1f61c23eadfa8994d00"
+ integrity sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ==
+
+to-fast-properties@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
+ integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
+
+to-fast-properties@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
+ integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+
+to-json-schema@^0.2.5:
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/to-json-schema/-/to-json-schema-0.2.5.tgz#ef3c3f11ad64460dcfbdbafd0fd525d69d62a98f"
+ integrity sha512-jP1ievOee8pec3tV9ncxLSS48Bnw7DIybgy112rhMCEhf3K4uyVNZZHr03iQQBzbV5v5Hos+dlZRRyk6YSMNDw==
+ dependencies:
+ lodash.isequal "^4.5.0"
+ lodash.keys "^4.2.0"
+ lodash.merge "^4.6.2"
+ lodash.omit "^4.5.0"
+ lodash.without "^4.4.0"
+ lodash.xor "^4.5.0"
+
+to-object-path@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
+ integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
+ dependencies:
+ kind-of "^3.0.2"
+
+to-readable-stream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771"
+ integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==
+
+to-regex-range@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
+ integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
+ dependencies:
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
+to-regex@^3.0.1, to-regex@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
+ integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
+ dependencies:
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ regex-not "^1.0.2"
+ safe-regex "^1.1.0"
+
+toidentifier@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
+ integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
+
+toidentifier@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
+ integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
+
+tough-cookie@^2.2.0, tough-cookie@^2.3.1, tough-cookie@~2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
+ integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+ dependencies:
+ psl "^1.1.28"
+ punycode "^2.1.1"
+
+"tough-cookie@^2.3.3 || ^3.0.1 || ^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4"
+ integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==
+ dependencies:
+ psl "^1.1.33"
+ punycode "^2.1.1"
+ universalify "^0.1.2"
+
+tr46@~0.0.1, tr46@~0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
+ integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
+
+trim-right@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
+ integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
+
+truffle@5.4.0:
+ version "5.4.0"
+ resolved "https://registry.yarnpkg.com/truffle/-/truffle-5.4.0.tgz#69b583f41b7f48b45e10a7d44251e1babdcd8180"
+ integrity sha512-Pk7Ol1rk2oRr1i9Bq6PSCVqEEPLDaWXth25QbUc0+gjd0no2Vl6w/nZ3pXXv1FdjEi4926ulW0PBMbK6OXY4dQ==
+ dependencies:
+ "@truffle/debugger" "^9.1.5"
+ app-module-path "^2.2.0"
+ mocha "8.1.2"
+ original-require "^1.0.1"
+ optionalDependencies:
+ "@truffle/db" "^0.5.20"
+ "@truffle/preserve-fs" "^0.2.3"
+ "@truffle/preserve-to-buckets" "^0.2.3"
+ "@truffle/preserve-to-filecoin" "^0.2.3"
+ "@truffle/preserve-to-ipfs" "^0.2.3"
+
+ts-interface-checker@^0.1.9:
+ version "0.1.13"
+ resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
+ integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
+
+ts-invariant@^0.4.0:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.4.4.tgz#97a523518688f93aafad01b0e80eb803eb2abd86"
+ integrity sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==
+ dependencies:
+ tslib "^1.9.3"
+
+ts-invariant@^0.9.0:
+ version "0.9.3"
+ resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.9.3.tgz#4b41e0a80c2530a56ce4b8fd4e14183aaac0efa8"
+ integrity sha512-HinBlTbFslQI0OHP07JLsSXPibSegec6r9ai5xxq/qHYCsIQbzpymLpDhAUsnXcSrDEcd0L62L8vsOEdzM0qlA==
+ dependencies:
+ tslib "^2.1.0"
+
+ts-node@^8.4.1:
+ version "8.10.2"
+ resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d"
+ integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==
+ dependencies:
+ arg "^4.1.0"
+ diff "^4.0.1"
+ make-error "^1.1.1"
+ source-map-support "^0.5.17"
+ yn "3.1.1"
+
+tslib@^1.10.0, tslib@^1.9.0, tslib@^1.9.3:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
+ integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+
+tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.0, tslib@~2.3.0:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
+ integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
+
+tslib@~2.0.1:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c"
+ integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==
+
+tslib@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a"
+ integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==
+
+tslib@~2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c"
+ integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==
+
+tty-browserify@0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
+ integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=
+
+tunnel-agent@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
+ dependencies:
+ safe-buffer "^5.0.1"
+
+tweetnacl-util@^0.15.1:
+ version "0.15.1"
+ resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b"
+ integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==
+
+tweetnacl@1.x.x, tweetnacl@^1.0.0, tweetnacl@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596"
+ integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+ integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
+
+type-check@~0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
+ integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
+ dependencies:
+ prelude-ls "~1.1.2"
+
+type-detect@0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822"
+ integrity sha1-C6XsKohWQORw6k6FBZcZANrFiCI=
+
+type-detect@^4.0.0, type-detect@^4.0.5:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
+ integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
+
+type-fest@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1"
+ integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==
+
+type-fest@^0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48"
+ integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==
+
+type-is@^1.6.16, type-is@~1.6.17, type-is@~1.6.18:
+ version "1.6.18"
+ resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
+ integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.1.24"
+
+type@^1.0.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
+ integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
+
+type@^2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d"
+ integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==
+
+typedarray-to-buffer@^3.1.5, typedarray-to-buffer@~3.1.5:
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
+ integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
+ dependencies:
+ is-typedarray "^1.0.0"
+
+typedarray@^0.0.6, typedarray@~0.0.5:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+ integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+
+typeforce@^1.11.5:
+ version "1.18.0"
+ resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.18.0.tgz#d7416a2c5845e085034d70fcc5b6cc4a90edbfdc"
+ integrity sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==
+
+typescript-compare@^0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/typescript-compare/-/typescript-compare-0.0.2.tgz#7ee40a400a406c2ea0a7e551efd3309021d5f425"
+ integrity sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==
+ dependencies:
+ typescript-logic "^0.0.0"
+
+typescript-logic@^0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/typescript-logic/-/typescript-logic-0.0.0.tgz#66ebd82a2548f2b444a43667bec120b496890196"
+ integrity sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q==
+
+typescript-tuple@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/typescript-tuple/-/typescript-tuple-2.2.1.tgz#7d9813fb4b355f69ac55032e0363e8bb0f04dad2"
+ integrity sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q==
+ dependencies:
+ typescript-compare "^0.0.2"
+
+typescript@^3.6.4:
+ version "3.9.10"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8"
+ integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==
+
+ua-parser-js@^0.7.18, ua-parser-js@^0.7.30:
+ version "0.7.31"
+ resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6"
+ integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==
+
+uglify-es@^3.1.9:
+ version "3.3.9"
+ resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677"
+ integrity sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==
+ dependencies:
+ commander "~2.13.0"
+ source-map "~0.6.1"
+
+uglify-js@^2.8.29:
+ version "2.8.29"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
+ integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0=
+ dependencies:
+ source-map "~0.5.1"
+ yargs "~3.10.0"
+ optionalDependencies:
+ uglify-to-browserify "~1.0.0"
+
+uglify-to-browserify@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
+ integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc=
+
+uglifyjs-webpack-plugin@^0.4.6:
+ version "0.4.6"
+ resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309"
+ integrity sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=
+ dependencies:
+ source-map "^0.5.6"
+ uglify-js "^2.8.29"
+ webpack-sources "^1.0.1"
+
+uint8arrays@1.1.0, uint8arrays@^1.0.0, uint8arrays@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-1.1.0.tgz#d034aa65399a9fd213a1579e323f0b29f67d0ed2"
+ integrity sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==
+ dependencies:
+ multibase "^3.0.0"
+ web-encoding "^1.0.2"
+
+uint8arrays@^2.0.5, uint8arrays@^2.1.3:
+ version "2.1.10"
+ resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-2.1.10.tgz#34d023c843a327c676e48576295ca373c56e286a"
+ integrity sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A==
+ dependencies:
+ multiformats "^9.4.2"
+
+uint8arrays@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.0.0.tgz#260869efb8422418b6f04e3fac73a3908175c63b"
+ integrity sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA==
+ dependencies:
+ multiformats "^9.4.2"
+
+ultron@1.0.x:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
+ integrity sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=
+
+ultron@~1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
+ integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==
+
+unbox-primitive@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
+ integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==
+ dependencies:
+ function-bind "^1.1.1"
+ has-bigints "^1.0.1"
+ has-symbols "^1.0.2"
+ which-boxed-primitive "^1.0.2"
+
+underscore@1.12.1:
+ version "1.12.1"
+ resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e"
+ integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==
+
+underscore@1.9.1:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961"
+ integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==
+
+underscore@>1.4.4:
+ version "1.13.1"
+ resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.1.tgz#0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1"
+ integrity sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==
+
+unicode-canonical-property-names-ecmascript@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
+ integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==
+
+unicode-match-property-ecmascript@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3"
+ integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
+ dependencies:
+ unicode-canonical-property-names-ecmascript "^2.0.0"
+ unicode-property-aliases-ecmascript "^2.0.0"
+
+unicode-match-property-value-ecmascript@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714"
+ integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==
+
+unicode-property-aliases-ecmascript@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8"
+ integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==
+
+union-value@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
+ integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
+ dependencies:
+ arr-union "^3.1.0"
+ get-value "^2.0.6"
+ is-extendable "^0.1.1"
+ set-value "^2.0.1"
+
+unique-stream@^2.0.2:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac"
+ integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==
+ dependencies:
+ json-stable-stringify-without-jsonify "^1.0.1"
+ through2-filter "^3.0.0"
+
+unique-string@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a"
+ integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=
+ dependencies:
+ crypto-random-string "^1.0.0"
+
+universalify@^0.1.0, universalify@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
+ integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+
+universalify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d"
+ integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==
+
+universalify@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
+ integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
+
+unixify@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unixify/-/unixify-1.0.0.tgz#3a641c8c2ffbce4da683a5c70f03a462940c2090"
+ integrity sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA=
+ dependencies:
+ normalize-path "^2.1.1"
+
+unorm@^1.4.1:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.6.0.tgz#029b289661fba714f1a9af439eb51d9b16c205af"
+ integrity sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==
+
+unpipe@1.0.0, unpipe@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+ integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
+
+unquote@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
+ integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=
+
+unset-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
+ integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
+ dependencies:
+ has-value "^0.3.1"
+ isobject "^3.0.0"
+
+upath@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
+ integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
+
+upper-case-first@^1.1.0, upper-case-first@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115"
+ integrity sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=
+ dependencies:
+ upper-case "^1.1.1"
+
+upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
+ integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=
+
+uri-js@^4.2.2:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+ dependencies:
+ punycode "^2.1.0"
+
+urix@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
+ integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
+
+url-parse-lax@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
+ integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=
+ dependencies:
+ prepend-http "^1.0.1"
+
+url-parse-lax@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
+ integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=
+ dependencies:
+ prepend-http "^2.0.0"
+
+url-parse@^1.4.4:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862"
+ integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==
+ dependencies:
+ querystringify "^2.1.1"
+ requires-port "^1.0.0"
+
+url-set-query@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339"
+ integrity sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=
+
+url-to-options@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9"
+ integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=
+
+url@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
+ integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
+ dependencies:
+ punycode "1.3.2"
+ querystring "0.2.0"
+
+ursa-optional@^0.10.1:
+ version "0.10.2"
+ resolved "https://registry.yarnpkg.com/ursa-optional/-/ursa-optional-0.10.2.tgz#bd74e7d60289c22ac2a69a3c8dea5eb2817f9681"
+ integrity sha512-TKdwuLboBn7M34RcvVTuQyhvrA8gYKapuVdm0nBP0mnBc7oECOfUQZrY91cefL3/nm64ZyrejSRrhTVdX7NG/A==
+ dependencies:
+ bindings "^1.5.0"
+ nan "^2.14.2"
+
+use-subscription@^1.0.0:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1"
+ integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==
+ dependencies:
+ object-assign "^4.1.1"
+
+use@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
+ integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
+
+utf-8-validate@^5.0.2:
+ version "5.0.7"
+ resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.7.tgz#c15a19a6af1f7ad9ec7ddc425747ca28c3644922"
+ integrity sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==
+ dependencies:
+ node-gyp-build "^4.3.0"
+
+utf8@3.0.0, utf8@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1"
+ integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==
+
+util-deprecate@^1.0.1, util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+
+util.promisify@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.1.1.tgz#77832f57ced2c9478174149cae9b96e9918cd54b"
+ integrity sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==
+ dependencies:
+ call-bind "^1.0.0"
+ define-properties "^1.1.3"
+ for-each "^0.3.3"
+ has-symbols "^1.0.1"
+ object.getownpropertydescriptors "^2.1.1"
+
+util.promisify@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee"
+ integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.2"
+ has-symbols "^1.0.1"
+ object.getownpropertydescriptors "^2.1.0"
+
+util@0.10.3:
+ version "0.10.3"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
+ integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk=
+ dependencies:
+ inherits "2.0.1"
+
+util@^0.10.3:
+ version "0.10.4"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901"
+ integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==
+ dependencies:
+ inherits "2.0.3"
+
+util@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
+ integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==
+ dependencies:
+ inherits "2.0.3"
+
+util@^0.12.0, util@^0.12.3:
+ version "0.12.4"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253"
+ integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==
+ dependencies:
+ inherits "^2.0.3"
+ is-arguments "^1.0.4"
+ is-generator-function "^1.0.7"
+ is-typed-array "^1.1.3"
+ safe-buffer "^5.1.2"
+ which-typed-array "^1.1.2"
+
+utils-merge@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
+ integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
+
+uuid@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac"
+ integrity sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=
+
+uuid@3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14"
+ integrity sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==
+
+uuid@3.3.2:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
+ integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
+
+uuid@8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.1.0.tgz#6f1536eb43249f473abc6bd58ff983da1ca30d8d"
+ integrity sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg==
+
+uuid@^3.1.0, uuid@^3.3.2, uuid@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
+ integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+
+uuid@^7.0.3:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b"
+ integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==
+
+uuid@^8.0.0, uuid@^8.3.2:
+ version "8.3.2"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
+ integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+
+vali-date@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6"
+ integrity sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=
+
+valid-url@1.0.9:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200"
+ integrity sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=
+
+validate-npm-package-license@^3.0.1:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
+ integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
+ dependencies:
+ spdx-correct "^3.0.0"
+ spdx-expression-parse "^3.0.0"
+
+value-or-promise@1.0.11:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.11.tgz#3e90299af31dd014fe843fe309cefa7c1d94b140"
+ integrity sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==
+
+value-or-promise@1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.6.tgz#218aa4794aa2ee24dcf48a29aba4413ed584747f"
+ integrity sha512-9r0wQsWD8z/BxPOvnwbPf05ZvFngXyouE9EKB+5GbYix+BYnAwrIChCUyFIinfbf2FL/U71z+CPpbnmTdxrwBg==
+
+varint@^5.0.0, varint@^5.0.2, varint@~5.0.0:
+ version "5.0.2"
+ resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4"
+ integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==
+
+varint@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0"
+ integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==
+
+vary@^1, vary@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
+ integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
+
+verror@1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
+victory-area@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-area/-/victory-area-36.2.0.tgz#a1849e6b495d9a85aaf90fbfc2e84faaffd93c50"
+ integrity sha512-KyusFQHDZ7EOfg+okE530US1LkZxQ0jQ06jphee8A+hT/1Pkl7PDdtKENnGl4lzmLHOIH+CbgmoJEeOw/zNeGw==
+ dependencies:
+ d3-shape "^1.2.0"
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-axis@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-axis/-/victory-axis-36.2.0.tgz#042c40c64c515bd5262ce99855ed3c92b247ef17"
+ integrity sha512-vL3U/hXqu6rLpgXcT5EQ6PbNDcfPdplyWmYp6oxDYjJV52RpR5Ren9CAD7fUhzmh2S7hXSLdaBgd6M8dCsJnaw==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-bar@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-bar/-/victory-bar-36.2.0.tgz#6397626f390ab19fa29bef20127739f4332fe3a6"
+ integrity sha512-4VZrUpSfHilbHZ9rq7RHxBTXvyealDc0EXAugeiGgXWQNtjWUmBt5GJaQtVMBFs0UPFmHsmFUqK+SQ4risaa8g==
+ dependencies:
+ d3-shape "^1.2.0"
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-box-plot@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-box-plot/-/victory-box-plot-36.2.0.tgz#b78f3bc890f5beb49a4980c989c83777463eb732"
+ integrity sha512-fKzAJSHLByQnhymJrNc4nWaPXh4tTln5DRRvarJ0dXPeKKlnjaUzAoHZrUwUjQGzj7js9IJ3oplfU5sHTTADww==
+ dependencies:
+ d3-array "^1.2.0"
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-brush-container@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-brush-container/-/victory-brush-container-36.2.0.tgz#c8943ea86ca83c0d357eae31d6faf1739225a64b"
+ integrity sha512-DdFTNKzTGjxeeDx/vbonY1hE4jiLDcpjioC0/c+zccfOVF85QYxt174lpSZtfF5ZtghgydURgM8AiCLJch5ycA==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ react-fast-compare "^2.0.0"
+ victory-core "^36.2.0"
+
+victory-brush-line@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-brush-line/-/victory-brush-line-36.2.0.tgz#a4202319003510b74e38920545653b0183573c94"
+ integrity sha512-7uOtWgO4FMlF5ag30Rwm1jMune9zFko7np5ymR/skuD6SeZVj0lL7ejg/hhzGjLsBJTtJCbGiAnbVea1LfQuDw==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ react-fast-compare "^2.0.0"
+ victory-core "^36.2.0"
+
+victory-candlestick@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-candlestick/-/victory-candlestick-36.2.0.tgz#6fe5459dfe12ad14623a8b9cb4fbb4d7461f92a4"
+ integrity sha512-NM2g1GLBfUxo08AAXL3Snvgb8xHde9+Qo4LaXQJNKpja41qNwaa5Sxps01BtOgHCCukS3CC0AoAYpCPzCoKr2w==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-canvas@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-canvas/-/victory-canvas-36.2.0.tgz#726c8082d6505810c2c468cd609522593658c4e6"
+ integrity sha512-6nptDcYu4IirtI2x3lSQ0KBuh/S1W/j7h2PYEI4rWu2+rqksUgwOcdtUE/zF6Cwsxtc21RKnMAPpl4RSJaQIVA==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-chart@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-chart/-/victory-chart-36.2.0.tgz#b1601202bad0a2de1c3746259723ea0bfaa315fd"
+ integrity sha512-uWI7jd3eA/18Jq5h67Asot5SydTI1Eq43+sUKC9FyLSL+q6graJkuGc+zugEpecenBlphOEPogPzWHGXi7h/Jg==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ react-fast-compare "^2.0.0"
+ victory-axis "^36.2.0"
+ victory-core "^36.2.0"
+ victory-polar-axis "^36.2.0"
+ victory-shared-events "^36.2.0"
+
+victory-core@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-core/-/victory-core-36.2.0.tgz#41b112f2bff4ed4750558a02c842e4a1fc344160"
+ integrity sha512-tyEf1YeJZbu2japAYz7ukNzqi0Iwlf8JOBES8Ox+7abLObaZFM+hpbGu922Uj6QZ2yowggP3jGLPDzVZriaX8A==
+ dependencies:
+ d3-ease "^1.0.0"
+ d3-interpolate "^1.1.1"
+ d3-scale "^1.0.0"
+ d3-shape "^1.2.0"
+ d3-timer "^1.0.0"
+ lodash "^4.17.21"
+ prop-types "^15.5.8"
+ react-fast-compare "^2.0.0"
+
+victory-create-container@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-create-container/-/victory-create-container-36.2.0.tgz#fd47d48fcb9f13fc59eef3e9d7d77447f732eb6a"
+ integrity sha512-yMbFw9A4b7J069FHSuxWIs8nRcNEP74uVNcVuhvTpK2dJqxS+MpzAkDv1tYUZ/bxHKczVfRBKJbR34Rt2ZJ4IQ==
+ dependencies:
+ lodash "^4.17.19"
+ victory-brush-container "^36.2.0"
+ victory-core "^36.2.0"
+ victory-cursor-container "^36.2.0"
+ victory-selection-container "^36.2.0"
+ victory-voronoi-container "^36.2.0"
+ victory-zoom-container "^36.2.0"
+
+victory-cursor-container@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-cursor-container/-/victory-cursor-container-36.2.0.tgz#ba9a255913922b9f997d99a72b18ce16ece801c5"
+ integrity sha512-yH5rVEgO126PJ5SZnpSP7RYqknSsyCnZOYpIaw0zM2ELaHdcxrhfTdBNCtEwDhtpCJMpbgBIN6wPU+NXvorsHQ==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-errorbar@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-errorbar/-/victory-errorbar-36.2.0.tgz#d9c28a055a1226c4d1d669cbc1812f81c28f3e0e"
+ integrity sha512-vtk7l+GWA4+SnqEhRvrJlJJJ/YlNrRd9YXhqu+KKUXFDMFv+lnvd/Qz7tmyfc3sjdxGfO8cwE8KK5A1NlUH9GA==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-group@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-group/-/victory-group-36.2.0.tgz#354ff9f58f8b045da9e4d0ba36ce455c68ca6e19"
+ integrity sha512-pWgyxtS0K+zSTEJJc72TehVZPlfKVwqEmAaFt40lFLPOGb6m3jUx/pfWkAoSwPbgnzoz1NAg4FV5Rf0k+Pthcg==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ react-fast-compare "^2.0.0"
+ victory-core "^36.2.0"
+ victory-shared-events "^36.2.0"
+
+victory-histogram@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-histogram/-/victory-histogram-36.2.0.tgz#4d767cfd62b938c844887c074f860bb8bb054fc7"
+ integrity sha512-S6d0CtAfXY6IHEz3QkVkWa3O2d0QHnyJuSFXuAeSBP5TS91nZu7qQbazHTHidK6fyEgj5pUDyczUykaSql9uow==
+ dependencies:
+ d3-array "~2.3.0"
+ d3-scale "^1.0.0"
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ react-fast-compare "^2.0.0"
+ victory-bar "^36.2.0"
+ victory-core "^36.2.0"
+
+victory-legend@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-legend/-/victory-legend-36.2.0.tgz#f09d1a8483bc31755f61dec91ae648c56a7aefd5"
+ integrity sha512-bxK/jvjbzpc7VgGV2ZL+5uui8UfPmVIQ8uG45A7g8tTRTwe0YSm/hqMS5/BYzNoRiGuAZ4wFfpnAbtLbjmcGCw==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-line@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-line/-/victory-line-36.2.0.tgz#f90ba61378649dcdc0c30922163bb8ece5069f50"
+ integrity sha512-wgxr9jqC7P5JRYRtR0rSN3MKY53d3N3Tqhc7G61py00fC9tzbD8goTKB6Vo/FHflqoT5RfwZIhBrlX11nFj57w==
+ dependencies:
+ d3-shape "^1.2.0"
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-native@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-native/-/victory-native-36.2.0.tgz#4b05ca946daaf49bcfe01843e8b18166e967c4b1"
+ integrity sha512-rTkQRhaj8XF5drdmJ4cS0+9a1TwnYoX9hG60bthSAmhIbktWIkbs8jrz937Af0EiVzSx1wQRhQd1vrAr/iG/ow==
+ dependencies:
+ victory "^36.2.0"
+ victory-area "^36.2.0"
+ victory-axis "^36.2.0"
+ victory-bar "^36.2.0"
+ victory-box-plot "^36.2.0"
+ victory-brush-container "^36.2.0"
+ victory-brush-line "^36.2.0"
+ victory-candlestick "^36.2.0"
+ victory-chart "^36.2.0"
+ victory-core "^36.2.0"
+ victory-create-container "^36.2.0"
+ victory-cursor-container "^36.2.0"
+ victory-errorbar "^36.2.0"
+ victory-group "^36.2.0"
+ victory-histogram "^36.2.0"
+ victory-legend "^36.2.0"
+ victory-line "^36.2.0"
+ victory-pie "^36.2.0"
+ victory-polar-axis "^36.2.0"
+ victory-scatter "^36.2.0"
+ victory-selection-container "^36.2.0"
+ victory-shared-events "^36.2.0"
+ victory-stack "^36.2.0"
+ victory-tooltip "^36.2.0"
+ victory-voronoi "^36.2.0"
+ victory-voronoi-container "^36.2.0"
+ victory-zoom-container "^36.2.0"
+
+victory-pie@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-pie/-/victory-pie-36.2.0.tgz#6dd17ed872559eb22d2235f895bf3444c61b434a"
+ integrity sha512-U8TCkOG2HBcB6Pi/Yr1+0+882D7lU4k+XdUHMVMZRB5Il0eRyUHJEBcS8+3T8IwRgZcIfjBEfmBau1UDw1lLew==
+ dependencies:
+ d3-shape "^1.0.0"
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-polar-axis@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-polar-axis/-/victory-polar-axis-36.2.0.tgz#389d8c0744196d5305348dba56b5bfeb5f7165d2"
+ integrity sha512-L7NYdpzP8FKu36eAlwL/pscMbKKHCckXlw+BM4uE6n72yBhQvclGv6bfMDp1wgFlnhgUJGbDIGTboD/RaLv74w==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-scatter@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-scatter/-/victory-scatter-36.2.0.tgz#228de77fa237b29a25f8f770f731f5ca9c537c26"
+ integrity sha512-9oMZ9PRbFhC4PgMN7zGToKuSZPS/olaZSmAJ0PvS3LB1pcPgPXCpU1Yud9gNxuKSKo/sLPEsn472xlZqwf6YGA==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-selection-container@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-selection-container/-/victory-selection-container-36.2.0.tgz#6f7933de34af295c7402429f08fc5394681d32fa"
+ integrity sha512-a3rls6TYLdM4A1KHltaxMHld3ebJI5bGe9LwyCOesYHm3JAf7Yt4EQgJT0DmXSxdlr3FiEzYoBh6elIs9sAHxw==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-shared-events@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-shared-events/-/victory-shared-events-36.2.0.tgz#851603cafddd41686f2d1d660a4db197c35627a8"
+ integrity sha512-GN7qjLDezUfhJaHSyqJKu9R9kUcmtCUna/G0BmGBcawIH6E77iK2xVB682p9SUNgnY6mmnIb5oQOMbePpGkk5g==
+ dependencies:
+ json-stringify-safe "^5.0.1"
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ react-fast-compare "^2.0.0"
+ victory-core "^36.2.0"
+
+victory-stack@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-stack/-/victory-stack-36.2.0.tgz#ccc056eb4b6082324039a7d903209cad13b37e95"
+ integrity sha512-7A4mwUWU1CDToKlrSmVlBWwsfofCAUkRHVqVFRHMVJ65RRhXmJeUOAII7Ogy8KR7SD+hK3afMHxBrJGeMvTezg==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ react-fast-compare "^2.0.0"
+ victory-core "^36.2.0"
+ victory-shared-events "^36.2.0"
+
+victory-tooltip@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-tooltip/-/victory-tooltip-36.2.0.tgz#7ff0ac12acd241f23b794f154f25f11dd2c0e3fb"
+ integrity sha512-5V/7/DF927OfRCBma8iDZm4aRyQRZvLFTHAi4/CusLHMWB2JNDto7fVbXW85ITvrBnFD3RZf/T9Byejz+XcX2A==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-voronoi-container@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-voronoi-container/-/victory-voronoi-container-36.2.0.tgz#f48f2361c9e2975b28c0e69b9ce950edb30fdc2d"
+ integrity sha512-2OthDzHVrQWGm+GjjQTOpxwiztlmcur4NDDwUyBg2O8WVJBRFhQj2SXnNpBRLkisIVzF67vWdueIKsIHzIcGfA==
+ dependencies:
+ delaunay-find "0.0.6"
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ react-fast-compare "^2.0.0"
+ victory-core "^36.2.0"
+ victory-tooltip "^36.2.0"
+
+victory-voronoi@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-voronoi/-/victory-voronoi-36.2.0.tgz#d34d5bab1263e8872fcfc6d61e603e2d5d891cc3"
+ integrity sha512-eyUzicn4wkI7uK4aVwAenMcVOct92H6kXbQD3VrzZ3xtc5bFDildvcH8o3IyfZt2s5Ad6c6yGe+UWTQZ3inrZQ==
+ dependencies:
+ d3-voronoi "^1.1.2"
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory-zoom-container@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory-zoom-container/-/victory-zoom-container-36.2.0.tgz#2398069f5aea3e4f9e682b0cfc30a2024e01187e"
+ integrity sha512-FlEO18xcqpB71BnB4jtgp9E6by0hKA/llmrzj+agKckCAMfsj5QJBDnW0QAWfq7fOHoTMahGDGF6PoUFRnfXJQ==
+ dependencies:
+ lodash "^4.17.19"
+ prop-types "^15.5.8"
+ victory-core "^36.2.0"
+
+victory@^36.2.0:
+ version "36.2.0"
+ resolved "https://registry.yarnpkg.com/victory/-/victory-36.2.0.tgz#cbc2fae7a29ad35420376906e2d014c9af5f4749"
+ integrity sha512-Q39Ypw4vmpc0m27nElOAa0Ug4Qs0G0r8dAidUe14br4ddBV0iUGZrQ/nFuIh8ZOZdQTL7uOGFkjrfSD9yfRI9w==
+ dependencies:
+ victory-area "^36.2.0"
+ victory-axis "^36.2.0"
+ victory-bar "^36.2.0"
+ victory-box-plot "^36.2.0"
+ victory-brush-container "^36.2.0"
+ victory-brush-line "^36.2.0"
+ victory-candlestick "^36.2.0"
+ victory-canvas "^36.2.0"
+ victory-chart "^36.2.0"
+ victory-core "^36.2.0"
+ victory-create-container "^36.2.0"
+ victory-cursor-container "^36.2.0"
+ victory-errorbar "^36.2.0"
+ victory-group "^36.2.0"
+ victory-histogram "^36.2.0"
+ victory-legend "^36.2.0"
+ victory-line "^36.2.0"
+ victory-pie "^36.2.0"
+ victory-polar-axis "^36.2.0"
+ victory-scatter "^36.2.0"
+ victory-selection-container "^36.2.0"
+ victory-shared-events "^36.2.0"
+ victory-stack "^36.2.0"
+ victory-tooltip "^36.2.0"
+ victory-voronoi "^36.2.0"
+ victory-voronoi-container "^36.2.0"
+ victory-zoom-container "^36.2.0"
+
+vinyl-fs@2.4.3:
+ version "2.4.3"
+ resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.3.tgz#3d97e562ebfdd4b66921dea70626b84bde9d2d07"
+ integrity sha1-PZflYuv91LZpId6nBia4S96dLQc=
+ dependencies:
+ duplexify "^3.2.0"
+ glob-stream "^5.3.2"
+ graceful-fs "^4.0.0"
+ gulp-sourcemaps "^1.5.2"
+ is-valid-glob "^0.3.0"
+ lazystream "^1.0.0"
+ lodash.isequal "^4.0.0"
+ merge-stream "^1.0.0"
+ mkdirp "^0.5.0"
+ object-assign "^4.0.0"
+ readable-stream "^2.0.4"
+ strip-bom "^2.0.0"
+ strip-bom-stream "^1.0.0"
+ through2 "^2.0.0"
+ through2-filter "^2.0.0"
+ vali-date "^1.0.0"
+ vinyl "^1.0.0"
+
+vinyl@1.X, vinyl@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884"
+ integrity sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=
+ dependencies:
+ clone "^1.0.0"
+ clone-stats "^0.0.1"
+ replace-ext "0.0.1"
+
+vlq@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.1.tgz#c003f6e7c0b4c1edd623fd6ee50bbc0d6a1de468"
+ integrity sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==
+
+vm-browserify@^1.0.1, vm-browserify@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
+ integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
+
+vuvuzela@1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/vuvuzela/-/vuvuzela-1.0.3.tgz#3be145e58271c73ca55279dd851f12a682114b0b"
+ integrity sha1-O+FF5YJxxzylUnndhR8SpoIRSws=
+
+walker@^1.0.7, walker@~1.0.5:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
+ integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==
+ dependencies:
+ makeerror "1.0.12"
+
+watchpack-chokidar2@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957"
+ integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==
+ dependencies:
+ chokidar "^2.1.8"
+
+watchpack@^1.4.0:
+ version "1.7.5"
+ resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453"
+ integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==
+ dependencies:
+ graceful-fs "^4.1.2"
+ neo-async "^2.5.0"
+ optionalDependencies:
+ chokidar "^3.4.1"
+ watchpack-chokidar2 "^2.0.1"
+
+wcwidth@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
+ integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=
+ dependencies:
+ defaults "^1.0.3"
+
+web-encoding@^1.0.2, web-encoding@^1.0.6:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/web-encoding/-/web-encoding-1.1.5.tgz#fc810cf7667364a6335c939913f5051d3e0c4864"
+ integrity sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==
+ dependencies:
+ util "^0.12.3"
+ optionalDependencies:
+ "@zxing/text-encoding" "0.9.0"
+
+web3-bzz@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.3.6.tgz#95f370aecc3ff6ad07f057e6c0c916ef09b04dde"
+ integrity sha512-ibHdx1wkseujFejrtY7ZyC0QxQ4ATXjzcNUpaLrvM6AEae8prUiyT/OloG9FWDgFD2CPLwzKwfSQezYQlANNlw==
+ dependencies:
+ "@types/node" "^12.12.6"
+ got "9.6.0"
+ swarm-js "^0.1.40"
+ underscore "1.12.1"
+
+web3-bzz@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.5.3.tgz#e36456905ce051138f9c3ce3623cbc73da088c2b"
+ integrity sha512-SlIkAqG0eS6cBS9Q2eBOTI1XFzqh83RqGJWnyrNZMDxUwsTVHL+zNnaPShVPvrWQA1Ub5b0bx1Kc5+qJVxsTJg==
+ dependencies:
+ "@types/node" "^12.12.6"
+ got "9.6.0"
+ swarm-js "^0.1.40"
+
+web3-bzz@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.6.1.tgz#8430eb3cbb69baaee4981d190b840748c37a9ec2"
+ integrity sha512-JbnFNbRlwwHJZPtVuCxo7rC4U4OTg+mPsyhjgPQJJhS0a6Y54OgVWYk9UA/95HqbmTJwTtX329gJoSsseEfrng==
+ dependencies:
+ "@types/node" "^12.12.6"
+ got "9.6.0"
+ swarm-js "^0.1.40"
+
+web3-core-helpers@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.3.6.tgz#c478246a9abe4e5456acf42657dac2f7c330be74"
+ integrity sha512-nhtjA2ZbkppjlxTSwG0Ttu6FcPkVu1rCN5IFAOVpF/L0SEt+jy+O5l90+cjDq0jAYvlBwUwnbh2mR9hwDEJCNA==
+ dependencies:
+ underscore "1.12.1"
+ web3-eth-iban "1.3.6"
+ web3-utils "1.3.6"
+
+web3-core-helpers@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.5.3.tgz#099030235c477aadf39a94199ef40092151d563c"
+ integrity sha512-Ip1IjB3S8vN7Kf1PPjK41U5gskmMk6IJQlxIVuS8/1U7n/o0jC8krqtpRwiMfAgYyw3TXwBFtxSRTvJtnLyXZw==
+ dependencies:
+ web3-eth-iban "1.5.3"
+ web3-utils "1.5.3"
+
+web3-core-helpers@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.6.1.tgz#cb21047306871f4cf0fedfece7d47ea2aa96141b"
+ integrity sha512-om2PZvK1uoWcgMq6JfcSx3241LEIVF6qi2JuHz2SLKiKEW5UsBUaVx0mNCmcZaiuYQCyOsLS3r33q5AdM+v8ng==
+ dependencies:
+ web3-eth-iban "1.6.1"
+ web3-utils "1.6.1"
+
+web3-core-method@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.3.6.tgz#4b0334edd94b03dfec729d113c69a4eb6ebc68ae"
+ integrity sha512-RyegqVGxn0cyYW5yzAwkPlsSEynkdPiegd7RxgB4ak1eKk2Cv1q2x4C7D2sZjeeCEF+q6fOkVmo2OZNqS2iQxg==
+ dependencies:
+ "@ethersproject/transactions" "^5.0.0-beta.135"
+ underscore "1.12.1"
+ web3-core-helpers "1.3.6"
+ web3-core-promievent "1.3.6"
+ web3-core-subscriptions "1.3.6"
+ web3-utils "1.3.6"
+
+web3-core-method@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.5.3.tgz#6cff97ed19fe4ea2e9183d6f703823a079f5132c"
+ integrity sha512-8wJrwQ2qD9ibWieF9oHXwrJsUGrv3XAtEkNeyvyNMpktNTIjxJ2jaFGQUuLiyUrMubD18XXgLk4JS6PJU4Loeg==
+ dependencies:
+ "@ethereumjs/common" "^2.4.0"
+ "@ethersproject/transactions" "^5.0.0-beta.135"
+ web3-core-helpers "1.5.3"
+ web3-core-promievent "1.5.3"
+ web3-core-subscriptions "1.5.3"
+ web3-utils "1.5.3"
+
+web3-core-method@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.6.1.tgz#4ae91c639bf1da85ebfd8b99595da6a2235d7b98"
+ integrity sha512-szH5KyIWIaULQDBdDvevQUCHV9lsExJ/oV0ePqK+w015D2SdMPMuhii0WB+HCePaksWO+rr/GAypvV9g2T3N+w==
+ dependencies:
+ "@ethersproject/transactions" "^5.0.0-beta.135"
+ web3-core-helpers "1.6.1"
+ web3-core-promievent "1.6.1"
+ web3-core-subscriptions "1.6.1"
+ web3-utils "1.6.1"
+
+web3-core-promievent@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.3.6.tgz#6c27dc79de8f71b74f5d17acaf9aaf593d3cb0c9"
+ integrity sha512-Z+QzfyYDTXD5wJmZO5wwnRO8bAAHEItT1XNSPVb4J1CToV/I/SbF7CuF8Uzh2jns0Cm1109o666H7StFFvzVKw==
+ dependencies:
+ eventemitter3 "4.0.4"
+
+web3-core-promievent@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.5.3.tgz#3f11833c3dc6495577c274350b61144e0a4dba01"
+ integrity sha512-CFfgqvk3Vk6PIAxtLLuX+pOMozxkKCY+/GdGr7weMh033mDXEPvwyVjoSRO1PqIKj668/hMGQsVoIgbyxkJ9Mg==
+ dependencies:
+ eventemitter3 "4.0.4"
+
+web3-core-promievent@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.6.1.tgz#f650dea9361e2edf02691015b213fcc8ea499992"
+ integrity sha512-byJ5s2MQxrWdXd27pWFmujfzsTZK4ik8rDgIV1RFDFc+rHZ2nZhq+VWk7t/Nkrj7EaVXncEgTdPEHc18nx+ocQ==
+ dependencies:
+ eventemitter3 "4.0.4"
+
+web3-core-requestmanager@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.3.6.tgz#4fea269fe913fd4fca464b4f7c65cb94857b5b2a"
+ integrity sha512-2rIaeuqeo7QN1Eex7aXP0ZqeteJEPWXYFS/M3r3LXMiV8R4STQBKE+//dnHJXoo2ctzEB5cgd+7NaJM8S3gPyA==
+ dependencies:
+ underscore "1.12.1"
+ util "^0.12.0"
+ web3-core-helpers "1.3.6"
+ web3-providers-http "1.3.6"
+ web3-providers-ipc "1.3.6"
+ web3-providers-ws "1.3.6"
+
+web3-core-requestmanager@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.5.3.tgz#b339525815fd40e3a2a81813c864ddc413f7b6f7"
+ integrity sha512-9k/Bze2rs8ONix5IZR+hYdMNQv+ark2Ek2kVcrFgWO+LdLgZui/rn8FikPunjE+ub7x7pJaKCgVRbYFXjo3ZWg==
+ dependencies:
+ util "^0.12.0"
+ web3-core-helpers "1.5.3"
+ web3-providers-http "1.5.3"
+ web3-providers-ipc "1.5.3"
+ web3-providers-ws "1.5.3"
+
+web3-core-requestmanager@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.6.1.tgz#d9c08b0716c9cda546a0c02767b7e08deb04448a"
+ integrity sha512-4y7etYEUtkfflyYVBfN1oJtCbVFNhNX1omlEYzezhTnPj3/dT7n+dhUXcqvIhx9iKA13unGfpFge80XNFfcB8A==
+ dependencies:
+ util "^0.12.0"
+ web3-core-helpers "1.6.1"
+ web3-providers-http "1.6.1"
+ web3-providers-ipc "1.6.1"
+ web3-providers-ws "1.6.1"
+
+web3-core-subscriptions@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.3.6.tgz#ee24e7974d1d72ff6c992c599deba4ef9b308415"
+ integrity sha512-wi9Z9X5X75OKvxAg42GGIf81ttbNR2TxzkAsp1g+nnp5K8mBwgZvXrIsDuj7Z7gx72Y45mWJADCWjk/2vqNu8g==
+ dependencies:
+ eventemitter3 "4.0.4"
+ underscore "1.12.1"
+ web3-core-helpers "1.3.6"
+
+web3-core-subscriptions@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.5.3.tgz#d7d69c4caad65074212028656e9dc56ca5c2159d"
+ integrity sha512-L2m9vG1iRN6thvmv/HQwO2YLhOQlmZU8dpLG6GSo9FBN14Uch868Swk0dYVr3rFSYjZ/GETevSXU+O+vhCummA==
+ dependencies:
+ eventemitter3 "4.0.4"
+ web3-core-helpers "1.5.3"
+
+web3-core-subscriptions@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.6.1.tgz#4dfc1f74137354d4ac9eaa628aa916c5e2cc8741"
+ integrity sha512-WZwxsYttIojyGQ5RqxuQcKg0IJdDCFpUe4EncS3QKZwxPqWzGmgyLwE0rm7tP+Ux1waJn5CUaaoSCBxWGSun1g==
+ dependencies:
+ eventemitter3 "4.0.4"
+ web3-core-helpers "1.6.1"
+
+web3-core@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.3.6.tgz#a6a761d1ff2f3ee462b8dab679229d2f8e267504"
+ integrity sha512-gkLDM4T1Sc0T+HZIwxrNrwPg0IfWI0oABSglP2X5ZbBAYVUeEATA0o92LWV8BeF+okvKXLK1Fek/p6axwM/h3Q==
+ dependencies:
+ "@types/bn.js" "^4.11.5"
+ "@types/node" "^12.12.6"
+ bignumber.js "^9.0.0"
+ web3-core-helpers "1.3.6"
+ web3-core-method "1.3.6"
+ web3-core-requestmanager "1.3.6"
+ web3-utils "1.3.6"
+
+web3-core@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.5.3.tgz#59f8728b27c8305b349051326aa262b9b7e907bf"
+ integrity sha512-ACTbu8COCu+0eUNmd9pG7Q9EVsNkAg2w3Y7SqhDr+zjTgbSHZV01jXKlapm9z+G3AN/BziV3zGwudClJ4u4xXQ==
+ dependencies:
+ "@types/bn.js" "^4.11.5"
+ "@types/node" "^12.12.6"
+ bignumber.js "^9.0.0"
+ web3-core-helpers "1.5.3"
+ web3-core-method "1.5.3"
+ web3-core-requestmanager "1.5.3"
+ web3-utils "1.5.3"
+
+web3-core@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.6.1.tgz#b41f08fdc9ea1082d15384a3d6fa93a47c3fc1b4"
+ integrity sha512-m+b7UfYvU5cQUAh6NRfxRzH/5B3to1AdEQi1HIQt570cDWlObOOmoO9tY6iJnI5w4acxIO19LqjDMqEJGBYyRQ==
+ dependencies:
+ "@types/bn.js" "^4.11.5"
+ "@types/node" "^12.12.6"
+ bignumber.js "^9.0.0"
+ web3-core-helpers "1.6.1"
+ web3-core-method "1.6.1"
+ web3-core-requestmanager "1.6.1"
+ web3-utils "1.6.1"
+
+web3-eth-abi@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.3.6.tgz#4272ca48d817aa651bbf97b269f5ff10abc2b8a9"
+ integrity sha512-Or5cRnZu6WzgScpmbkvC6bfNxR26hqiKK4i8sMPFeTUABQcb/FU3pBj7huBLYbp9dH+P5W79D2MqwbWwjj9DoQ==
+ dependencies:
+ "@ethersproject/abi" "5.0.7"
+ underscore "1.12.1"
+ web3-utils "1.3.6"
+
+web3-eth-abi@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.5.3.tgz#5aea9394d797f99ca0d9bd40c3417eb07241c96c"
+ integrity sha512-i/qhuFsoNrnV130CSRYX/z4SlCfSQ4mHntti5yTmmQpt70xZKYZ57BsU0R29ueSQ9/P+aQrL2t2rqkQkAloUxg==
+ dependencies:
+ "@ethersproject/abi" "5.0.7"
+ web3-utils "1.5.3"
+
+web3-eth-abi@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.6.1.tgz#15b937e3188570754d50bbac51a4bb0578600d1d"
+ integrity sha512-svhYrAlXP9XQtV7poWKydwDJq2CaNLMtmKydNXoOBLcQec6yGMP+v20pgrxF2H6wyTK+Qy0E3/5ciPOqC/VuoQ==
+ dependencies:
+ "@ethersproject/abi" "5.0.7"
+ web3-utils "1.6.1"
+
+web3-eth-accounts@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.3.6.tgz#f9fcb50b28ee58090ab292a10d996155caa2b474"
+ integrity sha512-Ilr0hG6ONbCdSlVKffasCmNwftD5HsNpwyQASevocIQwHdTlvlwO0tb3oGYuajbKOaDzNTwXfz25bttAEoFCGA==
+ dependencies:
+ crypto-browserify "3.12.0"
+ eth-lib "0.2.8"
+ ethereumjs-common "^1.3.2"
+ ethereumjs-tx "^2.1.1"
+ scrypt-js "^3.0.1"
+ underscore "1.12.1"
+ uuid "3.3.2"
+ web3-core "1.3.6"
+ web3-core-helpers "1.3.6"
+ web3-core-method "1.3.6"
+ web3-utils "1.3.6"
+
+web3-eth-accounts@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.5.3.tgz#076c816ff4d68c9dffebdc7fd2bfaddcfc163d77"
+ integrity sha512-pdGhXgeBaEJENMvRT6W9cmji3Zz/46ugFSvmnLLw79qi5EH7XJhKISNVb41eWCrs4am5GhI67GLx5d2s2a72iw==
+ dependencies:
+ "@ethereumjs/common" "^2.3.0"
+ "@ethereumjs/tx" "^3.2.1"
+ crypto-browserify "3.12.0"
+ eth-lib "0.2.8"
+ ethereumjs-util "^7.0.10"
+ scrypt-js "^3.0.1"
+ uuid "3.3.2"
+ web3-core "1.5.3"
+ web3-core-helpers "1.5.3"
+ web3-core-method "1.5.3"
+ web3-utils "1.5.3"
+
+web3-eth-accounts@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.6.1.tgz#aeb0dfb52c4391773550569732975b471212583f"
+ integrity sha512-rGn3jwnuOKwaQRu4SiShz0YAQ87aVDBKs4HO43+XTCI1q1Y1jn3NOsG3BW9ZHaOckev4+zEyxze/Bsh2oEk24w==
+ dependencies:
+ "@ethereumjs/common" "^2.5.0"
+ "@ethereumjs/tx" "^3.3.2"
+ crypto-browserify "3.12.0"
+ eth-lib "0.2.8"
+ ethereumjs-util "^7.0.10"
+ scrypt-js "^3.0.1"
+ uuid "3.3.2"
+ web3-core "1.6.1"
+ web3-core-helpers "1.6.1"
+ web3-core-method "1.6.1"
+ web3-utils "1.6.1"
+
+web3-eth-contract@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.3.6.tgz#cccf4d32dc56917fb6923e778498a9ba2a5ba866"
+ integrity sha512-8gDaRrLF2HCg+YEZN1ov0zN35vmtPnGf3h1DxmJQK5Wm2lRMLomz9rsWsuvig3UJMHqZAQKD7tOl3ocJocQsmA==
+ dependencies:
+ "@types/bn.js" "^4.11.5"
+ underscore "1.12.1"
+ web3-core "1.3.6"
+ web3-core-helpers "1.3.6"
+ web3-core-method "1.3.6"
+ web3-core-promievent "1.3.6"
+ web3-core-subscriptions "1.3.6"
+ web3-eth-abi "1.3.6"
+ web3-utils "1.3.6"
+
+web3-eth-contract@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.5.3.tgz#12b03a4a16ce583a945f874bea2ff2fb4c5b81ad"
+ integrity sha512-Gdlt1L6cdHe83k7SdV6xhqCytVtOZkjD0kY/15x441AuuJ4JLubCHuqu69k2Dr3tWifHYVys/vG8QE/W16syGg==
+ dependencies:
+ "@types/bn.js" "^4.11.5"
+ web3-core "1.5.3"
+ web3-core-helpers "1.5.3"
+ web3-core-method "1.5.3"
+ web3-core-promievent "1.5.3"
+ web3-core-subscriptions "1.5.3"
+ web3-eth-abi "1.5.3"
+ web3-utils "1.5.3"
+
+web3-eth-contract@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.6.1.tgz#4b0a2c0b37015d70146e54c7cb3f035a58fbeec0"
+ integrity sha512-GXqTe3mF6kpbOAakiNc7wtJ120/gpuKMTZjuGFKeeY8aobRLfbfgKzM9IpyqVZV2v5RLuGXDuurVN2KPgtu3hQ==
+ dependencies:
+ "@types/bn.js" "^4.11.5"
+ web3-core "1.6.1"
+ web3-core-helpers "1.6.1"
+ web3-core-method "1.6.1"
+ web3-core-promievent "1.6.1"
+ web3-core-subscriptions "1.6.1"
+ web3-eth-abi "1.6.1"
+ web3-utils "1.6.1"
+
+web3-eth-ens@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.3.6.tgz#0d28c5d4ea7b4462ef6c077545a77956a6cdf175"
+ integrity sha512-n27HNj7lpSkRxTgSx+Zo7cmKAgyg2ElFilaFlUu/X2CNH23lXfcPm2bWssivH9z0ndhg0OyR4AYFZqPaqDHkJA==
+ dependencies:
+ content-hash "^2.5.2"
+ eth-ens-namehash "2.0.8"
+ underscore "1.12.1"
+ web3-core "1.3.6"
+ web3-core-helpers "1.3.6"
+ web3-core-promievent "1.3.6"
+ web3-eth-abi "1.3.6"
+ web3-eth-contract "1.3.6"
+ web3-utils "1.3.6"
+
+web3-eth-ens@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.5.3.tgz#ef6eee1ddf32b1ff9536fc7c599a74f2656bafe1"
+ integrity sha512-QmGFFtTGElg0E+3xfCIFhiUF+1imFi9eg/cdsRMUZU4F1+MZCC/ee+IAelYLfNTGsEslCqfAusliKOT9DdGGnw==
+ dependencies:
+ content-hash "^2.5.2"
+ eth-ens-namehash "2.0.8"
+ web3-core "1.5.3"
+ web3-core-helpers "1.5.3"
+ web3-core-promievent "1.5.3"
+ web3-eth-abi "1.5.3"
+ web3-eth-contract "1.5.3"
+ web3-utils "1.5.3"
+
+web3-eth-ens@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.6.1.tgz#801bd5fb5237377ec2ed8517a9fe4634f2269c7a"
+ integrity sha512-ngprtbnoRgxg8s1wXt9nXpD3h1P+p7XnKXrp/8GdFI9uDmrbSQPRfzBw86jdZgOmy78hAnWmrHI6pBInmgi2qQ==
+ dependencies:
+ content-hash "^2.5.2"
+ eth-ens-namehash "2.0.8"
+ web3-core "1.6.1"
+ web3-core-helpers "1.6.1"
+ web3-core-promievent "1.6.1"
+ web3-eth-abi "1.6.1"
+ web3-eth-contract "1.6.1"
+ web3-utils "1.6.1"
+
+web3-eth-iban@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.3.6.tgz#0d6ba21fe78f190af8919e9cd5453882457209e0"
+ integrity sha512-nfMQaaLA/zsg5W4Oy/EJQbs8rSs1vBAX6b/35xzjYoutXlpHMQadujDx2RerTKhSHqFXSJeQAfE+2f6mdhYkRQ==
+ dependencies:
+ bn.js "^4.11.9"
+ web3-utils "1.3.6"
+
+web3-eth-iban@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.5.3.tgz#91b1475893a877b10eac1de5cce6eb379fb81b5d"
+ integrity sha512-vMzmGqolYZvRHwP9P4Nf6G8uYM5aTLlQu2a34vz78p0KlDC+eV1th3+90Qeaupa28EG7OO0IT1F0BejiIauOPw==
+ dependencies:
+ bn.js "^4.11.9"
+ web3-utils "1.5.3"
+
+web3-eth-iban@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.6.1.tgz#20bbed75723e3e9ff98e624979629d26329462b6"
+ integrity sha512-91H0jXZnWlOoXmc13O9NuQzcjThnWyAHyDn5Yf7u6mmKOhpJSGF/OHlkbpXt1Y4v2eJdEPaVFa+6i8aRyagE7Q==
+ dependencies:
+ bn.js "^4.11.9"
+ web3-utils "1.6.1"
+
+web3-eth-personal@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.3.6.tgz#226137916754c498f0284f22c55924c87a2efcf0"
+ integrity sha512-pOHU0+/h1RFRYoh1ehYBehRbcKWP4OSzd4F7mDljhHngv6W8ewMHrAN8O1ol9uysN2MuCdRE19qkRg5eNgvzFQ==
+ dependencies:
+ "@types/node" "^12.12.6"
+ web3-core "1.3.6"
+ web3-core-helpers "1.3.6"
+ web3-core-method "1.3.6"
+ web3-net "1.3.6"
+ web3-utils "1.3.6"
+
+web3-eth-personal@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.5.3.tgz#4ebe09e9a77dd49d23d93b36b36cfbf4a6dae713"
+ integrity sha512-JzibJafR7ak/Icas8uvos3BmUNrZw1vShuNR5Cxjo+vteOC8XMqz1Vr7RH65B4bmlfb3bm9xLxetUHO894+Sew==
+ dependencies:
+ "@types/node" "^12.12.6"
+ web3-core "1.5.3"
+ web3-core-helpers "1.5.3"
+ web3-core-method "1.5.3"
+ web3-net "1.5.3"
+ web3-utils "1.5.3"
+
+web3-eth-personal@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.6.1.tgz#9b524fb9f92b51163f46920ee2663d34a4897c8d"
+ integrity sha512-ItsC89Ln02+irzJjK6ALcLrMZfbVUCqVbmb/ieDKJ+eLW3pNkBNwoUzaydh92d5NzxNZgNxuQWVdlFyYX2hkEw==
+ dependencies:
+ "@types/node" "^12.12.6"
+ web3-core "1.6.1"
+ web3-core-helpers "1.6.1"
+ web3-core-method "1.6.1"
+ web3-net "1.6.1"
+ web3-utils "1.6.1"
+
+web3-eth@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.3.6.tgz#2c650893d540a7a0eb1365dd5b2dca24ac919b7c"
+ integrity sha512-9+rnywRRpyX3C4hfsAQXPQh6vHh9XzQkgLxo3gyeXfbhbShUoq2gFVuy42vsRs//6JlsKdyZS7Z3hHPHz2wreA==
+ dependencies:
+ underscore "1.12.1"
+ web3-core "1.3.6"
+ web3-core-helpers "1.3.6"
+ web3-core-method "1.3.6"
+ web3-core-subscriptions "1.3.6"
+ web3-eth-abi "1.3.6"
+ web3-eth-accounts "1.3.6"
+ web3-eth-contract "1.3.6"
+ web3-eth-ens "1.3.6"
+ web3-eth-iban "1.3.6"
+ web3-eth-personal "1.3.6"
+ web3-net "1.3.6"
+ web3-utils "1.3.6"
+
+web3-eth@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.5.3.tgz#d7d1ac7198f816ab8a2088c01e0bf1eda45862fe"
+ integrity sha512-saFurA1L23Bd7MEf7cBli6/jRdMhD4X/NaMiO2mdMMCXlPujoudlIJf+VWpRWJpsbDFdu7XJ2WHkmBYT5R3p1Q==
+ dependencies:
+ web3-core "1.5.3"
+ web3-core-helpers "1.5.3"
+ web3-core-method "1.5.3"
+ web3-core-subscriptions "1.5.3"
+ web3-eth-abi "1.5.3"
+ web3-eth-accounts "1.5.3"
+ web3-eth-contract "1.5.3"
+ web3-eth-ens "1.5.3"
+ web3-eth-iban "1.5.3"
+ web3-eth-personal "1.5.3"
+ web3-net "1.5.3"
+ web3-utils "1.5.3"
+
+web3-eth@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.6.1.tgz#a25aba1ac213d872ecf3f81c7b4ab8072ecae224"
+ integrity sha512-kOV1ZgCKypSo5BQyltRArS7ZC3bRpIKAxSgzl7pUFinUb/MxfbM9KGeNxUXoCfTSErcCQJaDjcS6bSre5EMKuQ==
+ dependencies:
+ web3-core "1.6.1"
+ web3-core-helpers "1.6.1"
+ web3-core-method "1.6.1"
+ web3-core-subscriptions "1.6.1"
+ web3-eth-abi "1.6.1"
+ web3-eth-accounts "1.6.1"
+ web3-eth-contract "1.6.1"
+ web3-eth-ens "1.6.1"
+ web3-eth-iban "1.6.1"
+ web3-eth-personal "1.6.1"
+ web3-net "1.6.1"
+ web3-utils "1.6.1"
+
+web3-net@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.3.6.tgz#a56492e2227475e38db29394f8bac305a2446e41"
+ integrity sha512-KhzU3wMQY/YYjyMiQzbaLPt2kut88Ncx2iqjy3nw28vRux3gVX0WOCk9EL/KVJBiAA/fK7VklTXvgy9dZnnipw==
+ dependencies:
+ web3-core "1.3.6"
+ web3-core-method "1.3.6"
+ web3-utils "1.3.6"
+
+web3-net@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.5.3.tgz#545fee49b8e213b0c55cbe74ffd0295766057463"
+ integrity sha512-0W/xHIPvgVXPSdLu0iZYnpcrgNnhzHMC888uMlGP5+qMCt8VuflUZHy7tYXae9Mzsg1kxaJAS5lHVNyeNw4CoQ==
+ dependencies:
+ web3-core "1.5.3"
+ web3-core-method "1.5.3"
+ web3-utils "1.5.3"
+
+web3-net@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.6.1.tgz#7a630a804ec9f81908ae52ccbb4ebbb9530b3906"
+ integrity sha512-gpnqKEIwfUHh5ik7wsQFlCje1DfcmGv+Sk7LCh1hCqn++HEDQxJ/mZCrMo11ZZpZHCH7c87imdxTg96GJnRxDw==
+ dependencies:
+ web3-core "1.6.1"
+ web3-core-method "1.6.1"
+ web3-utils "1.6.1"
+
+web3-providers-http@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.3.6.tgz#36e8724a7424d52827819d53fd75dbf31f5422c2"
+ integrity sha512-OQkT32O1A06dISIdazpGLveZcOXhEo5cEX6QyiSQkiPk/cjzDrXMw4SKZOGQbbS1+0Vjizm1Hrp7O8Vp2D1M5Q==
+ dependencies:
+ web3-core-helpers "1.3.6"
+ xhr2-cookies "1.1.0"
+
+web3-providers-http@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.5.3.tgz#74f170fc3d79eb7941d9fbc34e2a067d61ced0b2"
+ integrity sha512-5DpUyWGHtDAr2RYmBu34Fu+4gJuBAuNx2POeiJIooUtJ+Mu6pIx4XkONWH6V+Ez87tZAVAsFOkJRTYuzMr3rPw==
+ dependencies:
+ web3-core-helpers "1.5.3"
+ xhr2-cookies "1.1.0"
+
+web3-providers-http@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.6.1.tgz#b59b14eefef23b98c327806f5f566303a73bd435"
+ integrity sha512-xBoKOJxu10+kO3ikamXmBfrWZ/xpQOGy0ocdp7Y81B17En5TXELwlmMXt1UlIgWiyYDhjq4OwlH/VODYqHXy3A==
+ dependencies:
+ web3-core-helpers "1.6.1"
+ xhr2-cookies "1.1.0"
+
+web3-providers-ipc@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.3.6.tgz#cef8d12c1ebb47adce5ebf597f553c623362cb4a"
+ integrity sha512-+TVsSd2sSVvVgHG4s6FXwwYPPT91boKKcRuEFXqEfAbUC5t52XOgmyc2LNiD9LzPhed65FbV4LqICpeYGUvSwA==
+ dependencies:
+ oboe "2.1.5"
+ underscore "1.12.1"
+ web3-core-helpers "1.3.6"
+
+web3-providers-ipc@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.5.3.tgz#4bd7f5e445c2f3c2595fce0929c72bb879320a3f"
+ integrity sha512-JmeAptugVpmXI39LGxUSAymx0NOFdgpuI1hGQfIhbEAcd4sv7fhfd5D+ZU4oLHbRI8IFr4qfGU0uhR8BXhDzlg==
+ dependencies:
+ oboe "2.1.5"
+ web3-core-helpers "1.5.3"
+
+web3-providers-ipc@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.6.1.tgz#7ba460589d46896bb3d124288deed1b6a72d517e"
+ integrity sha512-anyoIZlpMzwEQI4lwylTzDrHsVp20v0QUtSTp2B5jInBinmQtyCE7vnbX20jEQ4j5uPwfJabKNtoJsk6a3O4WQ==
+ dependencies:
+ oboe "2.1.5"
+ web3-core-helpers "1.6.1"
+
+web3-providers-ws@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.3.6.tgz#e1df617bc89d66165abdf2191da0014c505bfaac"
+ integrity sha512-bk7MnJf5or0Re2zKyhR3L3CjGululLCHXx4vlbc/drnaTARUVvi559OI5uLytc/1k5HKUUyENAxLvetz2G1dnQ==
+ dependencies:
+ eventemitter3 "4.0.4"
+ underscore "1.12.1"
+ web3-core-helpers "1.3.6"
+ websocket "^1.0.32"
+
+web3-providers-ws@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.5.3.tgz#eec6cfb32bb928a4106de506f13a49070a21eabf"
+ integrity sha512-6DhTw4Q7nm5CFYEUHOJM0gAb3xFx+9gWpVveg3YxJ/ybR1BUvEWo3bLgIJJtX56cYX0WyY6DS35a7f0LOI1kVg==
+ dependencies:
+ eventemitter3 "4.0.4"
+ web3-core-helpers "1.5.3"
+ websocket "^1.0.32"
+
+web3-providers-ws@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.6.1.tgz#f7ee71f158971102b865e99ea7911f483e0507e9"
+ integrity sha512-FWMEFYb4rYFYRgSFBf/O1Ex4p/YKSlN+JydCtdlJwRimd89qm95CTfs4xGjCskwvXMjV2sarH+f1NPwJXicYpg==
+ dependencies:
+ eventemitter3 "4.0.4"
+ web3-core-helpers "1.6.1"
+ websocket "^1.0.32"
+
+web3-shh@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.3.6.tgz#4e3486c7eca5cbdb87f88910948223a5b7ea6c20"
+ integrity sha512-9zRo415O0iBslxBnmu9OzYjNErzLnzOsy+IOvSpIreLYbbAw0XkDWxv3SfcpKnTIWIACBR4AYMIxmmyi5iB3jw==
+ dependencies:
+ web3-core "1.3.6"
+ web3-core-method "1.3.6"
+ web3-core-subscriptions "1.3.6"
+ web3-net "1.3.6"
+
+web3-shh@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.5.3.tgz#3c04aa4cda9ba0b746d7225262401160f8e38b13"
+ integrity sha512-COfEXfsqoV/BkcsNLRxQqnWc1Teb8/9GxdGag5GtPC5gQC/vsN+7hYVJUwNxY9LtJPKYTij2DHHnx6UkITng+Q==
+ dependencies:
+ web3-core "1.5.3"
+ web3-core-method "1.5.3"
+ web3-core-subscriptions "1.5.3"
+ web3-net "1.5.3"
+
+web3-shh@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.6.1.tgz#eebaab2e5e6be80fe2585c6c094fa10a03349ca7"
+ integrity sha512-oP00HbAtybLCGlLOZUYXOdeB9xq88k2l0TtStvKBtmFqRt+zVk5TxEeuOnVPRxNhcA2Un8RUw6FtvgZlWStu9A==
+ dependencies:
+ web3-core "1.6.1"
+ web3-core-method "1.6.1"
+ web3-core-subscriptions "1.6.1"
+ web3-net "1.6.1"
+
+web3-utils@1.2.9:
+ version "1.2.9"
+ resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.9.tgz#abe11735221627da943971ef1a630868fb9c61f3"
+ integrity sha512-9hcpuis3n/LxFzEVjwnVgvJzTirS2S9/MiNAa7l4WOEoywY+BSNwnRX4MuHnjkh9NY25B6QOjuNG6FNnSjTw1w==
+ dependencies:
+ bn.js "4.11.8"
+ eth-lib "0.2.7"
+ ethereum-bloom-filters "^1.0.6"
+ ethjs-unit "0.1.6"
+ number-to-bn "1.7.0"
+ randombytes "^2.1.0"
+ underscore "1.9.1"
+ utf8 "3.0.0"
+
+web3-utils@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.3.6.tgz#390bc9fa3a7179746963cfaca55bb80ac4d8dc10"
+ integrity sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==
+ dependencies:
+ bn.js "^4.11.9"
+ eth-lib "0.2.8"
+ ethereum-bloom-filters "^1.0.6"
+ ethjs-unit "0.1.6"
+ number-to-bn "1.7.0"
+ randombytes "^2.1.0"
+ underscore "1.12.1"
+ utf8 "3.0.0"
+
+web3-utils@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.5.3.tgz#e914c9320cd663b2a09a5cb920ede574043eb437"
+ integrity sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==
+ dependencies:
+ bn.js "^4.11.9"
+ eth-lib "0.2.8"
+ ethereum-bloom-filters "^1.0.6"
+ ethjs-unit "0.1.6"
+ number-to-bn "1.7.0"
+ randombytes "^2.1.0"
+ utf8 "3.0.0"
+
+web3-utils@1.6.1, web3-utils@^1.0.0-beta.31:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.6.1.tgz#befcb23922b00603ab56d8c5b4158468dc494aca"
+ integrity sha512-RidGKv5kOkcerI6jQqDFDoTllQQqV+rPhTzZHhmbqtFObbYpU93uc+yG1LHivRTQhA6llIx67iudc/vzisgO+w==
+ dependencies:
+ bn.js "^4.11.9"
+ ethereum-bloom-filters "^1.0.6"
+ ethereumjs-util "^7.1.0"
+ ethjs-unit "0.1.6"
+ number-to-bn "1.7.0"
+ randombytes "^2.1.0"
+ utf8 "3.0.0"
+
+web3@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3/-/web3-1.3.6.tgz#599425461c3f9a8cbbefa70616438995f4a064cc"
+ integrity sha512-jEpPhnL6GDteifdVh7ulzlPrtVQeA30V9vnki9liYlUvLV82ZM7BNOQJiuzlDePuE+jZETZSP/0G/JlUVt6pOA==
+ dependencies:
+ web3-bzz "1.3.6"
+ web3-core "1.3.6"
+ web3-eth "1.3.6"
+ web3-eth-personal "1.3.6"
+ web3-net "1.3.6"
+ web3-shh "1.3.6"
+ web3-utils "1.3.6"
+
+web3@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/web3/-/web3-1.5.3.tgz#11882679453c645bf33620fbc255a243343075aa"
+ integrity sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==
+ dependencies:
+ web3-bzz "1.5.3"
+ web3-core "1.5.3"
+ web3-eth "1.5.3"
+ web3-eth-personal "1.5.3"
+ web3-net "1.5.3"
+ web3-shh "1.5.3"
+ web3-utils "1.5.3"
+
+web3@^1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/web3/-/web3-1.6.1.tgz#c9e68fe7b3073adddf35393441f950ec69b92735"
+ integrity sha512-c299lLiyb2/WOcxh7TinwvbATaMmrgNIeAzbLbmOKHI0LcwyfsB1eu2ReOIrfrCYDYRW2KAjYr7J7gHawqDNPQ==
+ dependencies:
+ web3-bzz "1.6.1"
+ web3-core "1.6.1"
+ web3-eth "1.6.1"
+ web3-eth-personal "1.6.1"
+ web3-net "1.6.1"
+ web3-shh "1.6.1"
+ web3-utils "1.6.1"
+
+webidl-conversions@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-2.0.1.tgz#3bf8258f7d318c7443c36f2e169402a1a6703506"
+ integrity sha1-O/glj30xjHRDw28uFpQCoaZwNQY=
+
+webidl-conversions@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
+ integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=
+
+webpack-sources@^1.0.1:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
+ integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
+ dependencies:
+ source-list-map "^2.0.0"
+ source-map "~0.6.1"
+
+webpack@^3.0.0:
+ version "3.12.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.12.0.tgz#3f9e34360370602fcf639e97939db486f4ec0d74"
+ integrity sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==
+ dependencies:
+ acorn "^5.0.0"
+ acorn-dynamic-import "^2.0.0"
+ ajv "^6.1.0"
+ ajv-keywords "^3.1.0"
+ async "^2.1.2"
+ enhanced-resolve "^3.4.0"
+ escope "^3.6.0"
+ interpret "^1.0.0"
+ json-loader "^0.5.4"
+ json5 "^0.5.1"
+ loader-runner "^2.3.0"
+ loader-utils "^1.1.0"
+ memory-fs "~0.4.1"
+ mkdirp "~0.5.0"
+ node-libs-browser "^2.0.0"
+ source-map "^0.5.3"
+ supports-color "^4.2.1"
+ tapable "^0.2.7"
+ uglifyjs-webpack-plugin "^0.4.6"
+ watchpack "^1.4.0"
+ webpack-sources "^1.0.1"
+ yargs "^8.0.2"
+
+websocket@^1.0.31, websocket@^1.0.32:
+ version "1.0.34"
+ resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111"
+ integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==
+ dependencies:
+ bufferutil "^4.0.1"
+ debug "^2.2.0"
+ es5-ext "^0.10.50"
+ typedarray-to-buffer "^3.1.5"
+ utf-8-validate "^5.0.2"
+ yaeti "^0.0.6"
+
+websql@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/websql/-/websql-1.0.0.tgz#1bd00b27392893134715d5dd6941fd89e730bab5"
+ integrity sha512-7iZ+u28Ljw5hCnMiq0BCOeSYf0vCFQe/ORY0HgscTiKjQed8WqugpBUggJ2NTnB9fahn1kEnPRX2jf8Px5PhJw==
+ dependencies:
+ argsarray "^0.0.1"
+ immediate "^3.2.2"
+ noop-fn "^1.0.0"
+ sqlite3 "^4.0.0"
+ tiny-queue "^0.2.1"
+
+whatwg-fetch@>=0.10.0, whatwg-fetch@^3.0.0:
+ version "3.6.2"
+ resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c"
+ integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==
+
+whatwg-url-compat@~0.6.5:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/whatwg-url-compat/-/whatwg-url-compat-0.6.5.tgz#00898111af689bb097541cd5a45ca6c8798445bf"
+ integrity sha1-AImBEa9om7CXVBzVpFymyHmERb8=
+ dependencies:
+ tr46 "~0.0.1"
+
+whatwg-url@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
+ integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0=
+ dependencies:
+ tr46 "~0.0.3"
+ webidl-conversions "^3.0.0"
+
+which-boxed-primitive@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
+ integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
+ 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"
+
+which-module@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
+ integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=
+
+which-module@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
+ integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
+
+which-typed-array@^1.1.2:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.7.tgz#2761799b9a22d4b8660b3c1b40abaa7739691793"
+ integrity sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==
+ dependencies:
+ available-typed-arrays "^1.0.5"
+ call-bind "^1.0.2"
+ es-abstract "^1.18.5"
+ foreach "^2.0.5"
+ has-tostringtag "^1.0.0"
+ is-typed-array "^1.1.7"
+
+which@1.3.1, which@^1.2.14, which@^1.2.9:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+ integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
+ dependencies:
+ isexe "^2.0.0"
+
+which@2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
+wide-align@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
+ integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
+ dependencies:
+ string-width "^1.0.2 || 2"
+
+wide-align@^1.1.0:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
+ integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
+ dependencies:
+ string-width "^1.0.2 || 2 || 3 || 4"
+
+wif@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/wif/-/wif-2.0.6.tgz#08d3f52056c66679299726fade0d432ae74b4704"
+ integrity sha1-CNP1IFbGZnkplyb63g1DKudLRwQ=
+ dependencies:
+ bs58check "<3.0.0"
+
+window-size@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
+ integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=
+
+window-size@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075"
+ integrity sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=
+
+word-wrap@~1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
+ integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+
+wordwrap@0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
+ integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=
+
+wordwrap@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+ integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
+
+workerpool@6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.0.tgz#85aad67fa1a2c8ef9386a1b43539900f61d03d58"
+ integrity sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA==
+
+wrap-ansi@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
+ integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+
+wrap-ansi@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
+ integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
+ dependencies:
+ ansi-styles "^3.2.0"
+ string-width "^3.0.0"
+ strip-ansi "^5.0.0"
+
+wrap-ansi@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
+ integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+
+write-file-atomic@^2.3.0:
+ version "2.4.3"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481"
+ integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==
+ dependencies:
+ graceful-fs "^4.1.11"
+ imurmurhash "^0.1.4"
+ signal-exit "^3.0.2"
+
+write-stream@~0.4.3:
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/write-stream/-/write-stream-0.4.3.tgz#83cc8c0347d0af6057a93862b4e3ae01de5c81c1"
+ integrity sha1-g8yMA0fQr2BXqThitOOuAd5cgcE=
+ dependencies:
+ readable-stream "~0.0.2"
+
+ws@7.4.5:
+ version "7.4.5"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1"
+ integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==
+
+ws@7.4.6:
+ version "7.4.6"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
+ integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
+
+ws@^1.1.0, ws@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51"
+ integrity sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==
+ dependencies:
+ options ">=0.0.5"
+ ultron "1.0.x"
+
+ws@^3.0.0:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
+ integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==
+ dependencies:
+ async-limiter "~1.0.0"
+ safe-buffer "~5.1.0"
+ ultron "~1.1.0"
+
+"ws@^5.2.0 || ^6.0.0 || ^7.0.0", ws@^7, ws@^7.2.1, ws@^7.3.1, ws@^7.4.3, ws@^7.5.0:
+ version "7.5.6"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b"
+ integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==
+
+ws@^5.2.2:
+ version "5.2.3"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d"
+ integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==
+ dependencies:
+ async-limiter "~1.0.0"
+
+ws@^6.1.4:
+ version "6.2.2"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e"
+ integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==
+ dependencies:
+ async-limiter "~1.0.0"
+
+xcode@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/xcode/-/xcode-2.1.0.tgz#bab64a7e954bb50ca8d19da7e09531c65a43ecfe"
+ integrity sha512-uCrmPITrqTEzhn0TtT57fJaNaw8YJs1aCzs+P/QqxsDbvPZSv7XMPPwXrKvHtD6pLjBM/NaVwraWJm8q83Y4iQ==
+ dependencies:
+ simple-plist "^1.0.0"
+ uuid "^3.3.2"
+
+xcode@^3.0.0, xcode@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/xcode/-/xcode-3.0.1.tgz#3efb62aac641ab2c702458f9a0302696146aa53c"
+ integrity sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==
+ dependencies:
+ simple-plist "^1.1.0"
+ uuid "^7.0.3"
+
+xhr-request-promise@^0.1.2:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c"
+ integrity sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==
+ dependencies:
+ xhr-request "^1.1.0"
+
+xhr-request@^1.0.1, xhr-request@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed"
+ integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==
+ dependencies:
+ buffer-to-arraybuffer "^0.0.5"
+ object-assign "^4.1.1"
+ query-string "^5.0.1"
+ simple-get "^2.7.0"
+ timed-out "^4.0.1"
+ url-set-query "^1.0.0"
+ xhr "^2.0.4"
+
+xhr2-cookies@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz#7d77449d0999197f155cb73b23df72505ed89d48"
+ integrity sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=
+ dependencies:
+ cookiejar "^2.1.1"
+
+xhr@^2.0.4, xhr@^2.3.3:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d"
+ integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==
+ dependencies:
+ global "~4.4.0"
+ is-function "^1.0.1"
+ parse-headers "^2.0.0"
+ xtend "^4.0.0"
+
+xml-js@^1.6.11:
+ version "1.6.11"
+ resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9"
+ integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==
+ dependencies:
+ sax "^1.2.4"
+
+"xml-name-validator@>= 2.0.1 < 3.0.0":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635"
+ integrity sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=
+
+xml2js@0.4.23, xml2js@^0.4.23:
+ version "0.4.23"
+ resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66"
+ integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==
+ dependencies:
+ sax ">=0.6.0"
+ xmlbuilder "~11.0.0"
+
+xmlbuilder@^14.0.0:
+ version "14.0.0"
+ resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-14.0.0.tgz#876b5aec4f05ffd5feb97b0a871c855d16fbeb8c"
+ integrity sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg==
+
+xmlbuilder@^9.0.7:
+ version "9.0.7"
+ resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
+ integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=
+
+xmlbuilder@~11.0.0:
+ version "11.0.1"
+ resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
+ integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
+
+xmldoc@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/xmldoc/-/xmldoc-1.1.2.tgz#6666e029fe25470d599cd30e23ff0d1ed50466d7"
+ integrity sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==
+ dependencies:
+ sax "^1.2.1"
+
+xmlhttprequest@1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc"
+ integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=
+
+xpipe@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf"
+ integrity sha1-jdi/Rfw/f1Xw4FS4ePQ6YmFNr98=
+
+xss@^1.0.8:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.10.tgz#5cd63a9b147a755a14cb0455c7db8866120eb4d2"
+ integrity sha512-qmoqrRksmzqSKvgqzN0055UFWY7OKx1/9JWeRswwEVX9fCG5jcYRxa/A2DHcmZX6VJvjzHRQ2STeeVcQkrmLSw==
+ dependencies:
+ commander "^2.20.3"
+ cssfilter "0.0.10"
+
+"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+ integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+
+y18n@^3.2.1:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696"
+ integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==
+
+y18n@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
+ integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
+
+yaeti@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577"
+ integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=
+
+yallist@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+ integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
+
+yallist@^3.0.0, yallist@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
+ integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+
+yargs-parser@13.1.2, yargs-parser@^13.1.0, yargs-parser@^13.1.2:
+ version "13.1.2"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
+ integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
+ dependencies:
+ camelcase "^5.0.0"
+ decamelize "^1.2.0"
+
+yargs-parser@^15.0.1:
+ version "15.0.3"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.3.tgz#316e263d5febe8b38eef61ac092b33dfcc9b1115"
+ integrity sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==
+ dependencies:
+ camelcase "^5.0.0"
+ decamelize "^1.2.0"
+
+yargs-parser@^18.1.2:
+ version "18.1.3"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
+ integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
+ dependencies:
+ camelcase "^5.0.0"
+ decamelize "^1.2.0"
+
+yargs-parser@^2.4.0, yargs-parser@^2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4"
+ integrity sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=
+ dependencies:
+ camelcase "^3.0.0"
+ lodash.assign "^4.0.6"
+
+yargs-parser@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"
+ integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k=
+ dependencies:
+ camelcase "^4.1.0"
+
+yargs-unparser@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f"
+ integrity sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==
+ dependencies:
+ flat "^4.1.0"
+ lodash "^4.17.15"
+ yargs "^13.3.0"
+
+yargs-unparser@1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.1.tgz#bd4b0ee05b4c94d058929c32cb09e3fce71d3c5f"
+ integrity sha512-qZV14lK9MWsGCmcr7u5oXGH0dbGqZAIxTDrWXZDo5zUr6b6iUmelNKO6x6R1dQT24AH3LgRxJpr8meWy2unolA==
+ dependencies:
+ camelcase "^5.3.1"
+ decamelize "^1.2.0"
+ flat "^4.1.0"
+ is-plain-obj "^1.1.0"
+ yargs "^14.2.3"
+
+yargs@13.2.4:
+ version "13.2.4"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83"
+ integrity sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==
+ dependencies:
+ cliui "^5.0.0"
+ find-up "^3.0.0"
+ get-caller-file "^2.0.1"
+ os-locale "^3.1.0"
+ require-directory "^2.1.1"
+ require-main-filename "^2.0.0"
+ set-blocking "^2.0.0"
+ string-width "^3.0.0"
+ which-module "^2.0.0"
+ y18n "^4.0.0"
+ yargs-parser "^13.1.0"
+
+yargs@13.3.2, yargs@^13.3.0:
+ version "13.3.2"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
+ integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
+ dependencies:
+ cliui "^5.0.0"
+ find-up "^3.0.0"
+ get-caller-file "^2.0.1"
+ require-directory "^2.1.1"
+ require-main-filename "^2.0.0"
+ set-blocking "^2.0.0"
+ string-width "^3.0.0"
+ which-module "^2.0.0"
+ y18n "^4.0.0"
+ yargs-parser "^13.1.2"
+
+yargs@4.6.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.6.0.tgz#cb4050c0159bfb6bb649c0f4af550526a84619dc"
+ integrity sha1-y0BQwBWb+2u2ScD0r1UFJqhGGdw=
+ dependencies:
+ camelcase "^2.0.1"
+ cliui "^3.2.0"
+ decamelize "^1.1.1"
+ lodash.assign "^4.0.3"
+ os-locale "^1.4.0"
+ pkg-conf "^1.1.2"
+ read-pkg-up "^1.0.1"
+ require-main-filename "^1.0.1"
+ string-width "^1.0.1"
+ window-size "^0.2.0"
+ y18n "^3.2.1"
+ yargs-parser "^2.4.0"
+
+yargs@^14.2.0, yargs@^14.2.3:
+ version "14.2.3"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414"
+ integrity sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==
+ dependencies:
+ cliui "^5.0.0"
+ decamelize "^1.2.0"
+ find-up "^3.0.0"
+ get-caller-file "^2.0.1"
+ require-directory "^2.1.1"
+ require-main-filename "^2.0.0"
+ set-blocking "^2.0.0"
+ string-width "^3.0.0"
+ which-module "^2.0.0"
+ y18n "^4.0.0"
+ yargs-parser "^15.0.1"
+
+yargs@^15.1.0, yargs@^15.3.1:
+ version "15.4.1"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
+ integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
+ dependencies:
+ cliui "^6.0.0"
+ decamelize "^1.2.0"
+ find-up "^4.1.0"
+ get-caller-file "^2.0.1"
+ require-directory "^2.1.1"
+ require-main-filename "^2.0.0"
+ set-blocking "^2.0.0"
+ string-width "^4.2.0"
+ which-module "^2.0.0"
+ y18n "^4.0.0"
+ yargs-parser "^18.1.2"
+
+yargs@^4.7.1:
+ version "4.8.1"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0"
+ integrity sha1-wMQpJMpKqmsObaFznfshZDn53cA=
+ dependencies:
+ cliui "^3.2.0"
+ decamelize "^1.1.1"
+ get-caller-file "^1.0.1"
+ lodash.assign "^4.0.3"
+ os-locale "^1.4.0"
+ read-pkg-up "^1.0.1"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^1.0.1"
+ which-module "^1.0.0"
+ window-size "^0.2.0"
+ y18n "^3.2.1"
+ yargs-parser "^2.4.1"
+
+yargs@^8.0.2:
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"
+ integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A=
+ dependencies:
+ camelcase "^4.1.0"
+ cliui "^3.2.0"
+ decamelize "^1.1.1"
+ get-caller-file "^1.0.1"
+ os-locale "^2.0.0"
+ read-pkg-up "^2.0.0"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^2.0.0"
+ which-module "^2.0.0"
+ y18n "^3.2.1"
+ yargs-parser "^7.0.0"
+
+yargs@~3.10.0:
+ version "3.10.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
+ integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=
+ dependencies:
+ camelcase "^1.0.2"
+ cliui "^2.1.0"
+ decamelize "^1.0.0"
+ window-size "0.1.0"
+
+yn@3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
+ integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
+
+yocto-queue@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+ integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
+
+zen-observable-ts@^0.8.21:
+ version "0.8.21"
+ resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz#85d0031fbbde1eba3cd07d3ba90da241215f421d"
+ integrity sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==
+ dependencies:
+ tslib "^1.9.3"
+ zen-observable "^0.8.0"
+
+zen-observable-ts@^1.2.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.3.tgz#c2f5ccebe812faf0cfcde547e6004f65b1a6d769"
+ integrity sha512-hc/TGiPkAWpByykMwDcem3SdUgA4We+0Qb36bItSuJC9xD0XVBZoFHYoadAomDSNf64CG8Ydj0Qb8Od8BUWz5g==
+ dependencies:
+ zen-observable "0.8.15"
+
+zen-observable@0.8.15, zen-observable@^0.8.0:
+ version "0.8.15"
+ resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15"
+ integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==
]